This brings ElevenLabs text-to-speech to Claude with the same ease as macOS's built-in say command. You get voice responses in chat when users ask for them, plus fine control over delivery with audio tags like [whispers], [excited], and [short pause] for the v3 model. It handles the usual pain points: respelling for pronunciation, normalization flags for numbers and URLs, language hints for better output. The setup is clean if you're on Mac (brew install), needs an ElevenLabs API key, and defaults to their expressive v3 model. Honestly most useful when you want Claude to actually speak responses instead of just suggesting what to say, especially for character voices or accessibility scenarios.
$ npx -y skills add steipete/clawdis --skill sag --agent claude-codeInstalls into .claude/skills of the current project.
Use sag for ElevenLabs TTS with local playback.
API key (required)
ELEVENLABS_API_KEY (preferred)SAG_API_KEY also supported by the CLI--api-key-file, ELEVENLABS_API_KEY_FILE, or SAG_API_KEY_FILEQuick start
sag "Hello there"sag speak -v "Roger" "Hello"sag voicessag prompting (model-specific tips)Model notes
eleven_v3 (expressive)eleven_multilingual_v2eleven_flash_v2_5Pronunciation + delivery rules
--normalize auto (or off if it harms names).--lang en|de|fr|... to guide normalization.<break> not supported; use [pause], [short pause], [long pause].<break time="1.5s" /> supported; <phoneme> not exposed in sag.v3 audio tags (put at the entrance of a line)
[whispers], [shouts], [sings][laughs], [starts laughing], [sighs], [exhales][sarcastic], [curious], [excited], [crying], [mischievously]sag "[whispers] keep this quiet. [short pause] ok?"Voice defaults
ELEVENLABS_VOICE_ID or SAG_VOICE_IDConfirm voice + speaker before long output.
When the user asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
# Generate audio file
sag -v Clawd -o /tmp/voice-reply.mp3 "Your message here"
# Then include in reply:
# MEDIA:/tmp/voice-reply.mp3
Voice character tips:
[excited] tags, dramatic pauses [short pause], vary intensity[whispers] or slower pacing[sings] or [shouts] sparinglyDefault voice for Clawd: lj2rcrvANS3gaWWnczSX (or just -v Clawd)
Sponsors