
Sag
- 3k installs
- 385k repo stars
- Updated August 3, 2026
- steipete/clawdis
sag is an agent skill for the sag CLI that turns text into ElevenLabs speech with voice, model, and delivery tag control.
About
sag is an agent skill for the sag CLI that provides mac-style say UX on top of ElevenLabs text-to-speech. It requires ELEVENLABS_API_KEY or SAG_API_KEY and supports quick commands such as sag "Hello there", sag speak with a named voice, sag voices, and sag prompting for model tips. Default model is eleven_v3 for expressive output, with eleven_multilingual_v2 for stability and eleven_flash_v2_5 for speed. Pronunciation guidance covers respelling, --normalize auto for numbers and URLs, --lang bias, v3 pause tags like [short pause], and v2 SSML break elements where supported. Voice replies for chat agents can write MP3 files with sag -v Clawd -o /tmp/voice-reply.mp3 and return MEDIA paths. Agents should confirm voice and speaker before long output and pick delivery tags such as [whispers] or [excited] for character. Install via brew steipete/tap/sag. Use when users request spoken responses, voice character delivery, or local TTS playback in OpenClaw style agent workflows.
- ElevenLabs TTS via sag CLI with ELEVENLABS_API_KEY or SAG_API_KEY.
- Models: eleven_v3 default, eleven_multilingual_v2 stable, eleven_flash_v2_5 fast.
- v3 supports audio tags like [whispers] and [short pause]; v2 supports SSML break tags.
- Voice reply pattern writes MP3 and returns MEDIA:/path for chat delivery.
- Install with brew steipete/tap/sag; confirm voice before long output.
Sag by the numbers
- 3,031 all-time installs (skills.sh)
- +160 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #72 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 3, 2026 (Skillselion catalog sync)
sag capabilities & compatibility
- Capabilities
- elevenlabs tts via sag speak and quick commands · voice listing and model selection across v3 and · pronunciation normalization and language bias fl · v3 audio delivery tags and v2 ssml break support · mp3 output for agent media voice replies
- Works with
- openai
- Use cases
- orchestration · transcription
- Pricing
- Bring your own API key
- Requires keys
- ELEVENLABS_API_KEY
What sag says it does
MEDIA:/tmp/voice-reply.mp3
npx skills add https://github.com/steipete/clawdis --skill sagAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3k |
|---|---|
| repo stars | ★ 385k |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 3, 2026 |
| Repository | steipete/clawdis ↗ |
How do I make an agent speak responses locally with ElevenLabs voices and correct model-specific delivery rules?
Generate ElevenLabs speech with the sag CLI using voice selection, model-specific delivery tags, and local playback for agent voice replies.
Who is it for?
OpenClaw or agent setups needing quick ElevenLabs TTS from the sag CLI with voice character control.
Skip if: Skip when you need non-ElevenLabs TTS or cloud-hosted streaming without the sag binary installed.
When should I use this skill?
User asks for voice reply, spoken output, sag command, ElevenLabs TTS, or audio tag delivery like whispers or excited.
What you get
Played or saved MP3 audio with chosen voice, normalization, and model-appropriate pause or SSML tags.
- Local MP3 speech output or played audio
By the numbers
- Supports ELEVENLABS_API_KEY with SAG_API_KEY fallback
- Installable via steipete/tap/sag Homebrew formula
Files
sag
Use sag for ElevenLabs TTS with local playback.
API key (required)
ELEVENLABS_API_KEY(preferred)SAG_API_KEYalso supported by the CLI
Quick start
sag "Hello there"sag speak -v "Roger" "Hello"sag voicessag prompting(model-specific tips)
Model notes
- Default:
eleven_v3(expressive) - Stable:
eleven_multilingual_v2 - Fast:
eleven_flash_v2_5
Pronunciation + delivery rules
- First fix: respell (e.g. "key-note"), add hyphens, adjust casing.
- Numbers/units/URLs:
--normalize auto(oroffif it harms names). - Language bias:
--lang en|de|fr|...to guide normalization. - v3: SSML
<break>not supported; use[pause],[short pause],[long pause]. - v2/v2.5: SSML
<break time="1.5s" />supported;<phoneme>not exposed insag.
v3 audio tags (put at the entrance of a line)
[whispers],[shouts],[sings][laughs],[starts laughing],[sighs],[exhales][sarcastic],[curious],[excited],[crying],[mischievously]- Example:
sag "[whispers] keep this quiet. [short pause] ok?"
Voice defaults
ELEVENLABS_VOICE_IDorSAG_VOICE_ID
Confirm voice + speaker before long output.
Chat voice responses
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.mp3Voice character tips:
- Crazy scientist: Use
[excited]tags, dramatic pauses[short pause], vary intensity - Calm: Use
[whispers]or slower pacing - Dramatic: Use
[sings]or[shouts]sparingly
Default voice for Clawd: lj2rcrvANS3gaWWnczSX (or just -v Clawd)
Related skills
Forks & variants (1)
Sag has 1 known copy in the catalog totaling 1 installs. They canonicalize to this original listing.
- letta-ai - 1 installs
How it compares
Choose sag for quick say-style ElevenLabs CLI playback instead of embedding the ElevenLabs SDK for simple agent voice output.
FAQ
Which API key does sag accept?
ELEVENLABS_API_KEY is preferred; SAG_API_KEY is also supported by the CLI.
How do pauses work on eleven_v3?
SSML break is not supported; use [pause], [short pause], or [long pause] tags instead.
How do agents return voice in chat?
Generate with sag -o /tmp/voice-reply.mp3 and include MEDIA:/tmp/voice-reply.mp3 in the reply.
Is Sag safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.