Install any skill in seconds. Free to start, no credit card required.
Get Started Free →artokun/ltx-director
Drive the LTX Director (Timeline) node — its Add Image/Text/Audio buttons are DOM-only and cannot be clicked by an agent; edit the hidden timeline_data JSON widget instead. Load when a workflow contains LTXDirector / LTXDirectorGuide / PromptRelayEncodeTimeline, or when asked to add, move, retime, or remove timeline segments (image / text / audio / motion).
Passed 20 of 22 test cases with the skill, and 7 of 22 without it.
and 16 more in the full report
14 fixed8 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
Name two hidden state widgets on the LTX Director node other than timeline_data.
| Checked | Without skill | With skill |
|---|---|---|
| Identifies at least two sibling hidden widgets such as local_prompts, segment_lengths, guide_strength, audio_data, use_custom_audio, inpaint_audio, use_custom_motion, or override_audio. | Missed | Passed |
The instructions your model reads when the skill loads.
LTXDirector (pack: WhatDreamsCost-ComfyUI, category WhatDreamsCost) is a
video timeline editor node. Its on-canvas UI has Add Image, Add Text
and Add Audio buttons.
They are not node inputs. The pack builds them as raw DOM elements with JS handlers:
addTextBtn.addEventListener("click", () => this.addTextSegmentFreeSpace());
Panel/MCP tools drive the LiteGraph node model (widgets + inputs). They cannot invoke arbitrary DOM handlers, so "click Add Text" is impossible. This is a hard limitation, not flakiness. Say so plainly rather than retrying.
timeline_dataEverything those buttons do is serialized into ONE string widget, timeline_data.
The pack's own code treats it as "the absolute source of truth". Set it and the
editor renders it.
It is listed in the pack's HIDDEN_WIDGET_NAMES, so it does not appear in the
node's visible widget list, but it is an ordinary input and is settable:
create_workflow(action="modify", workflow=<the graph>, operations=[
{ op: "set_input", node_id: "42",
input_name: "timeline_data", value: "<json string>" },
])
The value is a JSON string, not an object. Empty state is "{}".
Sibling hidden widgets: local_prompts, segment_lengths, guide_strength,
audio_data, use_custom_audio, inpaint_audio, use_custom_motion,
override_audio.
test cases passed, vs 7 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.