Agent skill

Director

by artokun in artokun/comfyui-mcp

Full production pipeline covering story to scenes, Z-Image start frames, Qwen Edit end frames, WAN FLF video clips, ffmpeg concatenation

MITAuto-check passedMedia & Creative

Install Director

skills CLI
$ npx skills add artokun/comfyui-mcp --skill director -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install artokun/comfyui-mcp director --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/director .claude/skills/director && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
director
GitHub stars
800
Token cost
~4.5k tokens
SKILL.md length
1,696 words
Files
1
Skills in repo
42
Repo updated
First seen
Licence
MIT

At a glance

Full production pipeline covering story to scenes, Z-Image start frames, Qwen Edit end frames, WAN FLF video clips, ffmpeg concatenation

  • Works in 8 steps: Story Planning → Hero + Character References — Z-Image → Hero Review → …
  • Tasks that involve Video production
  • SKILL.md covers Overview, CRITICAL: Inspect modes +…, CRITICAL: Character Consistency and 8-Phase Pipeline, plus 14 more sections
  • Calls ffmpeg

What it does

Director is an agent skill from artokun/comfyui-mcp. Full production pipeline covering story to scenes, Z-Image start frames, Qwen Edit end frames, WAN FLF video clips, ffmpeg concatenation

Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Video production. It works with Qwen and FFmpeg. The repository describes itself as: Local-first, agent-native control plane for ComfyUI — MCP server + sidebar agent that generates images, video & audio, authors and runs workflows, and edits your live graph in… The licence is MIT.

When your agent uses it

  • Tasks that involve Video production

Example prompts

  • “/director”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Story Planning
  2. Hero + Character References — Z-Image
  3. Hero Review
  4. Edit Chain — Qwen Image Edit
  5. Frame Review
  6. Video Clip Generation — WAN 2.2 FLF Dual Hi-Lo
  7. Video Review
  8. Final Assembly — ffmpeg Concat

What it can do on your machine

Read from SKILL.md and the folder at commit 6ad6fc0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • ffmpeg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Director loads about 4.5k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,696 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from artokun/comfyui-mcp at commit 6ad6fc0, republished under its MIT licence (© artokun). 1,696 words, ~4,536 tokens.

Download SKILL.mdSave it as .claude/skills/director/SKILL.md (or your agent's skills folder).
name
director
description
Full production pipeline covering story to scenes, Z-Image start frames, Qwen Edit end frames, WAN FLF video clips, ffmpeg concatenation
globs
**/*.json

Director — Story-to-Video Production Pipeline

Overview

The Director skill runs a complete short film production from a text story. It breaks the story into scenes, generates start/end frames for each, creates video clips from frame pairs, and concatenates everything into a final video.

The pipeline runs Story Planning → Z-Image Hero + Character Refs → Qwen Edit Chain (all frames) → WAN 2.2 FLF Video Clips → ffmpeg Concatenation.

Key architectural decisions:

  • 1 hero frame + edit chain for character consistency (NEVER independent Z-Image per scene)
  • Inter-scene frame continuity. Scene N's end frame IS Scene N+1's start frame (same image file, no edit gap)
  • Character reference images fed into Qwen Edit's extra image slots
  • State file persists to disk for context compaction survival
  • Each scene is independently retryable without affecting others
  • clear_vram between every model family switch

CRITICAL: Inspect modes + verify every output

This pipeline drives the user's live canvas across many stages, so two habits are non-negotiable:

  • Inspect node modes before each render. After loading any pack/template/subgraph and before panel_run, check each node's mode (panel_graph_outline marks [bypass]/[mute]; panel_query_graph detail rows carry it). A bypass node is skipped (passes input through); a mute node and everything downstream don't execute. If the path, branch, or switch you need is bypassed or muted, enable it with panel_set_node_mode (set the wanted node active, the unwanted one bypass/mute). Never assume a switch or route is already active.
  • Verify the output matches before moving on. Every Phase-N render is a gate. Look at the produced frame or clip (view it) and confirm it matches the intent BEFORE advancing or reporting progress. If it's wrong, diagnose (wrong prompt path? a bypassed/muted builder or switch? wrong widget? wrong ref image?), fix, and rerun. Do NOT declare a phase done or report progress you haven't verified.
  • Confirm VIDEO renders via the filesystem, not /history. For a VHS_VideoCombine / LTX / WAN clip, do NOT rely on get_history / queue (action:"status") to confirm it exists. VHS-style video nodes write the .mp4 but frequently do NOT register an output in ComfyUI's /history (prompt shows done, empty outputs, no error). Confirm the file with get_image (action:"list_outputs") (now lists videos too, tagged kind: "video") by filename_prefix + fresh mtime, then chain it forward with upload_image (action:"stage").
  • Bypass completed stages before queuing the next one. If you build the multi-stage pipeline on ONE canvas (e.g. Krea2 → LTX → WAN) rather than running each phase in isolation, once a stage has run and its output is captured/staged, panel_set_node_mode(mode:"bypass") that stage's nodes BEFORE you panel_run the next stage. Otherwise panel_run re-executes the whole graph and you pay for and wait on already-finished work, a real and costly failure mode. Keep only the active stage live; feed the prior output forward with upload_image (action:"stage") (bypass the producer, feed its captured output to the consumer's loader).

CRITICAL: Character Consistency

Independent Z-Image generations per scene produce different-looking characters. This was the #1 problem discovered during testing. The solution:

  1. Generate ONE hero frame with Z-Image. It establishes the main character, setting, and lighting
  2. Generate character reference images: close-up portraits of each character, key props, and the background
  3. Create ALL other scene frames via the Qwen Edit chain from the hero, with character refs in extra image slots
  4. This keeps the same face, clothing, and environment across every frame

8-Phase Pipeline

Phase 1: Story Planning       → Break story into scenes (Claude reasoning, no ComfyUI)
Phase 2: Hero + Refs          → Z-Image: 1 hero frame + character ref portraits + background ref
Phase 3: Hero Review          → Visual verify hero and refs, user approves
Phase 4: Edit Chain           → Qwen Edit: chain ALL scene frames from hero (with char refs in slots 2-3)
Phase 5: Frame Review         → Visual verify all frames, approve/reject/retry
Phase 6: Video Clips          → WAN 2.2 FLF dual Hi-Lo (one clip per scene)
Phase 7: Video Review         → Preview each clip
Phase 8: Final Assembly       → ffmpeg concat all clips into one MP4

State File Format

Saved at ~/code/comfyui-mcp/workflows/director_state_{project_id}.json. Updated after every edit or phase completion.

json
{
  "project_id": "story_20260216_143022",
  "created": "2026-02-16T14:30:22Z",
  "story": "Original user story text",
  "current_phase": 4,
  "orientation": "portrait",
  "hero_frame": { "file": "director_hero_00001_.png", "seed": 428571, "approved": true },
  "character_refs": {
    "man": "director_ref_man.png",
    "cat": "director_ref_cat.png",
    "woman": "director_ref_woman.png",
    "background": "director_ref_bedroom.png"
  },
  "scenes": [
    {
      "id": 1,
      "description": "Brief scene description",
      "edit_prompt_start": "Qwen Edit instruction to create start frame from source",
      "edit_prompt_end": "Qwen Edit instruction to create end frame from source",
      "edit_source_start": "hero",
      "edit_source_end": "hero",
      "video_prompt": "WAN motion description",
      "start_frame": { "file": "director_s1_start_00001_.png", "seed": 12345, "approved": true },
      "end_frame": { "file": "director_hero_00001_.png", "seed": null, "approved": true },
      "video_clip": { "file": "director_s1_00001.mp4", "seed": 11111, "approved": false },
      "status": "video_pending"
    }
  ],
  "final_video": null,
  "settings": {
    "start_frame_resolution": [832, 1472],
    "video_resolution": [480, 720],
    "video_frames": 81,
    "video_fps": 16
  }
}

Models Used Per Phase

PhaseModel FamilyKey ModelsVRAM
2: Hero + RefsZ-ImageredcraftRedzimageUpdatedJAN30_redzibDX1.safetensors~17GB
4: Edit ChainQwen Editqwen_image_edit_2511_bf16.safetensors + Lightning LoRA~17-18GB
6: Video ClipsWAN 2.2 I2VRemix NSFW Hi+Lo (built-in lightning)~22-24GB

CRITICAL: clear_vram between every model family switch.

Phase 1: Story Planning

Break the story into 2 to 6 scenes. For each scene, identify:

  • description: what happens (1 to 2 sentences)
  • start frame: what the opening frame looks like
  • end frame: what the closing frame looks like
  • video_prompt: motion description for FLF transition

Identify a hero frame, the single most representative scene image that establishes the main character and setting. This hero will anchor all other frames via Qwen Edit.

Also identify which character reference images are needed (portraits of each character, key props, background).

CRITICAL: Inter-Scene Frame Continuity

The end frame of Scene N must be the EXACT same image file as the start frame of Scene N+1. Do NOT create separate Qwen-edited start frames for subsequent scenes. That causes visible jumps at scene boundaries when the videos are concatenated.

The frame chain for video generation:

Scene 1: S1_start (unique)        → hero (end)
Scene 2: hero (= S1 end)          → S2_end
Scene 3: S2_end (= S2 end)        → S3_end
Scene 4: S3_end (= S3 end)        → S4_end
Scene 5: S4_end (= S4 end)        → S5_end

Only Scene 1 needs a unique start frame. All other scenes inherit their start from the previous scene's end.

Edit Chain Planning

The edit chain produces only end frames (plus Scene 1's unique start frame). Map which end frame derives from which source:

  • Some end frames edit directly from the hero
  • Later end frames may chain from earlier end frames
  • Keep chains shallow (max 4 to 5 deep) to minimize drift

Example chain:

Hero (man+cat on bed)
  ├─ S1 Start: edit hero → remove cat, man alone
  ├─ S2 End: edit hero → replace cat with woman
  │    └─ S3 End: edit S2End → both sit up, man startled
  │         └─ S4 End: edit S3End → sitting close, warm smiles
  │              └─ S5 End: edit S4End → warm embrace

Phase 2: Hero + Character References — Z-Image

Generate with Z-Image RedCraft DX1 (10 steps, CFG 1, euler/simple):

  1. Hero frame: the establishing shot with main character + key elements
  2. Character ref portraits: close-up of each character (man, woman, animal, etc.)
  3. Background ref: the setting without characters

Add to negative prompts for character refs to exclude wrong subjects (e.g., "woman, female" when generating man portrait).

Hero Frame Workflow Template
json
{
  "1": { "class_type": "CheckpointLoaderSimple", "inputs": { "ckpt_name": "redcraftRedzimageUpdatedJAN30_redzibDX1.safetensors" }},
  "2": { "class_type": "CLIPTextEncode", "inputs": { "clip": ["1", 1], "text": "<hero_prompt>" }, "_meta": { "title": "Positive" }},
  "3": { "class_type": "CLIPTextEncode", "inputs": { "clip": ["1", 1], "text": "3D, ai generated, semi realistic, illustrated, drawing, comic, digital painting, 3D model, blender, video game screenshot, render, smooth textures, CGI, text, writing, subtitle, watermark, logo, blurry, low quality, jpeg artifacts, grainy" }, "_meta": { "title": "Negative" }},
  "4": { "class_type": "EmptyLatentImage", "inputs": { "width": 832, "height": 1472, "batch_size": 1 }},
  "5": { "class_type": "KSampler", "inputs": {
    "model": ["1", 0], "positive": ["2", 0], "negative": ["3", 0], "latent_image": ["4", 0],
    "seed": 42, "steps": 10, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 1
  }},
  "6": { "class_type": "VAEDecode", "inputs": { "samples": ["5", 0], "vae": ["1", 2] }},
  "7": { "class_type": "SaveImage", "inputs": { "images": ["6", 0], "filename_prefix": "director_hero" }}
}

Queue hero + all refs while Z-Image checkpoint is loaded (same checkpoint, different prompts).

Phase 3: Hero Review

Show hero frame and all character refs. User approves or requests regeneration with new seed.

Phase 4: Edit Chain — Qwen Image Edit

CRITICAL: Consistency Rules for Edit Prompts
  1. Always explicitly anchor clothing. "The man wears his grey t-shirt" in EVERY prompt
  2. Always state what doesn't change. "Same bedroom, same warm lighting, same clothing"
  3. Use strong emotion words. "extremely shocked and startled" >> "surprised"
  4. Include proportionality. "Her head and body should be proportional and natural looking"
  5. Prevent head enlargement. In embrace/close-up poses, Qwen Edit tends to enlarge heads. Add an explicit "do not enlarge her head, keep the same small natural size as in the original image"
  6. Describe the transformation, not just the end state
Show full SKILL.md (680 more words)Show less
Workflow Template (with Character Reference Slots)
json
{
  "1": { "class_type": "UNETLoader", "inputs": { "unet_name": "qwen_image_edit_2511_bf16.safetensors", "weight_dtype": "default" }},
  "2": { "class_type": "LoraLoaderModelOnly", "inputs": { "model": ["1", 0], "lora_name": "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors", "strength_model": 1 }},
  "3": { "class_type": "CLIPLoader", "inputs": { "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors", "type": "qwen_image" }},
  "4": { "class_type": "VAELoader", "inputs": { "vae_name": "qwen_image_vae.safetensors" }},
  "5": { "class_type": "LoadImage", "inputs": { "image": "<source_scene.png>" }, "_meta": { "title": "Source Scene" }},
  "5b": { "class_type": "LoadImage", "inputs": { "image": "<character_ref.png>" }, "_meta": { "title": "Character Ref" }},
  "5c": { "class_type": "LoadImage", "inputs": { "image": "<background_ref.png>" }, "_meta": { "title": "Background Ref" }},
  "6": { "class_type": "TextEncodeQwenImageEditPlusAdvance_lrzjason", "inputs": {
    "clip": ["3", 0], "prompt": "<edit_prompt>", "vae": ["4", 0],
    "vl_resize_image1": ["5", 0],
    "vl_resize_image2": ["5b", 0],
    "vl_resize_image3": ["5c", 0],
    "target_size": 1024, "target_vl_size": 384,
    "upscale_method": "lanczos", "crop_method": "pad"
  }},
  "7": { "class_type": "ConditioningZeroOut", "inputs": { "conditioning": ["6", 0] }},
  "8": { "class_type": "KSampler", "inputs": {
    "model": ["2", 0], "positive": ["6", 0], "negative": ["7", 0], "latent_image": ["6", 1],
    "seed": 42, "steps": 4, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 1
  }},
  "9": { "class_type": "VAEDecode", "inputs": { "samples": ["8", 0], "vae": ["4", 0] }},
  "10": { "class_type": "SaveImage", "inputs": { "images": ["9", 0], "filename_prefix": "director_s1_start" }}
}

Slots 5b and 5c matter. Feed character reference and background reference into vl_resize_image2 and vl_resize_image3. This helps the vision encoder maintain character appearance across edits.

Chain Execution

Edits are sequential; each depends on the previous output:

  1. Run edit, wait for completion
  2. Stage the output as the next stage's input with upload_image (action:"stage") (pass the output's { filename, subfolder?, type? }); it returns the registered input filename
  3. Use that returned filename as the image in the next edit's LoadImage
  4. Update state file after each edit

Independent edits (both from hero) can run in parallel.

CRITICAL: feeding an output into the next loader (don't guess paths)

To pipe ANY stage's output into the next stage's loader (LoadImage here, VHS_LoadVideo / LoadAudio in the video phases), call upload_image (action:"stage") with the output's { filename, subfolder?, type? } and drop the returned input filename into the loader's image/video/audio widget. For a file already on local disk, use upload_image with action "image" / "video" / "audio". NEVER copy the output file into, or guess, a filesystem input/ path. ComfyUI's input and output directories may be CUSTOM (--input-directory / --output-directory), so a guessed path makes the loader reject the file (Invalid image file) and wastes the render. upload_image (action:"stage") goes through the server API (/view → /upload/image), which resolves the real dirs correctly.

Timing
  • First edit: ~87s (model loading)
  • Subsequent edits: ~30-40s each (models cached)

Phase 5: Frame Review

For each frame, show via Read for visual inspection. User approves or provides feedback. Re-run individual edits without redoing the whole chain.

Phase 6: Video Clip Generation — WAN 2.2 FLF Dual Hi-Lo

Workflow Template

(Same as wan-flf-video skill: Remix NSFW Hi+Lo, 4-stack LoRA, ImageResizeKJv2, dual KSamplerAdvanced)

Key settings:

  • Portrait: width=480, height=720
  • 81 frames, 16fps = ~5 seconds per clip
  • uni_pc/beta sampler, CFG 1, 4 total steps (Hi: 0→2, Lo: 2→4)
  • ModelSamplingSD3 shift=5 on both UNETs
Morph LoRA

For transformation scenes (e.g., cat→woman), add morph LoRA to Hi/Lo Common stacks:

  • wan2.2_i2v_magical_morph_highnoise.safetensors → Hi Common slot 1 (strength 1.0)
  • wan2.2_i2v_magical_morph_lownoise.safetensors → Lo Common slot 1 (strength 1.0)

Use 1.0 strength; it tested without sparkle issues. Lower values (0.7-0.85) produce weaker morph effects that may look like a dissolve rather than a true morph.

Per-Scene Changes

Swap per scene: start/end image filenames, positive prompt text, noise_seed, filename_prefix.

All 5 clips can be queued at once. They run sequentially in ComfyUI, sharing loaded models.

Phase 7: Video Review

Report each clip's filename. User previews externally.

Phase 8: Final Assembly — ffmpeg Concat

bash
cd "<ComfyUI_output_dir>"
printf "file 'director_s1_00001.mp4'\nfile 'director_s2_00001.mp4'\n..." > concat_list.txt
ffmpeg -f concat -safe 0 -i concat_list.txt -c copy director_final_{project_id}.mp4

All clips share resolution/codec/framerate, so copy-concat works without re-encoding.

Resumption Protocol

After context compaction:

  1. Read state file AND director_session_notes.md if it exists
  2. Check current_phase and per-scene status
  3. Skip approved assets, continue from incomplete point
  4. clear_vram before loading the model family for the current phase

Timing Estimates (RTX 4090)

PhasePer Scene5 Scenes
Hero + Refs (Z-Image)~10s each~50s (one-time)
Edit Chain (Qwen 4-step)~35s each~280s (8 edits)
Video Clip (WAN FLF 81 frames)~140s~700s
VRAM swaps (3x clear_vram)~30s each~90s
Total generation~19 min

Storytelling Props for Continuity

Use distinctive visual elements that transfer between characters/forms to create narrative connections:

  • A colored collar on an animal → becomes a choker/necklace on the human form
  • Eye color matching between animal and human
  • Distinctive clothing or accessories that persist across scenes
  • These "continuity props" reinforce the story visually

Prompt Engineering for Edit Chains

DO
  • "The man wears his grey t-shirt" (anchor clothing every time)
  • "Same bedroom, same warm amber lamplight, same white sheets"
  • "Extremely shocked, jaw dropped, eyes wide in total disbelief"
  • "Her head and body proportional and natural looking"
DON'T
  • Assume clothing/setting will be preserved automatically
  • Use mild emotion words ("surprised" → use "extremely shocked" instead)
  • Chain more than 5-6 edits deep without branching back to hero
  • Assume head proportions stay correct in embrace/hug poses; always add explicit size anchoring
WAN Video Prompts
  • Use motion verbs: "walks", "turns", "reaches", "sits up", "leans in"
  • AVOID: "magical", "enchanted", "mystical" (causes sparkle effects)
  • USE: "smoothly transforms", "seamlessly reshapes", "gradually"
  • Include scale cues: "grows into", "expands upward"

Sources

  • Official: none found.
  • Empirical: 8-phase pipeline, models-per-phase, and prompt rules from working graphs.

© artokun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugin/skills/director of artokun/comfyui-mcp.

Open the folder on GitHubat commit 6ad6fc0

Compare with similar skills

Director next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Director compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Director this skillartokun/comfyui-mcp800—~4.5kAutomated safety check: PassMIT
Remotion Best Practiceslyonjs/shortvid.io14733 repos~1kAutomated safety check: PassMIT
HyperFrames Video Entry Pointheygen-com/hyperframes59k3 repos~5.2kAutomated safety check: PassApache-2.0
Vox DirectorAlisa0808/vox-director2.2k—~5.6kAutomated safety check: PassMIT
Video Synceternityspring/reelbench-skills8721 repos~1kAutomated safety check: NotesApache-2.0
Ffmpeg Skillkajisho5/ffmpeg-skill1.9k—~7.4kAutomated safety check: PassMIT

Similar skills

  • Remotion Best Practices

    lyonjs/shortvid.io

    Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.

    147 GitHub starsUsed in 33 repos~1k tokens
    Media & CreativeAuto-check passed
  • HyperFrames Video Entry Point

    heygen-com/hyperframes

    Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.

    59k GitHub starsUsed in 3 repos~5.2k tokens
    Media & CreativeAuto-check passed
  • Vox Director

    Alisa0808/vox-director

    Turn ONE topic into a finished Vox-style paper-collage explainer / ad video, end to end on the Atlas Cloud API + local ffmpeg — script, collage keyframes, motion, voice-over, music, captions, all…

    2.2k GitHub stars~5.6k tokensUpdated 4 days ago
    Media & CreativeAuto-check passed
  • Video Sync

    eternityspring/reelbench-skills

    把拉片数据和原片合成一条能直接看的视频:一边是画面,一边是这一镜的分镜信息 (镜号、起止、时长、景别、类别、运镜、画面描述、台词),镜头切了信息跟着切, 镜头表自动滚动并高亮当前这一镜。

    872 GitHub starsUsed in 1 repo~1k tokens
    Media & CreativeAuto-check: notes
  • Ffmpeg Skill

    kajisho5/ffmpeg-skill

    Edit video and audio with local FFmpeg from natural-language requests: cut, trim, join, resize/reframe (9:16, 1:1), speed change, captions and subtitles (SRT/ASS, animated, karaoke), logos and text…

    1.9k GitHub stars~7.4k tokensUpdated 4 days ago
    Media & CreativeAuto-check passed
  • Painted Animation

    tuzhechen2005/opus-video-skills

    Make hand-painted watercolour-and-ink cartoon videos (MP4) with code — p5.js + p5.brush rendered frame by frame in headless Chrome, encoded with ffmpeg — starring Clawd or any character.

    137 GitHub starsUsed in 1 repo~1.9k tokens
    Media & CreativeAuto-check passed

More from artokun/comfyui-mcp

All 42 skills in this repo
  • AI Toolkit Trainer

    artokun/comfyui-mcp

    Train custom LoRAs with ostris AI-Toolkit. An agent skill from artokun/comfyui-mcp.

    800 GitHub stars~2.7k tokensUpdated 4 days ago
    Auto-check passed
  • Anima Base

    artokun/comfyui-mcp

    Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT).

    800 GitHub stars~4k tokensUpdated 4 days ago
    Auto-check passed
  • Civitai

    artokun/comfyui-mcp

    Discover Civitai models with the BUILT-IN downloadmodel action:"searchcivitai" and install/generate them locally.

    800 GitHub stars~1.1k tokensUpdated 4 days ago
    Auto-check passed
  • Color Correction

    artokun/comfyui-mcp

    Diagnose and fix video/image color OBJECTIVELY with the getimage (action:"analyzecolor") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a…

    800 GitHub stars~2.4k tokensUpdated 4 days ago
    Auto-check passed
  • Comfyui Frontend Extensions

    artokun/comfyui-mcp

    Authoring ComfyUI v2 frontend extensions with @comfyorg/extension-api, covering defineNode/defineExtension/defineWidget, shell UI (sidebar tabs, commands, hotkeys), typed events, and handles.

    800 GitHub stars~5.4k tokensUpdated 4 days ago
    Auto-check passed
  • Comfyui Launch Flags

    artokun/comfyui-mcp

    Pick the right ComfyUI startup flags for VRAM, attention, caching, and speed.

    800 GitHub stars~3.1k tokensUpdated 4 days ago
    Auto-check passed

Works with

Questions about Director

What does Director do?

Full production pipeline covering story to scenes, Z-Image start frames, Qwen Edit end frames, WAN FLF video clips, ffmpeg concatenation. Director is an agent skill from artokun/comfyui-mcp.

When should I use Director?

Director fits situations like: tasks that involve Video production.

How do I install Director in Claude Code?

Run `npx skills add artokun/comfyui-mcp --skill director -a claude-code`. Or copy the skill folder (plugin/skills/director in artokun/comfyui-mcp) into .claude/skills/director in your project. Claude Code loads it when a task matches its description.

How do I install Director in Codex?

Run `npx skills add artokun/comfyui-mcp --skill director -a codex`. Or copy the skill folder (plugin/skills/director in artokun/comfyui-mcp) into .agents/skills/director in your project. Codex loads it when a task matches its description.

Can I use Director in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add artokun/comfyui-mcp --skill director -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/director, .gemini/skills/director, .github/skills/director and .opencode/skills/director in your project.

What does Director need to run?

Going by SKILL.md and its folder, Director needs the command-line tools its instructions call (ffmpeg).

Does Director access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Director safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Director use?

Director is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Director use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Director?

Skills that share tags, products or a category with Director: Remotion Best Practices (lyonjs/shortvid.io, 147 stars), HyperFrames Video Entry Point (heygen-com/hyperframes, 59k stars), Vox Director (Alisa0808/vox-director, 2.2k stars) and Video Sync (eternityspring/reelbench-skills, 872 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Director?

artokun (a GitHub user) maintains it in artokun/comfyui-mcp, which has 800 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on October 5, 2026.

Source: artokun/comfyui-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.