⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
voice-references
Make the reference clips a zero-shot voice cloner needs for each character (Fish Audio Drama 3 or S2 Pro, MiniMax, ElevenLabs-style cloning) from recordings the user has the rights to. Split into lines, pick clean 6-11 s runs, transcribe them, drop screams and noise, build a ~25 s clone clip plus single reference clips and mood clips (angry, drunk), check them, and upload them to the voice server. Use when adding a character's voice, when a cloned voice sounds off, thin or noisy, or when the user asks how to clone a voice for an NPC.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
Not yet listed on ClawHub or SkillsMP
// README
Built first for GTA V: walk up to anyone in Los Santos and just talk. Lamar roasts your hoodie, a cop tells you to file a civil claim and flips you off, Michael defends his robe like it's a business suit. Every line is written live in character and spoken in that character's cloned voice by Fish Audio Drama 3 (or S2 Pro), self-hosted on a serverless GPU. Most of the code doesn't know it's in GTA, so the same pieces work in other games: the skills say what a game has to provide, and how to build the rest.
Install
Pick your agent. Each gets the same skills (Agent Skills format), the fal MCP server and the npctalk CLI.
| Agent | Install |
|---|---|
| Claude Code | /plugin marketplace add christos-antono/NPCTalk/plugin install npctalk@npctalk |
| Codex | codex plugin marketplace add christos-antono/NPCTalkcodex plugin add npctalk@npctalk |
| Gemini CLI | gemini extensions install https://github.com/christos-antono/NPCTalk |
| VS Code / Copilot | Enable chat.plugins.enabled, run Chat: Install Plugin From Source, enter this repo's URL |
| Cursor | Clone it (Cursor reads AGENTS.md and .cursor/mcp.json) |
| OpenCode | Clone and run opencode inside it (opencode.json adds the skills and the fal MCP server) |
| Skills only (any agent) | npx skills add https://github.com/christos-antono/NPCTalk |
| Anything else | git clone https://github.com/christos-antono/NPCTalk and start your agent inside it |
Inside a clone, .agents/skills and .claude/skills are copies of skills/, and AGENTS.md holds the
instructions (CLAUDE.md and GEMINI.md point to it).
The npctalk CLI. Plugin installs and clones put it on PATH (bin/). Anywhere else:
uv tool install git+https://github.com/christos-antono/NPCTalk.
Accounts and keys (environment variables, never files):
| What for | Service | Variable |
|---|---|---|
| The voice server (GPU) | Modal | modal setup; NPCVOICE_TOKEN = the value you put in the npcvoice-auth secret |
| Speech-to-text, MiniMax voices, the MCP server | fal | FAL_KEY |
| The NPC's lines (any OpenAI-compatible LLM) | Cerebras | CEREBRAS_API_KEY |
| Actions and spoken orders | TypeSafe | TYPESAFE_API_KEY |
You also need Git, Python 3.10+, uv and ffmpeg. The GTA V example needs Windows, the .NET SDK (8+) to build it,
and the game.
Try it
Make the villagers in my game answer when I talk to them, in their own voices.
Set up a Fish Audio Drama 3 voice server on Modal and clone a voice from
narrator.wav.
In GTA V story mode, let me talk to anyone near me with my mic.
My NPC's cloned voice sounds thin. Is it the reference clip or the model? Measure it.
Record five 8-second clips of NPCs arguing that look like normal gameplay.
The agent starts with the make-npcs-talk skill and runs the same loop every time:
- recon the game: version, how code runs in it, single-player or not;
- pick the engines (voice, LLM, speech-to-text, actions);
- stand up the voice server first, outside the game, and test it with
npctalk say; - make reference voices from recordings you have the rights to;
- one NPC answering typed text in the game: the four hooks, nothing else;
- voice input (push-to-talk, then the open mic);
- characters: personas, their own lines, scene facts;
- actions, and doing what they're told;
- verify in the real game, with every step's timing logged;
- show it, and measure the voices before claiming anything;
- write a field note for the next agent.
What's inside
Skills (skills/, Agent Skills format)
| Skill | What it does |
|---|---|
make-npcs-talk | The whole loop, the four hooks a game must provide (who's talked to, scene facts, voice at the NPC, actions), engine choices, latency budget, costs, verification, rules; per-engine notes for GTA V, Unity, Unreal, Bethesda, Minecraft and your own game |
fish-voice-server | Host Fish Audio Drama 3 or S2 Pro on Modal (or fal) behind one streaming API; settings that measurably help likeness; best-of-N for pre-rendered lines; keep-warm and cost; the S2 Pro fine-tune; every gotcha |
voice-references | From a recording you have the rights to, to clean reference clips, a 25 s clone clip and mood clips, on the server |
npc-dialogue | Personas, a fresh sample of the character's own lines in every prompt, scene facts, short spoken lines with delivery tags, output cleaning, content rules, speed |
npc-actions | What NPCs physically do while they talk, and following spoken orders, with TypeSafe Jev; per-action thresholds; mapping to animations |
voice-input | Open mic with voice activity detection, push-to-talk, speech-to-text, the NPC's own voice and the room's noise |
voice-likeness-eval | Measure whether a voice change really helped: speaker similarity to held-out real clips, word error, enough runs, independent checks |
npc-showcase-clips | Gameplay-style clips of conversations: fixed gameplay camera, lines rendered first, sync, 5-10 s cuts |
The npctalk CLI (Python). Every command has --help with examples.
| Command | What it does |
|---|---|
npctalk health | Is the voice server up? Waits through a cold start |
npctalk say | Speak a line in a voice, like a game does; prints time to first audio, writes a WAV |
npctalk voice make | Recording → voices/<Name>/clone.wav, ref_0..2, mood clips, with transcripts |
npctalk voice upload | A voice |
// HOW IT'S BUILT
KEY FILES