text-to-speech

text-to-speech is a skill for Claude Code, Codex from thewolffish/wolffish-app. It costs 49 tokens per session (2,685 once invoked), scanned A, original, MIT.

A local text-to-speech tool that turns written text into MP3 voice recordings using an on-device neural voice system.

In plain words
What is it for?
Use it to make voice memos, spoken answers, and audio summaries from text.
Why use it?
It lets you create spoken responses and summaries without sending the text to a cloud service or using an API key. After setup, generation works offline.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to make voice memos, spoken answers, and audio summaries from text.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/thewolffish/wolffish-app/text-to-speech
Install

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.

Any agent
npx skills add thewolffish/wolffish-app --skill text-to-speech
Clone the repo
git clone --depth 1 https://github.com/thewolffish/wolffish-app

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for text-to-speech

README.md
[![agentmods](https://agentmods.dev/badge/skills/thewolffish/wolffish-app/text-to-speech/github.svg)](https://agentmods.dev/skills/thewolffish/wolffish-app/text-to-speech)
Your own site
<a href="https://agentmods.dev/skills/thewolffish/wolffish-app/text-to-speech"><img src="https://agentmods.dev/badge/skills/thewolffish/wolffish-app/text-to-speech/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for text-to-speech

Your own site · 80×15
<a href="https://agentmods.dev/skills/thewolffish/wolffish-app/text-to-speech"><img src="https://agentmods.dev/badge/skills/thewolffish/wolffish-app/text-to-speech.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 49 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,685 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00049 $0.02685
Opus 5 $0.00024 $0.01342
Sonnet 5 $0.00010 $0.00537
Haiku 4.5 $0.00005 $0.00268

Measured 5d ago against content hash bf6460248900, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

text-to-speech 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 5d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (plugin/index.mjs, plugin/synth.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

src/defaults/workspace/brain/cerebellum/text-to-speech/SKILL.md · 234 lines

How it starts

The opening of the file, as written. The whole thing — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Voice

Interface

  • Tools: voice_generate, voice_respond, voice_list
  • Engine: Kokoro — a local 82M-parameter neural TTS model. Runs entirely on-device (CPU) via a managed Python runtime; no cloud, no API key, no account.
  • Output: MP3 files stored in the workspace voice directory.

The first voice memo provisions the engine (a hermetic Python runtime, the kokoro-onnx package, and the ~310 MB model) — this is a one-time download. Every voice memo after that is fully offline.

You can also provision it up front with voice_engine_install — worth doing when the user asks to set voice up, or when a first memo would otherwise stall on a several-minute download with no explanation. voice_settings_get reports whether it is already installed.

When to use each tool

  • The user's message is tagged <voice_note> (they spoke instead of typing) → follow the <voice_prompts> block when your prompt carries one — it is present exactly when the Voice replies switch (Preferences page, default ON) is on, and it makes the rule explicit: the turn MUST end with exactly one voice_respond speaking the answer — a conversational answer is the memo and nothing else; a working turn delivers files/tables/code exactly as a typed turn would, then closes with the memo. Only an explicit ask in the user's own message ("reply in text") overrides it. No <voice_prompts> block in your prompt means the switch is off — reply as normal text.
  • "convert this to a voice memo", "read this aloud", "say this"voice_generate with the specified text. The voice memo attaches below your text response.
  • "respond in voice", "reply with audio", "voice memo only"voice_respond with your full response. Do NOT also send the text as a regular message — the voice IS the response. Write only a brief label like "Voice memo" as your text output.
  • "summarize the last response as a voice memo" → Condense your most recent response into spoken form and use voice_respond.
  • "from now on reply with voice memos" → Use voice_respond for all subsequent responses until told otherwise.
  • "list my voice memos"voice_list.
  • "use a British voice from now on", "talk slower", "what voice are you using?" → the settings tools below. Changing a default is something you do, not something you send the user to Settings for.

Read the full file on GitHub · 234 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. 5d ago Changed · +75 lines bf6460248900
  2. 10d ago First seen · 159 lines · 49 tokens per session scan A 97d30f78ff3f

Subscribe to this mod's changes

text-to-speech is a skill published in the GitHub repository thewolffish/wolffish-app (5 stars, last pushed 4d ago), licensed MIT. It adds 49 tokens to every session and 2,685 once invoked, about $0.0002 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.