# /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 [arguments] ``` ## Subcommands ### `enable` Enables voice assignment for BMAD agents AND automatically injects TTS into agent activation instructions. **What it does:** 1. ✅ Enables BMAD voice plugin (assigns voices to agents) 2. ✅ Backs up current voice/personality settings 3. ✅ Injects TTS hooks into all BMAD agent files 4. ✅ 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:** 1. ✅ Restores your previous voice/personality settings 2. ✅ Removes TTS hooks from all BMAD agent files 3. ✅ Disables BMAD voice plugin 4. ✅ 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 [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 name - `personality` (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 1. **Plugin File**: `.claude/plugins/bmad-voices.md` contains voice-to-agent mappings 2. **Activation Flag**: `.claude/plugins/bmad-voices-enabled.flag` enables/disables the plugin ### TTS Injection (Automatic) When you run `/agent-vibes:bmad enable`, the system automatically: 1. **Scans BMAD agents**: Finds all `.md` files in `.bmad-core/agents/` or `bmad-core/agents/` 2. **Injects TTS hooks**: Modifies each agent's `activation-instructions` YAML block 3. **Assigns voices**: Uses the voice mapping from the plugin file 4. **Creates backups**: Saves `.backup-pre-tts` files before modifying **What gets injected:** ```yaml 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: ```bash # 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 ```