Agent skill
audio-notifications
Reference for TTS and OS notification configuration. Auto-loads when TTS is enabled (session_init reports TTS active). Also triggered by: 'mute', 'unmute', 'change voice', 'volume', 'notify', 'notification settings', '/tts', '/notify', 'kokoro', 'speak', 'audio feedback'.
Install this agent skill to your Project
npx add-skill https://github.com/axiomantic/spellbook/tree/main/skills/audio-notifications
SKILL.md
Audio and Notification Configuration
Invariant Principles
- Session vs Config Scope - Use
*_session_setfor temporary overrides (current session only); use*_config_setfor persistent changes across sessions. - Hooks and MCP Are Independent - PostToolUse hooks are controlled by environment variables;
notify_session_set/notify_config_setonly affect MCP tool behavior. - Interactive Tools Are Excluded - TTS never fires for interactive or management tools (AskUserQuestion, TodoRead, TodoWrite, Task tools) regardless of duration.
Spellbook provides two feedback channels for long-running tool completions. Both auto-trigger via PostToolUse hooks when tools exceed 30 seconds (configurable).
TTS (Kokoro text-to-speech)
Requires uv pip install spellbook[tts]. Threshold: SPELLBOOK_TTS_THRESHOLD. Interactive/management tools excluded (AskUserQuestion, TodoRead, TodoWrite, TaskCreate, TaskUpdate, TaskGet, TaskList).
| MCP Tool | Purpose |
|---|---|
kokoro_speak(text, voice?, volume?) |
Speak text aloud |
kokoro_status() |
Check TTS availability |
tts_session_set(enabled?, voice?, volume?) |
Session override |
tts_config_set(enabled?, voice?, volume?) |
Persistent settings |
OS Notifications
Uses macOS Notification Center, Linux notify-send, or Windows toast. Threshold: SPELLBOOK_NOTIFY_THRESHOLD. Scope: notify_session_set and notify_config_set only affect MCP tool behavior (notify_send). PostToolUse hooks are separately controlled by SPELLBOOK_NOTIFY_ENABLED env var.
| MCP Tool | Purpose |
|---|---|
notify_send(body, title?) |
Send notification |
notify_status() |
Check availability |
notify_session_set(enabled?, title?) |
Session override |
notify_config_set(enabled?, title?) |
Persistent settings |
Quick Commands
- Mute session:
*_session_set(enabled=false) - Unmute:
*_session_set(enabled=true) - Change voice:
tts_config_set(voice="bf_emma") - Adjust volume:
tts_config_set(volume=0.5) - Change title:
notify_config_set(title="My Project")
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
spellbook-auditing
Meta-audit skill for spellbook development. Spawns parallel subagents to factcheck docs, optimize instructions, find token savings, and identify MCP candidates. Produces actionable report.
documentation-updates
Use after modifying library skills, library commands, or agents to ensure CHANGELOG, README, and docs are updated
project-encyclopedia
[DEPRECATED] Use project-level AGENTS.md files instead. Previously used for first-session codebase onboarding and persistent glossary creation.
reviewing-impl-plans
Use when reviewing implementation plans before execution. Triggers: 'is this plan solid', 'review the plan', 'check before I start building', 'anything missing from this plan', 'will this plan work', 'audit the implementation plan'. NOT for: reviewing design documents (use reviewing-design-docs) or creating plans (use writing-plans).
session-resume
Session resume protocol and session repairs handling. Loaded when spellbook_session_init returns resume_available: true, or when session_init returns a repairs array. Triggers: 'resume', 'continue', 'where were we', session resume, session repairs.
brainstorming
Use when exploring design approaches, generating ideas, or making architectural decisions. Triggers: 'explore options', 'what are the tradeoffs', 'how should I approach', 'let's think through', 'sketch out an approach', 'I need ideas for', 'how would you structure', 'what are my options'. Also invoked by develop when design decisions are needed.
Didn't find tool you were looking for?