Yapd — Development skill for Claude Code
I'm tired of having to read my agents' output.
How to install Yapd
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open lg-epitech/yapd and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Yapd does
I'm tired of having to read my agents' output. So I made one talk to me instead!
Alternatives in Development
- Codexbar — Show usage stats for OpenAI Codex and Claude Code, without having to login 8.8k ★
- Connect — Fancy stream processing made operationally mundane 8608 114 1 8.6k ★
- X Mentor Skill — X导师.skill — 女娲的第一个「非人类」作品 1.2k ★
README
yapd
I'm tired of reading my agent outputs. So I have another agent yap instead!
When a Claude Code or Codex session finishes, yapd sums up the reply in a sentence or two and says it. If several finish together you hear them one at a time, and whatever needs you goes first. Talk over it to [cut it short, ask about it, or tell the agent what to do next](#interrupting).
Needs macOS, [Bun](https://bun.sh), Xcode's command line tools (`xcode-select --install`) and any of the [available providers](#providers). The agents can also run [on other machines](#agents-on-another-machine), Linux included.
The voice is [Kokoro](https://huggingface.co/hexgrad/Kokoro-82M), which runs locally and downloads on first start.
With [ffmpeg](https://ffmpeg.org) installed it sounds a bit like Jarvis.
Setup
bun install
bun src/main.ts install
This runs yapd in the background with launchd, starts it at login and restarts it if it stops. Logs go to `~/Library/Logs/yapd.log`. It keeps the `PATH` of the shell you install from, so run it again after changing `.env` or moving a CLI. `bun src/main.ts uninstall` removes it. To run it in the foreground instead, uninstall it and use `bun start`.
Then add the hook to `~/.claude/settings.json`:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "bun /path/to/yapd/src/main.ts hook claude --wait",
"async": true,
"asyncRewake": true
}
]
}
],
"UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "bun /path/to/yapd/src/main.ts hook claude" }] }]
}
}
The Stop hook runs in the background and waits while yapd reads the update, so it can hand the session [your reply](#where-follow-ups-go).
For Codex, put both hooks in `~/.codex/hooks.json` as plain commands with `hook codex`, without `--wait` or the two async settings. You will be prompted to accept the hooks on your next session.
On
Related Skills
Spinwatch
Alarm when your coding agent spins instead of works — catches repeated identical tool calls and endless talk-w
Terminal Talk
Hands-free voice output for Claude Code on Windows. Free, MIT licensed, no signup, no accounts. Microsoft Edge
Superpowers To Watchtower
Use when a superpowers plan (writing-plans / brainstorming output saved locally) is ready and you want durable
Claude Report Skill
A Claude Code skill that generates beautiful HTML reports instead of long terminal output
Getting Better
A Claude Skill that front-loads clarifying questions, kills padded output, and locks in corrections as standin
Long Context Retrieval
Read large files and broad search results progressively instead of blowing up the live context window.
Related Agents
Ndv Build
Spec-to-code implementation specialist. Use when a story has defined input/output schemas, acceptance criteria
Runner
Test-suite execution on Opus 5. Use to run pytest, vitest, or the e2e suite and get back a digest of failures
AI Context
Compresses discovery output into the single structured task-context document every later agent reads instead o