Voice Compose
Composes voice-design briefs and generate_voice.js calls for characters and narration
Test report
- Verdict
- Works with setup
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 9b86c9c
Fetched SKILL.md; frontmatter parses (name+description). Spot-checked references via raw fetch: server/cli/generate_voice.js and server/pai_voice_client.js both HTTP 200; PROJECT_AGENT.md is 404 at root but exists as agent-templates/PROJECT_AGENT.md, a template staged per-project at runtime. Reading pai_voice_client.js confirmed the skill's contract is real: --prompt maps to payload.instructions of a VoiceDesign TTS model and --source-node-id is a canvas authorship edge, so the "describe the voice's sound, never name the character" rule is grounded in the code. Triggers judged 5/5: activate on "give the detective a voice", "what would this character sound like — make a sample", "record the final narrator VO for this line"; correctly reject "transcribe this audio to text" (STT) and "write the narrator's intro lines" (script-compose). Output NOT measured: the deliverable is audio attached to the canvas, needing PAI_KEY (paid) plus a running local viewer/server I cannot start; I could only compose the CLI call, not run generate_voice.js or hear output. No security smells in the skill itself (repo .env.example documents a PAI_AGENT_BYPASS that runs agents with --dangerously-skip-permissions, but that is repo infra, unrelated to this skill).
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 Voice Compose does
A skill for the PAI-Pro local filmmaking studio that shapes voice-design prompts and the generate_voice.js CLI invocation to create reusable timbre samples per character or narrator/VO audio on the canvas. It triggers when the user asks to give a character a voice, preview how a character sounds, or produce final narration/line-read audio. Producing actual audio requires the PAI_KEY API and a running local canvas server.
How to install Voice Compose
git clone --depth 1 https://github.com/Utopai-Research/pai-pro.git /tmp/voice-compose-src
mkdir -p ~/.claude/skills
cp -R /tmp/voice-compose-src/skills/voice-compose ~/.claude/skills/voice-compose
# NOT standalone. The skill only shapes prompts + a CLI call; the CLI it invokes,
# $PAI_REPO_ROOT/server/cli/generate_voice.js, lives in the full pai-pro repo.
# To actually generate/attach voice audio you must:
# 1. Keep the whole cloned repo and export PAI_REPO_ROOT=/tmp/voice-compose-src
# 2. Set PAI_KEY (paid; get at https://pai-pro.utopaistudios.com/keys) in .env
# 3. Run the local canvas viewer/server (./scripts/start.sh or docker-start.sh)
# Recommended real install is the plugin marketplace: this repo ships
# .claude-plugin/marketplace.json exposing /pai-pro:voice-compose.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Voice Compose
-
/voice-composeComposes voice-design briefs and generate_voice.js calls for characters and narration
It also activates on plain-language prompts like these:
-
Give this character a distinct voice -
Preview how this character sounds speaking -
Generate final narration audio for this scene
Frequently asked questions
- Is the Voice 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 Voice Compose work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Works with setup. Fetched SKILL.md; frontmatter parses (name+description). Spot-checked references via raw fetch: server/cli/generate_voice.js and server/pai_voice_client.js both HTTP 200; PROJECT_AGENT.md is 404 at root but exists as agent-templates/PROJECT_AGENT.md, a template staged per-project at runtime. Reading pai_voice_client.js confirmed the skill's contract is real: --prompt maps to payload.instructions of a VoiceDesign TTS model and --source-node-id is a canvas authorship edge, so the "describe the voice's sound, never name the character" rule is grounded in the code. Triggers judged 5/5: activate on "give the detective a voice", "what would this character sound like — make a sample", "record the final narrator VO for this line"; correctly reject "transcribe this audio to text" (STT) and "write the narrator's intro lines" (script-compose). Output NOT measured: the deliverable is audio attached to the canvas, needing PAI_KEY (paid) plus a running local viewer/server I cannot start; I could only compose the CLI call, not run generate_voice.js or hear output. No security smells in the skill itself (repo .env.example documents a PAI_AGENT_BYPASS that runs agents with --dangerously-skip-permissions, but that is repo infra, unrelated to this skill).
- What is the Voice 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 Voice 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 Voice 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.