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.
npx agentmods add skills/crisandrews/clawcode/voicenpx skills add crisandrews/ClawCode --skill voicegit clone --depth 1 https://github.com/crisandrews/ClawCodeWhat 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 | $0.00066 | $0.01344 |
| Opus 5 | $0.00033 | $0.00672 |
| Sonnet 5 | $0.00013 | $0.00269 |
| Haiku 4.5 | $0.00007 | $0.00134 |
Grade A, and why
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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Voice — TTS and transcription
Set up and test the agent's voice backends. Voice is OPTIONAL — off by default. See docs/voice.md for the full reference including channel-plugin precedence.
Dispatch
| User says | Action |
|---|---|
/agent:voice (no arg) or /agent:voice status |
Call voice_status and print the card |
/agent:voice setup |
Guided setup (see flow below) |
/agent:voice test |
Call voice_speak({ text: "Hola, soy <name>. Esta es una prueba.", ... }) using the user's language, report the path |
The agent invokes voice_speak / voice_transcribe directly when it needs to produce or consume audio during regular conversation. This skill is only for setup and diagnostics.
Setup flow
- Call
voice_status({ format: "json" })to see current state. - If no TTS backend is available, suggest in order of preference:
- sag (recommended): "Run
brew install steipete/tap/sag. It's a small wrapper around ElevenLabs with good voice-prompting conventions." - OpenAI TTS: "Set
export OPENAI_API_KEY=...in your shell rc (~/.zshrcor~/.bashrc). Then restart the agent." - macOS
say: "Built in on macOS. Sounds robotic but zero setup. No action needed — will be used as fallback."
- sag (recommended): "Run
- If sag is installed but
ELEVENLABS_API_KEYis missing, instruct: "Get a key from https://elevenlabs.io. Addexport ELEVENLABS_API_KEY=sk_...to your shell rc. Restart the agent." - If the user also wants STT, same logic: recommend
whisper-cli(brew install whisper-cpp, offline, free) or OpenAI Whisper API (same OPENAI_API_KEY). - Enable voice in config:
- Tell the user: "I'll set
voice.enabled: truein your config. Runagent_config(action='set', key='voice.enabled', value='true')or editagent-config.jsondirectly." - (You MAY call
agent_configfor them after they confirm.)
- Tell the user: "I'll set
- If the
sagskill is in an OpenClaw workspace (~/.openclaw/workspace*/skills/sag/), offer: "I see you have thesagskill in an OpenClaw workspace. Want me to install it into this agent? Run/agent:skill install <that path>." - Mention WhatsApp precedence if the WhatsApp plugin is configured:
- If
voice_statusreportswhatsapp.audioEnabled: true— "Your WhatsApp plugin already transcribes voice notes locally. For inbound WhatsApp audio you don't need voice_transcribe. Setting this up is for WebChat uploads, iMessage audio, outbound voice notes, etc." - If
false— "Your WhatsApp plugin doesn't transcribe by default. Either turn that on with/whatsapp:configure audio(local Whisper, free), or use ourvoice_transcribeper message."
- If
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.
- 2d ago First seen · 85 lines · 66 tokens per session scan A 5e1dd0d62451
voice is a skill published in the GitHub repository crisandrews/ClawCode (62 stars, last pushed 2d ago), licensed MIT. It adds 66 tokens to every session and 1,344 once invoked, about $0.0003 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-30.
Other skills, from other repositories
paper-illustration
Generate publication-quality AI illustrations for academic papers using Gemini image generation. Creates architecture diagrams, method illustrations with Claude-supervised iterative refinement loop. Use when user says "生成图表", "画架构图", "AI绘图", "paper illustration", "generate diagram", or needs visual figures for papers.
paper-illustration-image2
Generate publication-quality academic illustrations through a local Codex app-server bridge that uses Codex native image generation. This is a separate experimental alternative to paper-illustration, intended for Claude Code users who want a GPT-image-style renderer without modifying the original skill.
paper-poster-html
DEFAULT poster pipeline — build an academic conference poster (ICML/NeurIPS/ICLR/CVPR/...) as a single HTML/CSS file with measurement-driven hard gates, real paper figures, a two-hue design-token system, and print-ready PDF via headless Chromium. Use when the user says "做海报", "poster", "conference poster", "paper…
pixel-art
Generate pixel art SVG illustrations for READMEs, docs, or slides. Use when user says "画像素图", "pixel art", "make an SVG illustration", "README hero image", or wants a cute visual.
figure
Hybrid figure pipeline (Nano Banana raster + rembg background removal + TikZ vector assembly). Includes a TikZ template library covering quantum circuits (quantikz), Feynman diagrams (tikz-feynman), circuits (circuitikz), molecules (chemfig), 2D/3D plots (pgfplots), energy-level diagrams, phase-space trajectories…
spotify
Control Spotify playback — play, pause, skip, search, and queue tracks. Use when: user asks to play music, search for songs, control playback, or manage Spotify queue. NOT for: downloading music, non-Spotify services (Apple Music, YouTube Music), or audio file playback.