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'.

Stars 5
Forks 2

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

  1. Session vs Config Scope - Use *_session_set for temporary overrides (current session only); use *_config_set for persistent changes across sessions.
  2. Hooks and MCP Are Independent - PostToolUse hooks are controlled by environment variables; notify_session_set/notify_config_set only affect MCP tool behavior.
  3. 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")

Expand your agent's capabilities with these related and highly-rated skills.

axiomantic/spellbook

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.

5 2
Explore
axiomantic/spellbook

documentation-updates

Use after modifying library skills, library commands, or agents to ensure CHANGELOG, README, and docs are updated

5 2
Explore
axiomantic/spellbook

project-encyclopedia

[DEPRECATED] Use project-level AGENTS.md files instead. Previously used for first-session codebase onboarding and persistent glossary creation.

5 2
Explore
axiomantic/spellbook

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).

5 2
Explore
axiomantic/spellbook

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.

5 2
Explore
axiomantic/spellbook

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.

5 2
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results