5.7 KiB
/agent-vibes:bmad Command
Complete BMAD voice integration - assigns unique voices to each BMAD agent AND makes them speak when activated.
Usage
/agent-vibes:bmad <subcommand> [arguments]
Subcommands
enable
Enables voice assignment for BMAD agents AND automatically injects TTS into agent activation instructions.
What it does:
- ✅ Enables BMAD voice plugin (assigns voices to agents)
- ✅ Backs up current voice/personality settings
- ✅ Injects TTS hooks into all BMAD agent files
- ✅ BMAD agents will now SPEAK when they activate!
Example:
/agent-vibes:bmad enable
Output:
✅ BMAD voice plugin enabled
💾 Previous settings backed up:
Voice: Aria
Personality: normal
📊 BMAD Agent Voice Mappings:
pm → Matthew Schmitz [professional]
dev → Jessica Anne Bogart [normal]
qa → Ralf Eisend [professional]
🎤 Automatically enabling TTS for BMAD agents...
✅ Injected TTS into: pm.md → Voice: Matthew Schmitz
✅ Injected TTS into: dev.md → Voice: Jessica Anne Bogart
✅ Injected TTS into: qa.md → Voice: Ralf Eisend
🎉 TTS enabled for 10 agents
💡 BMAD agents will now speak when activated!
disable
Disables BMAD voice plugin AND removes TTS from all BMAD agents.
What it does:
- ✅ Restores your previous voice/personality settings
- ✅ Removes TTS hooks from all BMAD agent files
- ✅ Disables BMAD voice plugin
- ✅ Agents return to normal (silent) behavior
Example:
/agent-vibes:bmad disable
Output:
❌ BMAD voice plugin disabled
🔄 Restoring previous settings:
Voice: Aria
Personality: normal
🔇 Automatically disabling TTS for BMAD agents...
✅ Removed TTS from: pm.md
✅ Removed TTS from: dev.md
✅ Removed TTS from: qa.md
✅ TTS disabled for 10 agents
status
Shows plugin status and current voice mappings.
Example:
/agent-vibes:bmad status
Output:
✅ BMAD voice plugin: ENABLED
📊 BMAD Agent Voice Mappings:
pm → Matthew Schmitz [professional]
dev → Jessica Anne Bogart [normal]
qa → Ralf Eisend [professional]
...
list
Lists all BMAD agents and their assigned voices.
Example:
/agent-vibes:bmad list
set <agent-id> <voice> [personality]
Quickly change voice for specific agent.
Examples:
/agent-vibes:bmad set pm "Aria"
/agent-vibes:bmad set dev "Cowboy Bob" sarcastic
/agent-vibes:bmad set qa "Northern Terry" professional
Arguments:
agent-id: BMAD agent identifier (pm, dev, qa, architect, po, analyst, sm, ux-expert, bmad-master, bmad-orchestrator)voice: Valid AgentVibes voice namepersonality(optional): Personality to apply (default: normal)
edit
Opens .claude/plugins/bmad-voices.md for manual editing.
Example:
/agent-vibes:bmad edit
Usage: Edit the markdown table directly to change voice mappings.
How It Works
Voice Assignment
- Plugin File:
.claude/plugins/bmad-voices.mdcontains voice-to-agent mappings - Activation Flag:
.claude/plugins/bmad-voices-enabled.flagenables/disables the plugin
TTS Injection (Automatic)
When you run /agent-vibes:bmad enable, the system automatically:
- Scans BMAD agents: Finds all
.mdfiles in.bmad-core/agents/orbmad-core/agents/ - Injects TTS hooks: Modifies each agent's
activation-instructionsYAML block - Assigns voices: Uses the voice mapping from the plugin file
- Creates backups: Saves
.backup-pre-ttsfiles before modifying
What gets injected:
activation-instructions:
- STEP 4: Greet user with your name/role and immediately run `*help`
- # AGENTVIBES-TTS-INJECTION: Speak agent greeting with assigned voice
- Run this bash command to announce activation: .claude/hooks/play-tts.sh "Agent pm activated and ready" "Matthew Schmitz"
Result: When you activate a BMAD agent with /BMad:agents:pm, you'll hear:
🔊 "Agent pm activated and ready" (spoken in Matthew Schmitz's voice)
Provider Support
The TTS injection works with any configured TTS provider:
- ✅ ElevenLabs - Uses AI voices with full voice mapping
- ✅ Piper TTS - Uses neural voices (free, offline)
The system automatically detects your configured provider via /agent-vibes:provider info and uses the appropriate TTS engine. You can switch providers anytime with /agent-vibes:provider switch and the BMAD agents will continue speaking using the new provider.
Available BMAD Agents
| Agent ID | Role | Default Voice |
|---|---|---|
| pm | Product Manager | Matthew Schmitz |
| dev | Developer | Jessica Anne Bogart |
| qa | QA Engineer | Ralf Eisend |
| architect | Architect | Michael |
| po | Product Owner | Amy |
| analyst | Analyst | Lutz Laugh |
| sm | Scrum Master | Ms. Walker |
| ux-expert | UX Expert | Aria |
| bmad-master | BMAD Master | Aria |
| bmad-orchestrator | Orchestrator | Ms. Walker |
Implementation Details
For AgentVibes Developers:
The plugin integrates with the Agent Vibes output style through bash hooks:
# Check if BMAD agent is active
BMAD_AGENT_ID=$(echo "$COMMAND" | grep -oP '/BMad:agents:\K[a-z-]+')
# Get voice from plugin if enabled
if [[ -n "$BMAD_AGENT_ID" ]]; then
MAPPED_VOICE=$(.claude/hooks/bmad-voice-manager.sh get-voice "$BMAD_AGENT_ID")
if [[ -n "$MAPPED_VOICE" ]]; then
.claude/hooks/play-tts.sh "message" "$MAPPED_VOICE"
fi
fi