Apply user-supplied prosody notes to a script — emphasis, pauses, section breaks, character-specific delivery — and emit marked-up output in SSML or the user's preferred engine flavour. Non-destructive: writes to edited/ alongside original/.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin text-to-speech-toolkitThis skill uses the workspace's default tool permissions.
Translate freeform user notes about pacing, emphasis, character delivery, and emotion into engine-specific markup. Claude locates targets in the source and applies appropriate tags (SSML by default, or ElevenLabs if configured), while documenting every interpretation.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Translate freeform user notes about pacing, emphasis, character delivery, and emotion into engine-specific markup. Claude locates targets in the source and applies appropriate tags (SSML by default, or ElevenLabs if configured), while documenting every interpretation.
config.json if it exists; if missing, ask the user (SSML is the default)${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/text-to-speech-toolkit/config.json if it exists. Extract default_engine. If missing, assume SSML; optionally ask the user.<prosody volume="-20dB">, "emphatic" → <emphasis level="strong">, "whispered" → <prosody pitch="-50%">, "excited" → <prosody rate="120%" pitch="+20%">, pauses → <break time="..."/>[whispers] or reduce capitalisation, "emphatic" → Capitalise key words, "whispered" → [whispers], "excited" → Capitalise, add [excited] audio tag, pauses → em-dash or ellipsis<workdir>/original/ and copy the source file unchanged.<workdir>/edited/ and write the marked-up output. Output filename: <source-stem>.ssml.xml (SSML) or <source-stem>.elevenlabs.txt (ElevenLabs).<source-stem>.ssml.xml or <source-stem>.elevenlabs.txt in <workdir>/edited/ — marked-up script ready for TTS, engine flavour determined by config<source-stem>.decisions.md — interpretation log showing how each prosody note was mapped to markup<workdir>/original/Non-destructive editing (brand rule): Never overwrite the user's source file. Always create original/ and edited/ subdirectories in the working directory. Default <workdir> to the source file's parent directory; allow the user to override.
Config-priming: Before applying any markup, read config.json and use default_engine to prime the engine flavour. If the file is missing or default_engine is unset, behave engine-agnostic (ask or default to SSML).
Ambiguous targets: If a user note is vague (e.g., "make it better"), ask for clarification. Do not guess. If a location target is ambiguous (multiple matches), list candidates and ask the user to disambiguate.
Preserve tone: Respect the user's intent. If a note says "soft", don't add emphasis elsewhere. Document any artistic choices you make.