agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data,…
Add voice message transcription to ClaudeClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
Claude Code
$ npx -y skills add sbusso/claudeclaw --skill add-voice-transcription --agent claude-code
Codex
$ npx skills add sbusso/claudeclaw --skill add-voice-transcription -a codex -y
Cursor
$ npx skills add sbusso/claudeclaw --skill add-voice-transcription -a cursor -y
Gemini CLI
$ npx skills add sbusso/claudeclaw --skill add-voice-transcription -a gemini-cli -y
GitHub Copilot
$ npx skills add sbusso/claudeclaw --skill add-voice-transcription -a github-copilot -y
OpenCode
$ npx skills add sbusso/claudeclaw --skill add-voice-transcription -a opencode -y
Windsurf
$ npx skills add sbusso/claudeclaw --skill add-voice-transcription -a windsurf -y
name: add-voice-transcription description: Add voice message transcription to ClaudeClaw 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 to ClaudeClaw's WhatsApp channel using OpenAI's Whisper API. When a voice note arrives, it is downloaded, transcribed, and delivered to the agent as `[Voice: <transcript>]`.
Check if `src/transcription.ts` exists. If it does, skip to Phase 3 (Configure). The code changes are already in place.
Use `AskUserQuestion` to collect information:
AskUserQuestion: Do you have an OpenAI API key for Whisper transcription?
If yes, collect it now. If no, direct them to create one at https://platform.openai.com/api-keys.
**Prerequisite:** WhatsApp must be installed first (`skill/whatsapp` merged). This skill modifies WhatsApp channel files.
git remote -v
If `whatsapp` is missing, add it:
git remote add whatsapp https://github.com/qwibitai/claudeclaw-whatsapp.git
git fetch whatsapp skill/voice-transcription
git merge whatsapp/skill/voice-transcription || {
git checkout --theirs package-lock.json
git add package-lock.json
git merge --continue
}This merges in:
If the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.
npm install --legacy-peer-deps npm run build npx vitest run src/channels/whatsapp.test.ts
All tests must pass and build must be clean before proceeding.
If the user doesn't have an API key:
> I need you to create an OpenAI API key: > > 1. Go to https://platform.openai.com/api-keys > 2. Click "Create new secret key" > 3. Give it a name (e.g., "ClaudeClaw Transcription") > 4. Copy the key (starts with `sk-`) > > Cost: ~$0.006 per minute of audio (~$0.003 per typical 30-second voice note)
Wait for the user to provide the key.
Add to `.env`:
OPENAI_API_KEY=<their-key>
Sync to container environment:
mkdir -p data/env && cp .env data/env/env
The container reads environment from `data/env/env`, not `.env` directly.
> **Service name:** Derived from the directory name: `com.claudeclaw.<dirname>` (macOS) / `claudeclaw-<dirname>` (Linux). For example, if cwd is `my-assistant`, the service is `com.claudeclaw.my-assistant`. Determine the correct service name before running service commands below.
npm run build launchctl kickstart -k gui/$(id -u)/com.claudeclaw # macOS # Linux: systemctl --user restart claudeclaw
Tell the user:
> Send a voice note in any registered WhatsApp chat. The agent should receive it as `[Voice: <transcript>]` and respond to its content.
tail -f logs/claudeclaw.log | grep -i voice
Look for:
1. Check `OPENAI_API_KEY` is set in `.env` AND synced to `data/env/env` 2. Verify key works: `curl -s https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY" | head -c 200` 3. Check OpenAI billing — Whisper requires a funded account
Check logs for the specific error. Common causes:
Verify the chat is registered and the agent is running. Voice transcription only runs for registered groups.
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data,…
Add /compact command for manual context compaction. Solves context rot in long sessions by forwarding the SDK's built-in /compact…
Add Gmail integration to ClaudeClaw. Can be configured as a tool (agent reads/sends emails when triggered from WhatsApp) or as a…
Add image vision to ClaudeClaw agents. Resizes and processes WhatsApp image attachments, then sends them to Claude as multimodal…
Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…