Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/chendrizzy/claude-ttsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/chendrizzy/claude-tts/voice)<a href="https://agentmods.dev/commands/chendrizzy/claude-tts/voice"><img src="https://agentmods.dev/badge/commands/chendrizzy/claude-tts/voice.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00023 | $0.00387 |
| Opus 5 | $0.00012 | $0.00193 |
| Sonnet 5 | $0.00005 | $0.00077 |
| Haiku 4.5 | $0.00002 | $0.00039 |
Grade A, and why
tts:voice scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Help the user choose a speech engine and voice for the claude-tts daemon.
Steps:
- Read the current selection from
~/.config/claude-tts/config.json(thevoice.engineandvoice.namefields). If the file does not exist, tell the user to run/tts:setupfirst and stop. - List the engines available on this machine and, for the selected engine, the voices it offers. Present them as a numbered list with a recommendation.
- When the user picks, update
voice.engineand/orvoice.namein~/.config/claude-tts/config.json. Preserve all other config keys exactly; write valid JSON. If the engine changes tosay,espeak, orvoicebox, setproject_voices.enabled=falsebecause those engines cannot enforce portable per-project gender policy. If the engine changes toedge-ttsorkokoroand the user wants to regenerate assignment preferences, use the same stableproject_voices.gender_preferenceenum as setup:balanced,female_only,male_only,female_preferred, ormale_preferred. - Restart the daemon so the change takes effect (the daemon reads config on
start). Confirm the socket is bound afterward at
${CLAUDE_TTS_SOCKET:-${XDG_RUNTIME_DIR:-/tmp}/claude-tts.sock}. - Speak a one-line confirmation so the user hears the new voice.
Do not hardcode absolute personal paths. If the daemon is not installed, say so and
suggest /tts:setup.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 30 lines · 23 tokens per session scan A a8a9aae8350b
tts:voice is a command published in the GitHub repository chendrizzy/claude-tts (1 stars, last pushed 20d ago), licensed MIT. It adds 23 tokens to every session and 387 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
wp-cinematic-scene
Author, replace, or regenerate a single cinematic scene. Updates the matching cinematicscenes repeater row (eyebrow, headline, body, CTA, videos, poster) and — if the scene needs a non-default layout — emits a per-scene template fragment override at template-parts/cinematic/scene- .php. Cinematic equivalent of…
wp-cinematic-seed
Seed (or re-seed) all cinematic scenes from a manifest. Idempotent — skips scenes whose sceneid already has content unless --force. Sideloads sample videos from the kit if no Media Library attachments are pinned.
wp-cinematic-encode
Encode source videos for cinematic scroll-scrub (all-keyframe MP4) and mobile autoplay-loop (9:16 portrait crop). Thin wrapper over the kit's scripts/encode-keyframe.sh and scripts/encode-mobile-portrait.sh. Drops encoded files into /assets/videos/ and updates the matching ACF row if --scene=N is provided.
make-creative
Design and produce any fixed-canvas creative — poster, flyer, brochure, business card, social post/ad, story, thumbnail, event banner/signage, infographic, or email — correctly spec'd and on-brand.
make-carousel
Design and produce a social media carousel (Instagram / LinkedIn / TikTok) — hook, narrative slides, CTA — with a consistent template and rendered slides.
make-deck
Design and produce a presentation/deck (pitch, sales, conference, internal) using the Design Pro knowledge base — structure, slide design, and a producible output.