Voice Compose

Composes voice-design briefs and generate_voice.js calls for characters and narration

Works with setup

Test report

Verdict
Works with setup
Score
7.6/10
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-compose Composes 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.