From mcp-tts
Configure TTS voice mode — first-time setup, toggle modes, set per-category voices, adjust thresholds
npx claudepluginhub stitts-dev/hubThis skill uses the workspace's default tool permissions.
Interactive control panel for the TTS voice system.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Interactive control panel for the TTS voice system.
get_voice_config to read current settingsneedsSetup is true: run the Setup flow (below) firstTTS Voice Config
─────────────────
Mode: [ambient] Enabled: [yes]
Threshold: [500 chars]
Categories:
completions ✓ voice: jessica
errors ✓ voice: rob
questions ✓ voice: edward
status ✓ voice: daniel
summaries ✓ voice: daniel
plans ✓ voice: edward
Default voice: edward
AskUserQuestion call. Include current values in each question text so the user knows what they're changing from:{
"questions": [
{
"question": "TTS Mode? (currently: ambient)",
"header": "Mode",
"multiSelect": false,
"options": [
{ "label": "Off", "description": "Nothing speaks" },
{ "label": "Minimal", "description": "Completions, errors, blocking questions" },
{ "label": "Ambient", "description": "All categories enabled" },
{ "label": "Full", "description": "Everything — summaries for long output" }
]
},
{
"question": "Which categories should be enabled? (Other for: summaries, plans)",
"header": "Categories",
"multiSelect": true,
"options": [
{ "label": "completions", "description": "Task completions" },
{ "label": "errors", "description": "Build/test failures" },
{ "label": "questions", "description": "Blocking questions" },
{ "label": "status", "description": "Progress updates" }
]
},
{
"question": "Default voice? (currently: edward) Other for: archer, donovan, juniper, mark-casual, mark-natural, cassidy, spuds, rob, adam",
"header": "Voice",
"multiSelect": false,
"options": [
{ "label": "edward", "description": "British, deep, composed (default)" },
{ "label": "jessica", "description": "Eloquent, dramatic" },
{ "label": "daniel", "description": "Steady broadcaster" },
{ "label": "austin", "description": "Deep, raspy, authentic" }
]
},
{
"question": "Summary threshold? (currently: 500 chars)",
"header": "Threshold",
"multiSelect": false,
"options": [
{ "label": "300", "description": "Speak more often" },
{ "label": "500 (default)", "description": "Balanced" },
{ "label": "800", "description": "Only long responses" },
{ "label": "Disabled", "description": "Never auto-summarize" }
]
}
]
}
set_voice_config callspeak("TTS settings updated.", category: "status")When get_voice_config returns needsSetup: true:
AskUserQuestion to ask them to paste their key:
setup_tts with the keyspeak("Voice setup complete. Welcome to TTS mode.", category: "completions") to test it| Mode | What speaks |
|---|---|
| Off | Nothing |
| Minimal | Task completions, build failures, blocking questions |
| Ambient | All of minimal + status updates + long-output summaries |
| Full | Everything — every response gets spoken (summaries for long output) |
Plans category: Enabled in Ambient and Full modes. Speaks when presenting or revising a plan.
edward, daniel, jessica, austin, archer, donovan, juniper, mark-casual, mark-natural, cassidy, spuds, rob, adam