groups-compose
Designs and maintains semantic groupings and readable layouts on the filmmaking canvas — scenes, character-reference sets, act beats, and other titled visual…
Designs and attaches voice samples or final narration/line audio on the filmmaking canvas via the local generate_voice.js CLI. Use before calling generate_voice.js; when the user asks to give a character a voice, preview how a character sounds, create reusable timbre anchors for
$ npx -y skills add Utopai-Research/pai-pro --skill voice-compose --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/voice-composeContext preview
The summary Claude sees to decide when to auto-load this skill.
Designs and attaches voice samples or final narration/line audio on the filmmaking canvas via the local generate_voice.js CLI. Use before calling generate_voice.js; when the user asks to give a character a voice, preview how a character sounds, create reusable timbre anchors for
name: voice-compose description: Designs and attaches voice samples or final narration/line audio on the filmmaking canvas via the local generate_voice.js CLI. Use before calling generate_voice.js; when the user asks to give a character a voice, preview how a character sounds, create reusable timbre anchors for every speaking character or VO/narration, or create exact narration/VO/final line audio.
Default to one short reusable timbre sample per speaking character and one VO/narrator sample when narration exists. `video-compose` keeps actual shot dialogue/VO in the video prompt. Treat `audio_result.data.text` as downstream speech only for approved final narration/line reads.
Follow `PROJECT_AGENT.md` for context/staging. This skill owns voice prompt + CLI shape.
Triggers: "give / design a voice for [character]", "what does [character] sound like", "voices for all the characters on the canvas".
node "$PAI_REPO_ROOT/server/cli/generate_voice.js" \
--text "<line>" \
--prompt "<voice design brief>" \
--source-node-id <character.id>> `[age bracket] [gender], [timbre], [register], [pace], [accent if relevant]. [optional emotional color].`
✅ "Mid-50s man, gravelly baritone, measured pace, slight rasp from decades of smoking, weary but steady." ✅ "Young woman, bright mezzo, warm, quick and percussive. Slight Southern lilt." ❌ "Detective Morris's voice." — names the character, not the voice. The model needs sound qualities.
Triggers: narrator voice, voice-over, "a voice that says X" without character, narration track, or explicit final line-read audio.
node "$PAI_REPO_ROOT/server/cli/generate_voice.js" \
--text "<the narration line>" \
--prompt "<voice design brief>"The local AI filmmaking studio, driven from your coding agent. ![Discord][discord-url] [][claude-code-url] [][codex-url]
Repo: Utopai-Research/pai-pro
Designs and maintains semantic groupings and readable layouts on the filmmaking canvas — scenes, character-reference sets, act beats, and other titled visual…
Generates/edits filmmaking canvas images via generate_image.js and generate_image_pro.js. Use before image CLIs for character/location design, refs, starting…
Handles explicit screenplay/story work on the filmmaking canvas. Triages screenplay (use verbatim), story/concept (iterate then rewrite), or neither (defer).…
Orchestrates story, script, screenplay, concept, product promo, and multi-shot idea work into finished video. Use first when the user asks to make a video from…
Generates and prompts video clips on the filmmaking canvas. Use when the user asks to generate, render, animate, continue, restyle, edit, shoot, or compose a…