Read text output aloud using Piper TTS (neural voice). Use when user requests spoken feedback ("say it", "speak that", "read me"), or when CLAUDE.md mandates always-active TTS output. Auto-triggers on every response if CLAUDE.md has the always-active rule.
Resources
3Install
npx skillscat add khanshifaul/speak-output-skill Install via the SkillsCat registry.
SKILL.md
Speak Output
Quick Start
spk "Your text here"Prerequisites
- Piper TTS: https://github.com/rhasspy/piper
- A Piper voice model in
~/.local/share/piper/en_US-ryan-medium.onnx aplay(from alsa-utils)spkscript at~/.local/bin/spk(see setup)
Setup (new device)
Run the setup script to install everything:
bash ~/.agents/skills/speak-output/scripts/setup.shThis installs: Piper binary, en_US-ryan-medium voice, spk script to ~/.local/bin/.
Usage
Basic
spk "Hello world"
spk --length_scale 0.8 "Faster speech"In agent responses
- Strip code blocks/backticks/special syntax — write a natural spoken version
- Keep to 1-3 sentences; summarize long text first
- Speak via
spk "text"with 1-word bash description
Always-Active Mode
To make TTS fire on every response without a trigger phrase, add this to ~/.claude/CLAUDE.md or the project's AGENTS.md:
## Speak Output (TTS) — MUST FOLLOW — ALWAYS ACTIVE
ALL responses MUST be spoken aloud via Piper TTS. No trigger phrase needed.
1. Strip code blocks/backticks/special syntax — write a natural spoken version
2. Speak via `spk "text"`
3. Rate control: `spk --length_scale 0.8 "text"`
4. If long or multi-codeblock, summarize for speech first
No thinking, no loading skills — just run it.Files
| File | Purpose |
|---|---|
SKILL.md |
Instructions (this file) |
scripts/setup.sh |
One-command setup for new devices |
~/.local/bin/spk |
Speak command (installed by setup) |