Agent Voice — AI skill for Claude Code
Give any LLM agent a cloned voice: its reply in, one spoken line out, via an OmniVoice TTS server.
How to install Agent Voice
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open rodaddy/agent-voice and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Agent Voice does
Give any LLM agent a cloned voice: its reply in, one spoken line out, via an OmniVoice TTS server.
Alternatives in AI
- Octocode — Structural code intelligence for AI agents — semantic search, knowledge graphs, and a built-in MCP server in o 464 ★
- Gh PR Review — GitHub CLI extension that adds full inline PR review comment support — view, navigate, reply to, and resolve r 174 ★
- LumaBrowser — Local AI desktop app: a Chromium browser with a GPU-aware llama.cpp runtime, OpenAI-compatible API, AI chat an 125 ★
README
agent-voice
Give any LLM agent a cloned voice: the agent's reply goes in, and one short spoken line comes out of your speakers in a voice cloned from a 3 to 10 second clip.
[](https://github.com/rodaddy/agent-voice/actions/workflows/ci.yml) [](LICENSE) 

What it is
agent-voice is a small command-line tool, HTTP server and Python library that turns an agent's text reply into speech. The screen keeps the full technical answer. The speaker gets one or two sentences, in character, synthesized by an [OmniVoice](https://github.com/k2-fsa/OmniVoice) text-to-speech server from a short reference clip.
my-agent --reply | agent-voice pipe --voice ship-ai
Why it exists
A coding or operations agent that writes long replies is easy to miss when you are looking at another window. Reading the whole reply aloud is slow and unpleasant. agent-voice speaks one short line about the reply, so you hear that a build passed or a task needs you without switching windows, and the detail stays on screen. It started as a way to let a Claude Code session talk without a browser in the loop, and it works with any agent that can print to stdout or make an HTTP call.
How it works

`pipe` and `POST /say` take a whole reply and choose the spoken line in a fixed order (`tags.py`, `writer.py`, `speaker.py`). If the agent wrote `One spoken line.`, exactly that is spoken; tags quoted inside code spans are ignored. Otherwise, if a writer model is configured, the reply and the voice's `persona.md` go to any OpenAI-compatible endpoint, which answers with one or two sentences capped at `AGENT_VOICE_MAX
Related Skills
Clarvis
Jarvis-style voice notifications for Claude Code that transforms AI assistant messages into spoken updates thr
Tsukumo
Give your AI agent a body: a 3D VRM desktop companion that becomes the face and voice of Claude Code, Codex, G
Telegram Business MCP
Give AI agents access to an authorized Telegram archive via the official Telegram Business API: search convers
Echook
🔊 echook — AI-operated audio notifications for Claude Code, Cursor IDE & Codex CLI — 26 hooks, voice + chime
Jarvis Line
Voice notifications for Codex, Claude Code, Gemini CLI, and other AI coding agents, powered by hook-driven TTS
Charivo
Interactive Live2D AI characters — modular TypeScript framework for LLM, TTS, STT, and realtime voice.
Related Agents
Voice Critic
Reads a Written as Spoken draft cold, as a tired Egyptian marketer scrolling at 11 pm, and returns line-level
Guard Finder
Use when a workflow needs one real guard clause copied out of a codebase, for example to forge a known-false c
Voice Only
Minimal voice-only example — converse only; all other tools (Bash, Read, Write, Edit, …) are disabled by desig