ai-toolkit-trainer
Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM…
Full production pipeline covering story to scenes, Z-Image start frames, Qwen Edit end frames, WAN FLF video clips, ffmpeg concatenation
Claude Code
$ npx -y skills add artokun/comfyui-mcp --skill director --agent claude-code
Codex
$ npx skills add artokun/comfyui-mcp --skill director -a codex -y
Cursor
$ npx skills add artokun/comfyui-mcp --skill director -a cursor -y
Gemini CLI
$ npx skills add artokun/comfyui-mcp --skill director -a gemini-cli -y
GitHub Copilot
$ npx skills add artokun/comfyui-mcp --skill director -a github-copilot -y
OpenCode
$ npx skills add artokun/comfyui-mcp --skill director -a opencode -y
Windsurf
$ npx skills add artokun/comfyui-mcp --skill director -a windsurf -y
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"
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:
This pipeline drives the user's live canvas across many stages, so two habits are non-negotiable:
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
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
Saved at `~/code/comfyui-mcp/workflows/director_state_{project_id}.json`. Updated after every edit or phase completion.
{
"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<img src="docs/images/demo-poster.jpg" width="760" alt="The Agent panel driving ComfyUI end to end. Click to watch the demo"> The Agent panel driving ComfyUI end to end. It reads what is installed locally, wires the graph, frees VRAM, and runs the render.
Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM…
Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags…
Train a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM,…
Discover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a…
Diagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white…
Core ComfyUI knowledge covering workflow format, node types, pipeline patterns, and MCP tool usage
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…