Video Compose
Builds video-gen prompts and generate_video.js flags for the pai-pro filmmaking canvas
Test report
- Verdict
- Works with setup
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 867f6b8
I cloned the repo, confirmed skills/video-compose/SKILL.md plus all four references/*.md fetch at HTTP 200 (and server/cli/generate_video.js and agent-templates/PROJECT_AGENT.md at 200), and installed the folder into a throwaway HOME=$(mktemp -d) — SKILL.md and references/ landed correctly. I could NOT execute the skill end to end: generate_video.js needs PAI_KEY, the running pai-pro viewer, a cloudflared tunnel and canvas node ids, so no video artifact exists and outputMeasured is false. What I did measure: two prompt+argv artifacts for the same task, a baseline written from the CLI's parseArgs flags alone and one built strictly from Pattern 6 plus references/video-single-shot.md, both run through the repo's own server/cli/_ref_guard.js — both passed the guard, but the baseline (376 chars) re-described the character in prose with no @Image1 binding, stacked conflicting camera moves ("slowly orbits her while pushing in"), and had no once/no-echo dialogue guard and no negative line, while the skill artifact (678 chars) bound identity via "The character in @Image1", added "Speak the quoted line exactly once, no echo, no repeated reads" and closed with "no captions, watermarks, distortion, stretching"; whether that yields a better clip is unverified. SKILL.md claims check out against source — ref caps (9 image / 3 audio / 3 video, 1.8-15.2s, 15s aggregate video), defaults (15s, 16:9, 720p, audio on) and the quoted bad_args strings all match server/cli/_limits.js and model_registry.js exactly. Trigger phrasings I judged: SHOULD fire — "Animate this character image into a 6-second rooftop clip where she says 'It's over'" (yes), "Continue the last clip on the canvas — what happens after she walks out?" (yes), "Make a 15-second product promo using the character and location refs on the canvas" (yes); should NOT fire — "Trim the first 3 seconds off /Users/me/clip.mp4 and re-encode to h264" (no: nothing is generated, though the description's bare word "edit" makes this the one genuinely close call), "Make a storyboard mosaic for scene 2" (no: that is image-compose). No security smells in skills/ (no curl|sh, no base64, no exfiltration or injection text); repo-level .env.example does document that the embedded project agent launches with --dangerously-skip-permissions by default, which is a pai-pro product property rather than this skill's.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 5/10
- Docs & honesty 4/5
What Video Compose does
Dispatcher skill for the pai-pro filmmaking canvas that turns a video request into a generate_video.js invocation: it picks one of seven patterns (text-to-video, image-to-video, character/location composition, clip extension, clip editing, voice-driven clip, multi-shot ad/MV), builds the prompt with @Image/@Video/@Audio reference binding, and sets duration, resolution, audio and reference flags. Triggers when the user asks to generate, animate, continue, restyle or compose a video clip on the canvas, or to render a script shot or storyboard as video. Requires the pai-pro app itself — a PAI_KEY, the local viewer server and a canvas project — so the CLI it wraps cannot run standalone.
How to install Video Compose
git clone --depth 1 https://github.com/Utopai-Research/pai-pro.git /tmp/video-compose-src
mkdir -p ~/.claude/skills
cp -R /tmp/video-compose-src/skills/video-compose ~/.claude/skills/video-compose
# Verified: places SKILL.md + references/ (4 files) at ~/.claude/skills/video-compose/ in a clean HOME.
# NOT USABLE STANDALONE. The skill only writes flags for /tmp/video-compose-src/server/cli/generate_video.js,
# which needs the full pai-pro product running:
# 1. cp /tmp/video-compose-src/.env.example /tmp/video-compose-src/.env
# 2. set PAI_KEY=... (paid media API key from https://pai-pro.utopaistudios.com/keys)
# 3. cd /tmp/video-compose-src && ./scripts/setup --agent claude && ./scripts/start.sh
# (start.sh also launches a cloudflared quick tunnel so the provider can fetch reference assets)
# 4. create a project in the viewer; the skill reads canvas node ids from that project's workflow.json
# Plugin-marketplace alternative: the repo ships .claude-plugin/marketplace.json (plugin name "pai-pro",
# installs all skills at once). Two of its listed skills (add-note, show-dag) point at directories that
# do not exist in the repo tree.
# Each generated clip costs real money; the skill's own text says to stage before firing.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Video Compose
-
/video-composeBuilds video-gen prompts and generate_video.js flags for the pai-pro filmmaking canvas
It also activates on plain-language prompts like these:
-
Generate a video clip from this storyboard frame -
Animate this character reference into a shot -
Compose a product promo video sequence
Frequently asked questions
- Is the Video Compose skill free?
- Yes. The skill itself is free from Utopai-Research/pai-pro. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Video Compose work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Works with setup. I cloned the repo, confirmed skills/video-compose/SKILL.md plus all four references/*.md fetch at HTTP 200 (and server/cli/generate_video.js and agent-templates/PROJECT_AGENT.md at 200), and installed the folder into a throwaway HOME=$(mktemp -d) — SKILL.md and references/ landed correctly. I could NOT execute the skill end to end: generate_video.js needs PAI_KEY, the running pai-pro viewer, a cloudflared tunnel and canvas node ids, so no video artifact exists and outputMeasured is false. What I did measure: two prompt+argv artifacts for the same task, a baseline written from the CLI's parseArgs flags alone and one built strictly from Pattern 6 plus references/video-single-shot.md, both run through the repo's own server/cli/_ref_guard.js — both passed the guard, but the baseline (376 chars) re-described the character in prose with no @Image1 binding, stacked conflicting camera moves ("slowly orbits her while pushing in"), and had no once/no-echo dialogue guard and no negative line, while the skill artifact (678 chars) bound identity via "The character in @Image1", added "Speak the quoted line exactly once, no echo, no repeated reads" and closed with "no captions, watermarks, distortion, stretching"; whether that yields a better clip is unverified. SKILL.md claims check out against source — ref caps (9 image / 3 audio / 3 video, 1.8-15.2s, 15s aggregate video), defaults (15s, 16:9, 720p, audio on) and the quoted bad_args strings all match server/cli/_limits.js and model_registry.js exactly. Trigger phrasings I judged: SHOULD fire — "Animate this character image into a 6-second rooftop clip where she says 'It's over'" (yes), "Continue the last clip on the canvas — what happens after she walks out?" (yes), "Make a 15-second product promo using the character and location refs on the canvas" (yes); should NOT fire — "Trim the first 3 seconds off /Users/me/clip.mp4 and re-encode to h264" (no: nothing is generated, though the description's bare word "edit" makes this the one genuinely close call), "Make a storyboard mosaic for scene 2" (no: that is image-compose). No security smells in skills/ (no curl|sh, no base64, no exfiltration or injection text); repo-level .env.example does document that the embedded project agent launches with --dangerously-skip-permissions by default, which is a pai-pro product property rather than this skill's.
- What is the Video Compose SkillProof Score?
- 7.6/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 5/10, docs & honesty 4/5.
- How do I install Video Compose?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Video Compose with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.