con un clic
sag
ElevenLabs text-to-speech with mac-style say UX.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
ElevenLabs text-to-speech with mac-style say UX.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/.gensparx workspace/state directories (never spawn agents there). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
Diagnose Gensparx node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale, or plugins.entries.device-pair.config.publicUrl.
| name | sag |
| description | ElevenLabs text-to-speech with mac-style say UX. |
| homepage | https://sag.sh |
| metadata | {"gensparx":{"emoji":"🗣️","requires":{"bins":["sag"],"env":["ELEVENLABS_API_KEY"]},"primaryEnv":"ELEVENLABS_API_KEY","install":[{"id":"brew","kind":"brew","formula":"steipete/tap/sag","bins":["sag"],"label":"Install sag (brew)"}]}} |
Use sag for ElevenLabs TTS with local playback.
API key (required)
ELEVENLABS_API_KEY (preferred)SAG_API_KEY also supported by the CLIQuick 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 Peter asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
# Generate audio file
sag -v lj2rcrvANS3gaWWnczSX -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] sparinglyRecommended default voice ID: lj2rcrvANS3gaWWnczSX