groups-compose
Designs and maintains semantic groupings and readable layouts on the filmmaking canvas — scenes, character-reference sets, act…
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
Claude Code
$ npx -y skills add utopai-research/pai-code --skill voice-compose --agent claude-code
Codex
$ npx skills add utopai-research/pai-code --skill voice-compose -a codex -y
Cursor
$ npx skills add utopai-research/pai-code --skill voice-compose -a cursor -y
Gemini CLI
$ npx skills add utopai-research/pai-code --skill voice-compose -a gemini-cli -y
GitHub Copilot
$ npx skills add utopai-research/pai-code --skill voice-compose -a github-copilot -y
OpenCode
$ npx skills add utopai-research/pai-code --skill voice-compose -a opencode -y
Windsurf
$ npx skills add utopai-research/pai-code --skill voice-compose -a windsurf -y
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. [, story/concept (iterate then…
Orchestrates story, script, screenplay, concept, product promo, and multi-shot idea work into finished video. Use first when the…
Generates and prompts video clips on the filmmaking canvas. Use when the user asks to generate, render, animate, continue,…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…