Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
This skill adds automatic voice message transcription using ElevenLabs Scribe API. When a voice note arrives, it is downloaded, transcribed, and delivered to the agent as [Voice: <transcript>].
Read .ghostclaw/state.yaml. If voice-transcription is in applied_skills, skip to Phase 3 (Configure). The code changes are already in place.
Use AskUserQuestion to collect information:
AskUserQuestion: Do you have an ElevenLabs API key?
If yes, collect it now. If no, direct them to create one at https://elevenlabs.io — sign up and get an API key from Settings > API Keys.
Run the skills engine to apply this skill's code package.
If .ghostclaw/ directory doesn't exist yet:
npx tsx scripts/apply-skill.ts --init
npx tsx scripts/apply-skill.ts .claude/skills/add-voice-transcription
This deterministically:
src/transcription.ts (voice transcription module using ElevenLabs Scribe)src/channels/whatsapp.ts (isVoiceMessage check, transcribeAudioMessage call)src/channels/whatsapp.test.ts (mock + 3 test cases).env.example with ELEVENLABS_API_KEY.ghostclaw/state.yamlIf the apply reports merge conflicts, read the intent files:
modify/src/channels/whatsapp.ts.intent.md — what changed and invariants for whatsapp.tsmodify/src/channels/whatsapp.test.ts.intent.md — what changed for whatsapp.test.tsnpm test
npm run build
All tests must pass (including the 3 new voice transcription tests) and build must be clean before proceeding.
If the user doesn't have an API key:
I need you to create an ElevenLabs API key:
- Go to https://elevenlabs.io and sign up (free tier available)
- Go to Settings > API Keys
- Click "Create API Key"
- Copy the key
The Scribe transcription API is included in all ElevenLabs plans.
Wait for the user to provide the key.
Add to .env:
ELEVENLABS_API_KEY=<their-key>
npm run build
launchctl kickstart -k gui/$(id -u)/com.ghostclaw # macOS
# Linux: systemctl --user restart ghostclaw
Tell the user:
Send a voice note in any registered chat (Telegram or WhatsApp). The agent should receive it as
[Voice: <transcript>]and respond to its content.
tail -f logs/ghostclaw.log | grep -i voice
Look for:
ElevenLabs transcription complete — successful transcription with character countELEVENLABS_API_KEY not set — key missing from .envElevenLabs STT failed — API error (check key validity)Failed to download audio message — media download issueELEVENLABS_API_KEY is set in .envcurl -s https://api.elevenlabs.io/v1/user -H "xi-api-key: $ELEVENLABS_API_KEY" | head -c 200Check logs for the specific error. Common causes:
Verify the chat is registered and the agent is running. Voice transcription only runs for registered groups.
npx skills add ziggythebot/add-voice-transcription下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer