How this command is triggered — by the user, by Claude, or both
Slash command
/auto-speak:setupThe summary Claude sees in its command listing — used to decide when to auto-load this command
Walk the user through configuring the auto-speak plugin on this machine. Be
conversational and do one step at a time. The result is a config file at
`~/.claude/auto-speak.conf`.
IMPORTANT: do not use emojis anywhere in your responses during this
walkthrough (or in any test text you pass to `say`) - your replies are being
spoken aloud, and the speech synthesizer pronounces emojis literally
("party popper", "rocket", etc.).
## 1. Check dependencies
- Run `which jq`. If missing, tell the user to run `brew install jq` (the hook
is silent without it) and wait for confirmation.
- Confirm `sa...Walk the user through configuring the auto-speak plugin on this machine. Be
conversational and do one step at a time. The result is a config file at
~/.claude/auto-speak.conf.
IMPORTANT: do not use emojis anywhere in your responses during this
walkthrough (or in any test text you pass to say) - your replies are being
spoken aloud, and the speech synthesizer pronounces emojis literally
("party popper", "rocket", etc.).
which jq. If missing, tell the user to run brew install jq (the hook
is silent without it) and wait for confirmation.say works: say "Setup is starting" so the user hears audio output
is functional.say -v '?' | grep -iE "premium|enhanced" and
also show a few standard en_US voices if none are enhanced.say - do not download those.say -v "<Voice Name>" "This is what I sound like reading your responses."Demo a few speeds with the chosen voice, e.g. 175 (macOS default), 210, 230:
say -v "<Voice>" -r 210 "This is two hundred ten words per minute."
Explain the four options:
sentence - speaks just the first sentence (a spoken headline)paragraph - speaks up to the first blank line (recommended default)full - reads the entire response (code blocks are stripped)summary - a small headless Claude (haiku) condenses each response into a
couple of spoken sentences and always includes any questions directed at
the user. Best experience, but adds a few seconds of latency and a small
per-turn API/usage cost. Mention both trade-offs before the user picks it.Write the choices to ~/.claude/auto-speak.conf in shell-variable form, e.g.:
VOICE="Tom (Enhanced)"
RATE=210
MODE="paragraph"
Run the plugin's hook script directly with a simulated payload so the user
hears the real pipeline (use the actual plugin path from
${CLAUDE_PLUGIN_ROOT} if available, otherwise locate auto-speak.sh under
~/.claude/plugins/cache/):
echo '{"cwd":"'"$PWD"'","last_assistant_message":"Setup is complete. This is how your responses will sound from now on."}' | bash <path-to>/scripts/auto-speak.sh
Confirm the user heard it. Remind them: settings live in
~/.claude/auto-speak.conf (re-run this command anytime to change them),
quick toggles exist (/auto-speak:mode, /auto-speak:voice,
/auto-speak:rate, /auto-speak:timbre), and killall say stops playback
mid-readout.
Finally, mention that Claude Code has a native /voice command (not part of
this plugin) for talking to Claude instead of typing - paired with
auto-speak, the conversation becomes fully hands-free in both directions.
npx claudepluginhub coreyms/claude-auto-speak --plugin auto-speak/setupInitializes or resumes project setup via interactive Q&A, creating conductor/ artifacts for product definition, guidelines, tech stack, workflow, and style guides.
/setupWalks an enterprise admin through configuring the Claude Office add-in to call their own cloud (Vertex, Bedrock, Foundry, or gateway), producing a customized manifest.xml for M365 deployment.
/setupChecks local Codex CLI readiness, prompts to install if unavailable via npm, and optionally toggles stop-time review gate.
/setupInteractive setup wizard that detects installed AI providers, configures authentication, and optimizes token usage. Auto-runs on first install and surfaces a status dashboard on manual invocation.