fix: Enforce project hooks over global hooks in party mode

before, claude would sometimes favor global agent vibes hooks over project specific
This commit is contained in:
Paul Preibisch 2025-11-18 14:16:35 -07:00 committed by GitHub
parent 4fdabfca0d
commit 304cb2ec61
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 21 additions and 7 deletions

View File

@ -1,7 +1,8 @@
# Party Mode - Multi-Agent Discussion Instructions # Party Mode - Multi-Agent Discussion Instructions
<critical>The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/.bmad/core/tasks/workflow.xml</critical>
<critical>This workflow orchestrates group discussions between all installed BMAD agents</critical> <critical>This workflow orchestrates group discussions between all installed BMAD agents</critical>
<critical>IMPORTANT: Always use PROJECT hooks (.claude/hooks/), NEVER global hooks (~/.claude/hooks/)</critical>
<workflow> <workflow>
@ -25,6 +26,7 @@
<step n="2" goal="Initialize Party Mode"> <step n="2" goal="Initialize Party Mode">
<action>Announce party mode activation with enthusiasm</action> <action>Announce party mode activation with enthusiasm</action>
<note>If using TTS for announcement, use PROJECT hook: .claude/hooks/play-tts.sh (NOT ~/.claude/hooks/)</note>
<action>List all participating agents with their merged information:</action> <action>List all participating agents with their merged information:</action>
<format> <format>
🎉 PARTY MODE ACTIVATED! 🎉 🎉 PARTY MODE ACTIVATED! 🎉
@ -32,7 +34,7 @@
Participating agents: Participating agents:
[For each agent in roster:] [For each agent in roster:]
- [Icon Emoji] [Agent Name] ([Title]): [Role from merged data] - [Agent Name] ([Title]): [Role from merged data]
[Total count] agents ready to collaborate! [Total count] agents ready to collaborate!
@ -97,21 +99,33 @@
<action>For each agent response, output text THEN trigger their voice:</action> <action>For each agent response, output text THEN trigger their voice:</action>
<procedure> <procedure>
1. Output the agent's text in format: [Icon Emoji] [Agent Name]: [dialogue] 1. Output the agent's text in format: [Icon Emoji] [Agent Name]: [dialogue]
2. <!-- TTS_INJECTION:party-mode --> 2. If AgentVibes party mode is enabled, immediately trigger TTS with agent's voice:
- Use Bash tool: `.claude/hooks/bmad-speak.sh "[Agent Name]" "[dialogue]"`
- This speaks the dialogue with the agent's unique voice
- Run in background (&) to not block next agent
3. Repeat for each agent in the response 3. Repeat for each agent in the response
</procedure> </procedure>
<format> <format>
[Icon Emoji] [Agent Name]: [Their response in their voice/style] [Icon Emoji] [Agent Name]: [Their response in their voice/style]
[Icon Emoji] [Another Agent]: [Their response, potentially referencing the first] [Icon Emoji] [Another Agent]: [Their response, potentially referencing the first]
[Icon Emoji] [Third Agent if selected]: [Their contribution] [Icon Emoji] [Third Agent if selected]: [Their contribution]
</format> </format>
<example>
🏗️ [Winston]: I recommend using microservices for better scalability.
[Bash: .claude/hooks/bmad-speak.sh "Winston" "I recommend using microservices for better scalability."]
📋 [John]: But a monolith would get us to market faster for MVP.
[Bash: .claude/hooks/bmad-speak.sh "John" "But a monolith would get us to market faster for MVP."]
</example>
<action>Maintain spacing between agents for readability</action> <action>Maintain spacing between agents for readability</action>
<action>Preserve each agent's unique voice throughout</action> <action>Preserve each agent's unique voice throughout</action>
<action>Always include the agent's icon emoji from the manifest before their name</action>
<action>Trigger TTS for each agent immediately after outputting their text</action>
</substep> </substep>