Tooluck logoTooluck
SKILL.md

ltx-director

Agent skill fromartokun/comfyui-mcp

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).

How to install ltx-director

install ltx-director
# install the comfyui-mcp pack with the skills CLI
npx skills add artokun/comfyui-mcp

# or add only this skill to Claude Code: copy the folder

plugin/skills/ltx-director/

# into

~/.claude/skills/ltx-director/ (all projects)

.claude/skills/ltx-director/ (one project)

plugin/skills/ltx-director/SKILL.md

MITFull file
1# LTX Director (Timeline)
2
3`LTXDirector` (pack: **WhatDreamsCost-ComfyUI**, category `WhatDreamsCost`) is a
4video *timeline editor* node. Its on-canvas UI has **Add Image**, **Add Text**
5and **Add Audio** buttons.
6
7## You cannot click those buttons. Don't try.
8
9They are not node inputs. The pack builds them as raw DOM elements with JS
10handlers:
11
12```js
13addTextBtn.addEventListener("click", () => this.addTextSegmentFreeSpace());
14```
15
16Panel/MCP tools drive the LiteGraph **node model** (widgets + inputs). They
17cannot invoke arbitrary DOM handlers, so "click Add Text" is impossible. This
18is a hard limitation, not flakiness. Say so plainly rather than retrying.
19
20## The real control surface: `timeline_data`
21
22Everything those buttons do is serialized into ONE string widget, `timeline_data`.
23The pack's own code treats it as *"the absolute source of truth"*. Set it and the
24editor renders it.
25
26It is listed in the pack's `HIDDEN_WIDGET_NAMES`, so it does **not** appear in the
27node's visible widget list, but it is an ordinary input and is settable:
28
29```
30create_workflow(action="modify", workflow=<the graph>, operations=[
31 { op: "set_input", node_id: "42",
32 input_name: "timeline_data", value: "<json string>" },
33])
34```
35
36The value is a JSON **string**, not an object. Empty state is `"{}"`.
37
38Sibling hidden widgets: `local_prompts`, `segment_lengths`, `guide_strength`,
39`audio_data`, `use_custom_audio`, `inpaint_audio`, `use_custom_motion`,
40`override_audio`.
41…

Excerpt shown under the repository's MIT license.

More skills in comfyui-mcp

Keep exploring

Similar skill repositories

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates