Compare commits

...

7 Commits

Author SHA1 Message Date
Sunil Prakash f02d36066d
Merge 36f9df69bf into 2302d9cdc5 2026-03-30 08:22:32 +03:00
Emmanuel Atsé 2302d9cdc5
docs(fr): translate output folder path resolution section (#2140)
Syncs French translation with commit 1040c3c (fix: correctly resolve
output_folder paths outside project root #2132).

Co-authored-by: Brian <bmadcode@gmail.com>
2026-03-29 14:01:09 -07:00
Alex Verkhovsky 3980e57885
feat(quick-dev): one-shot route generates spec trace file (#2121)
* feat(quick-dev): generate spec trace file for one-shot route

One-shot changes now leave a lightweight spec file with frontmatter,
intent summary, and suggested review order — eliminating numbering
gaps when quick-dev is used as the primary dev loop.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor(quick-dev): reference spec template instead of inlining structure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor(quick-dev): deduplicate slug derivation and clarify title variable

Extract shared slug derivation logic above the route fork in step-01 so
both one-shot and plan-code-review routes use a single instruction block.
Add explicit title variable assignment in step-oneshot before it is
referenced in the Generate Spec Trace section.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:55:09 -07:00
PinkyD 4b1026b252
fix(party-mode): clarify solo mode and improve response presentation (#2164)
* clear up contradiction and config mispath

* fix(party-mode): clarify solo mode behavior and improve response presentation rules

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 11:25:56 -05:00
PinkyD ce9c66490a
refactor(party-mode): consolidate into single SKILL.md with real subagents (#2160)
Replace the multi-file workflow architecture (workflow.md + 3 step files)
with a self-contained SKILL.md that spawns each agent as an independent
subagent via the Agent tool. This produces genuinely diverse perspectives
instead of one LLM roleplaying multiple characters. Adds --model and
--solo flags for flexibility.
2026-03-29 01:22:34 -05:00
sdev 36f9df69bf fix: address CodeRabbit review feedback for PRD scoping step
step-08-scoping.md:
- Neutral title replacing hard-coded "MVP & Future Features"
- Task statement no longer mandates phase-based prioritization
- Confirmation gate now covers artifact creation, not just de-scoping
- Phased delivery uses user-defined phase labels/count instead of fixed 3
- "wants phased" phrasing replaced with "requests/chooses"
- Development sequence question branches by release mode
- Menu text conditional on delivery mode (no "phased roadmap" for single-release)
- Handoff to step-09 now persists releaseMode in frontmatter
- New failure mode for unapproved phase artifact creation

step-11-polish.md:
- Preservation rule now includes consent-critical evidence from step 8
2026-03-27 18:13:18 +05:30
sdev 4655bb1482 fix(prd): require explicit user confirmation before de-scoping requirements or inventing phases 2026-03-27 18:13:17 +05:30
10 changed files with 227 additions and 708 deletions

View File

@ -37,7 +37,19 @@ Nécessite [Node.js](https://nodejs.org) v20+ et `npx` (inclus avec npm).
| `--user-name <nom>` | Nom à utiliser par les agents | Nom d'utilisateur système |
| `--communication-language <langue>` | Langue de communication des agents | Anglais |
| `--document-output-language <langue>` | Langue de sortie des documents | Anglais |
| `--output-folder <chemin>` | Chemin du dossier de sortie | _bmad-output |
| `--output-folder <chemin>` | Chemin du dossier de sortie (voir les règles de résolution ci-dessous) | `_bmad-output` |
#### Résolution du chemin du dossier de sortie
La valeur passée à `--output-folder` (ou saisie de manière interactive) est résolue selon ces règles :
| Type d'entrée | Exemple | Résolu comme |
|-------------------------------|----------------------------|--------------------------------------------------------------|
| Chemin relatif (par défaut) | `_bmad-output` | `<racine-du-projet>/_bmad-output` |
| Chemin relatif avec traversée | `../../shared-outputs` | Chemin absolu normalisé — ex. `/Users/me/shared-outputs` |
| Chemin absolu | `/Users/me/shared-outputs` | Utilisé tel quel — la racine du projet n'est **pas** ajoutée |
Le chemin résolu est ce que les agents et les workflows vont utiliser lors de l'écriture des fichiers de sortie. L'utilisation d'un chemin absolu ou d'un chemin relatif avec traversée vous permet de diriger tous les artefacts générés vers un répertoire en dehors de l'arborescence de votre projet — utile pour les configurations partagées ou les monorepos.
### Autres options
@ -141,6 +153,7 @@ Les valeurs invalides entraîneront soit :
:::tip[Bonnes pratiques]
- Utilisez des chemins absolus pour `--directory` pour éviter toute ambiguïté
- Utilisez un chemin absolu pour `--output-folder` lorsque vous souhaitez que les artefacts soient écrits en dehors de l'arborescence du projet (ex. un répertoire de sorties partagé dans un monorepo)
- Testez les options localement avant de les utiliser dans des pipelines CI/CD
- Combinez avec `-y` pour des installations vraiment sans surveillance
- Utilisez `--debug` si vous rencontrez des problèmes lors de l'installation

View File

@ -1,4 +1,4 @@
# Step 8: Scoping Exercise - MVP & Future Features
# Step 8: Scoping Exercise - Scope Definition (Phased or Single-Release)
**Progress: Step 8 of 11** - Next: Functional Requirements
@ -12,6 +12,8 @@
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on strategic scope decisions that keep projects viable
- 🎯 EMPHASIZE lean MVP thinking while preserving long-term vision
- ⚠️ NEVER de-scope, defer, or phase out requirements that the user explicitly included in their input documents without asking first
- ⚠️ NEVER invent phasing (MVP/Growth/Vision) unless the user requests phased delivery — if input documents define all components as core requirements, they are ALL in scope
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
@ -34,7 +36,7 @@
## YOUR TASK:
Conduct comprehensive scoping exercise to define MVP boundaries and prioritize features across development phases.
Conduct comprehensive scoping exercise to define release boundaries and prioritize features based on the user's chosen delivery mode (phased or single-release).
## SCOPING SEQUENCE:
@ -75,30 +77,41 @@ Use structured decision-making for scope:
- Advanced functionality that builds on MVP
- Ask what features could be added in versions 2, 3, etc.
**⚠️ SCOPE CHANGE CONFIRMATION GATE:**
- If you believe any user-specified requirement should be deferred or de-scoped, you MUST present this to the user and get explicit confirmation BEFORE removing it from scope
- Frame it as a recommendation, not a decision: "I'd recommend deferring X because [reason]. Do you agree, or should it stay in scope?"
- NEVER silently move user requirements to a later phase or exclude them from MVP
- Before creating any consequential phase-based artifacts (e.g., phase tags, labels, or follow-on prompts), present artifact creation as a recommendation and proceed only after explicit user approval
### 4. Progressive Feature Roadmap
Create phased development approach:
- Guide mapping of features across development phases
- Structure as Phase 1 (MVP), Phase 2 (Growth), Phase 3 (Vision)
- Ensure clear progression and dependencies
**CRITICAL: Phasing is NOT automatic. Check the user's input first.**
- Core user value delivery
- Essential user journeys
- Basic functionality that works reliably
Before proposing any phased approach, review the user's input documents:
**Phase 2: Growth**
- **If the input documents define all components as core requirements with no mention of phases:** Present all requirements as a single release scope. Do NOT invent phases or move requirements to fabricated future phases.
- **If the input documents explicitly request phased delivery:** Guide mapping of features across the phases the user defined.
- **If scope is unclear:** ASK the user whether they want phased delivery or a single release before proceeding.
- Additional user types
- Enhanced features
- Scale improvements
**When the user requests phased delivery**, guide mapping of features across the phases the user defines:
**Phase 3: Expansion**
- Use user-provided phase labels and count; if none are provided, propose a default (e.g., MVP/Growth/Vision) and ask for confirmation
- Ensure clear progression and dependencies between phases
- Advanced capabilities
- Platform features
- New markets or use cases
**Each phase should address:**
**Where does your current vision fit in this development sequence?**"
- Core user value delivery and essential journeys for that phase
- Clear boundaries on what ships in each phase
- Dependencies on prior phases
**When the user chooses a single release**, define the complete scope:
- All user-specified requirements are in scope
- Focus must-have vs nice-to-have analysis on what ships in this release
- Do NOT create phases — use must-have/nice-to-have priority within the single release
**If phased delivery:** "Where does your current vision fit in this development sequence?"
**If single release:** "How does your current vision map to this upcoming release?"
### 5. Risk-Based Scoping
@ -129,6 +142,8 @@ Prepare comprehensive scoping section:
#### Content Structure:
**If user chose phased delivery:**
```markdown
## Project Scoping & Phased Development
@ -160,11 +175,39 @@ Prepare comprehensive scoping section:
**Resource Risks:** {{contingency_approach}}
```
**If user chose single release (no phasing):**
```markdown
## Project Scoping
### Strategy & Philosophy
**Approach:** {{chosen_approach}}
**Resource Requirements:** {{team_size_and_skills}}
### Complete Feature Set
**Core User Journeys Supported:**
{{all_journeys}}
**Must-Have Capabilities:**
{{list_of_must_have_features}}
**Nice-to-Have Capabilities:**
{{list_of_nice_to_have_features}}
### Risk Mitigation Strategy
**Technical Risks:** {{mitigation_approach}}
**Market Risks:** {{validation_approach}}
**Resource Risks:** {{contingency_approach}}
```
### 7. Present MENU OPTIONS
Present the scoping decisions for review, then display menu:
- Show strategic scoping plan (using structure from step 6)
- Highlight MVP boundaries and phased roadmap
- Highlight release boundaries and prioritization (phased roadmap only if phased delivery was selected)
- Ask if they'd like to refine further, get other perspectives, or proceed
- Present menu options naturally as part of conversation
@ -173,7 +216,7 @@ Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Fu
#### Menu Handling Logic:
- IF A: Invoke the `bmad-advanced-elicitation` skill with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
- IF P: Invoke the `bmad-party-mode` skill with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-09-functional.md
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array (also add `releaseMode: phased` or `releaseMode: single-release` to frontmatter based on user's choice), then read fully and follow: ./step-09-functional.md
- IF Any other: help user respond, then redisplay menu
#### EXECUTION RULES:
@ -189,8 +232,9 @@ When user selects 'C', append the content directly to the document using the str
✅ Complete PRD document analyzed for scope implications
✅ Strategic MVP approach defined and justified
✅ Clear MVP feature boundaries established
✅ Phased development roadmap created
✅ Clear feature boundaries established (phased or single-release, per user preference)
✅ All user-specified requirements accounted for — none silently removed or deferred
✅ Any scope reduction recommendations presented to user with rationale and explicit confirmation obtained
✅ Key risks identified and mitigation strategies defined
✅ User explicitly agrees to scope decisions
✅ A/P/C menu presented and handled correctly
@ -202,8 +246,11 @@ When user selects 'C', append the content directly to the document using the str
❌ Making scope decisions without strategic rationale
❌ Not getting explicit user agreement on MVP boundaries
❌ Missing critical risk analysis
❌ Not creating clear phased development approach
❌ Not presenting A/P/C menu after content generation
**CRITICAL**: Silently de-scoping or deferring requirements that the user explicitly included in their input documents
**CRITICAL**: Inventing phasing (MVP/Growth/Vision) when the user did not request phased delivery
**CRITICAL**: Making consequential scoping decisions (what is in/out of scope) without explicit user confirmation
**CRITICAL**: Creating phase-based artifacts (tags, labels, follow-on prompts) without explicit user approval
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file

View File

@ -138,7 +138,7 @@ Make targeted improvements:
- All user success criteria
- All functional requirements (capability contract)
- All user journey narratives
- All scope decisions (MVP, Growth, Vision)
- All scope decisions (whether phased or single-release), including consent-critical evidence (explicit user confirmations and rationales for any scope changes from step 8)
- All non-functional requirements
- Product differentiator and vision
- Domain-specific requirements

View File

@ -1,7 +1,7 @@
---
wipFile: '{implementation_artifacts}/spec-wip.md'
deferred_work_file: '{implementation_artifacts}/deferred-work.md'
spec_file: '' # set at runtime for plan-code-review before leaving this step
spec_file: '' # set at runtime for both routes before leaving this step
---
# Step 1: Clarify and Route
@ -52,11 +52,13 @@ Never ask extra questions if you already understand what the user intends.
- On **K**: Proceed as-is.
5. Route — choose exactly one:
Derive a valid kebab-case slug from the clarified intent. If the intent references a tracking identifier (story number, issue number, ticket ID), lead the slug with it (e.g. `3-2-digest-delivery`, `gh-47-fix-auth`). If `{implementation_artifacts}/spec-{slug}.md` already exists, append `-2`, `-3`, etc. Set `spec_file` = `{implementation_artifacts}/spec-{slug}.md`.
**a) One-shot** — zero blast radius: no plausible path by which this change causes unintended consequences elsewhere. Clear intent, no architectural decisions.
**EARLY EXIT**`./step-oneshot.md`
**b) Plan-code-review** — everything else. When uncertain whether blast radius is truly zero, choose this path.
1. Derive a valid kebab-case slug from the clarified intent. If the intent references a tracking identifier (story number, issue number, ticket ID), lead the slug with it (e.g. `3-2-digest-delivery`, `gh-47-fix-auth`). If `{implementation_artifacts}/spec-{slug}.md` already exists, append `-2`, `-3`, etc. Set `spec_file` = `{implementation_artifacts}/spec-{slug}.md`.
## NEXT

View File

@ -1,5 +1,6 @@
---
deferred_work_file: '{implementation_artifacts}/deferred-work.md'
spec_file: '' # set by step-01 before entering this step
---
# Step One-Shot: Implement, Review, Present
@ -29,19 +30,31 @@ Deduplicate all review findings. Three categories only:
If a finding is caused by this change but too significant for a trivial patch, HALT and present it to the human for decision before proceeding.
### Generate Spec Trace
Set `{title}` = a concise title derived from the clarified intent.
Write `{spec_file}` using `./spec-template.md`. Fill only these sections — delete all others:
1. **Frontmatter** — set `title: '{title}'`, `type`, `created`, `status: 'done'`. Add `route: 'one-shot'`.
2. **Title and Intent**`# {title}` heading and `## Intent` with **Problem** and **Approach** lines. Reuse the summary you already generated for the terminal.
3. **Suggested Review Order** — append after Intent. Build using the same convention as `./step-05-present.md` § "Generate Suggested Review Order" (spec-file-relative links, concern-based ordering, ultra-concise framing).
### Commit
If version control is available and the tree is dirty, create a local commit with a conventional message derived from the intent. If VCS is unavailable, skip.
### Present
1. Open all changed files in the user's editor so they can review the code directly:
- Resolve two sets of absolute paths: (1) the repository root (`git rev-parse --show-toplevel` — returns the worktree root when in a worktree, project root otherwise; if this fails, fall back to the current working directory), (2) each changed file. Run `code -r "{absolute-root}" <absolute-changed-file-paths>` — the root first so VS Code opens in the right context, then each changed file. Always double-quote paths to handle spaces and special characters.
- If `code` is not available (command fails), skip gracefully and list the file paths instead.
1. Open the spec in the user's editor so they can click through the Suggested Review Order:
- Resolve two absolute paths: (1) the repository root (`git rev-parse --show-toplevel` — returns the worktree root when in a worktree, project root otherwise; if this fails, fall back to the current working directory), (2) `{spec_file}`. Run `code -r "{absolute-root}" "{absolute-spec-file}"` — the root first so VS Code opens in the right context, then the spec file. Always double-quote paths to handle spaces and special characters.
- If `code` is not available (command fails), skip gracefully and tell the user the spec file path instead.
2. Display a summary in conversation output, including:
- The commit hash (if one was created).
- List of files changed with one-line descriptions. Use CWD-relative paths with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability. No leading `/`.
- List of files changed with one-line descriptions. Any file paths shown in conversation/terminal output must use CWD-relative format (no leading `/`) with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability — this differs from spec-file links which use spec-file-relative paths.
- Review findings breakdown: patches applied, items deferred, items rejected. If all findings were rejected, say so.
- A note that the spec is open in their editor (or the file path if it couldn't be opened). Mention that `{spec_file}` now contains a Suggested Review Order.
- **Navigation tip:** "Ctrl+click (Cmd+click on macOS) the links in the Suggested Review Order to jump to each stop."
3. Offer to push and/or create a pull request.
HALT and wait for human input.

View File

@ -1,6 +1,125 @@
---
name: bmad-party-mode
description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations. Use when user requests party mode.'
description: 'Orchestrates group discussions between installed BMAD agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
---
Follow the instructions in ./workflow.md.
# Party Mode
Facilitate roundtable discussions where BMAD agents participate as **real subagents** — each spawned independently via the Agent tool so they think for themselves. You are the orchestrator: you pick voices, build context, spawn agents, and present their responses. In the default subagent mode, never generate agent responses yourself — that's the whole point. In `--solo` mode, you roleplay all agents directly.
## Why This Matters
The whole point of party mode is that each agent produces a genuinely independent perspective. When one LLM roleplays multiple characters, the "opinions" tend to converge and feel performative. By spawning each agent as its own subagent process, you get real diversity of thought — agents that actually disagree, catch things the others miss, and bring their authentic expertise to bear.
## Arguments
Party mode accepts optional arguments when invoked:
- `--model <model>` — Force all subagents to use a specific model (e.g. `--model haiku`, `--model opus`). When omitted, choose the model that fits the round: use a faster model (like `haiku`) for brief or reactive responses, and the default model for deep or complex topics. Match model weight to the depth of thinking the round requires.
- `--solo` — Run without subagents. Instead of spawning independent agents, roleplay all selected agents yourself in a single response. This is useful when subagents aren't available, when speed matters more than independence, or when the user just prefers it. Announce solo mode on activation so the user knows responses come from one LLM.
## On Activation
1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
2. Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- Use `{user_name}` for greeting
- Use `{communication_language}` for all communications
3. **Read the agent manifest** at `{project-root}/_bmad/_config/agent-manifest.csv`. Build an internal roster of available agents with their displayName, title, icon, role, identity, communicationStyle, and principles.
4. **Load project context** — search for `**/project-context.md`. If found, hold it as background context that gets passed to agents when relevant.
5. **Welcome the user** — briefly introduce party mode (mention if solo mode is active). Show the full agent roster (icon + name + one-line role) so the user knows who's available. Ask what they'd like to discuss.
## The Core Loop
For each user message:
### 1. Pick the Right Voices
Choose 2-4 agents whose expertise is most relevant to what the user is asking. Use your judgment — you know each agent's role and identity from the manifest. Some guidelines:
- **Simple question**: 2 agents with the most relevant expertise
- **Complex or cross-cutting topic**: 3-4 agents from different domains
- **User names specific agents**: Always include those, plus 1-2 complementary voices
- **User asks an agent to respond to another**: Spawn just that agent with the other's response as context
- **Rotate over time** — avoid the same 2 agents dominating every round
### 2. Build Context and Spawn
For each selected agent, spawn a subagent using the Agent tool. Each subagent gets:
**The agent prompt** (built from the manifest data):
```
You are {displayName} ({title}), a BMAD agent in a collaborative roundtable discussion.
## Your Persona
- Icon: {icon}
- Communication Style: {communicationStyle}
- Principles: {principles}
- Identity: {identity}
## Discussion Context
{summary of the conversation so far — keep under 400 words}
{project context if relevant}
## What Other Agents Said This Round
{if this is a cross-talk or reaction request, include the responses being reacted to — otherwise omit this section}
## The User's Message
{the user's actual message}
## Guidelines
- Respond authentically as {displayName}. Your perspective should reflect your genuine expertise.
- Start your response with: {icon} **{displayName}:**
- Speak in {communication_language}.
- Scale your response to the substance — don't pad. If you have a brief point, make it briefly.
- Disagree with other agents when your expertise tells you to. Don't hedge or be polite about it.
- If you have nothing substantive to add, say so in one sentence rather than manufacturing an opinion.
- You may ask the user direct questions if something needs clarification.
- Do NOT use tools. Just respond with your perspective.
```
**Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. If `--model` was specified, use that model for all subagents. Otherwise, pick the model that matches the round — faster/cheaper models for brief takes, the default for substantive analysis.
**Solo mode** — if `--solo` is active, skip spawning. Instead, generate all agent responses yourself in a single message, staying faithful to each agent's persona. Keep responses clearly separated with each agent's icon and name header.
### 3. Present Responses
Present each agent's full response to the user — distinct, complete, and in their own voice. The user is here to hear the agents speak, not to read your synthesis of what they think. Whether the responses came from subagents or you generated them in solo mode, the rule is the same: each agent's perspective gets its own unabridged section. Never blend, paraphrase, or condense agent responses into a summary.
The format is simple: each agent's response one after another, separated by a blank line. No introductions, no "here's what they said", no framing — just the responses themselves.
After all agent responses are presented in full, you may optionally add a brief **Orchestrator Note** — flagging a disagreement worth exploring, or suggesting an agent to bring in next round. Keep this short and clearly labeled so it's not confused with agent speech.
### 4. Handle Follow-ups
The user drives what happens next. Common patterns:
| User says... | You do... |
|---|---|
| Continues the general discussion | Pick fresh agents, repeat the loop |
| "Winston, what do you think about what Sally said?" | Spawn just Winston with Sally's response as context |
| "Bring in Quinn on this" | Spawn Quinn with a summary of the discussion so far |
| "I agree with John, let's go deeper on that" | Spawn John + 1-2 others to expand on John's point |
| "What would Mary and Bob think about Winston's approach?" | Spawn Mary and Bob with Winston's response as context |
| Asks a question directed at everyone | Back to step 1 with all agents |
The key insight: you can spawn any combination at any time. One agent, two agents reacting to a third, the whole roster — whatever serves the conversation. Each spawn is cheap and independent.
## Keeping Context Manageable
As the conversation grows, you'll need to summarize prior rounds rather than passing the full transcript to each subagent. Aim to keep the "Discussion Context" section under 400 words — a tight summary of what's been discussed, what positions agents have taken, and what the user seems to be driving toward. Update this summary every 2-3 rounds or when the topic shifts significantly.
## When Things Go Sideways
- **Agents are all saying the same thing**: Bring in a contrarian voice, or ask a specific agent to play devil's advocate by framing the prompt that way.
- **Discussion is going in circles**: Summarize the impasse and ask the user what angle they want to explore next.
- **User seems disengaged**: Ask directly — continue, change topic, or wrap up?
- **Agent gives a weak response**: Don't retry. Present it and let the user decide if they want more from that agent.
## Exit
When the user says they're done (any natural phrasing — "thanks", "that's all", "end party mode", etc.), give a brief wrap-up of the key takeaways from the discussion and return to normal mode. Don't force exit triggers — just read the room.

View File

@ -1,138 +0,0 @@
# Step 1: Agent Loading and Party Mode Initialization
## MANDATORY EXECUTION RULES (READ FIRST):
- ✅ YOU ARE A PARTY MODE FACILITATOR, not just a workflow executor
- 🎯 CREATE ENGAGING ATMOSPHERE for multi-agent collaboration
- 📋 LOAD COMPLETE AGENT ROSTER from manifest with merged personalities
- 🔍 PARSE AGENT DATA for conversation orchestration
- 💬 INTRODUCE DIVERSE AGENT SAMPLE to kick off discussion
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show agent loading process before presenting party activation
- ⚠️ Present [C] continue option after agent roster is loaded
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1]` before loading next step
- 🚫 FORBIDDEN to start conversation until C is selected
## CONTEXT BOUNDARIES:
- Agent manifest CSV is available at `{project-root}/_bmad/_config/agent-manifest.csv`
- User configuration from config.yaml is loaded and resolved
- Party mode is standalone interactive workflow
- All agent data is available for conversation orchestration
## YOUR TASK:
Load the complete agent roster from manifest and initialize party mode with engaging introduction.
## AGENT LOADING SEQUENCE:
### 1. Load Agent Manifest
Begin agent loading process:
"Now initializing **Party Mode** with our complete BMAD agent roster! Let me load up all our talented agents and get them ready for an amazing collaborative discussion.
**Agent Manifest Loading:**"
Load and parse the agent manifest CSV from `{project-root}/_bmad/_config/agent-manifest.csv`
### 2. Extract Agent Data
Parse CSV to extract complete agent information for each entry:
**Agent Data Points:**
- **name** (agent identifier for system calls)
- **displayName** (agent's persona name for conversations)
- **title** (formal position and role description)
- **icon** (visual identifier emoji)
- **role** (capabilities and expertise summary)
- **identity** (background and specialization details)
- **communicationStyle** (how they communicate and express themselves)
- **principles** (decision-making philosophy and values)
- **module** (source module organization)
- **path** (file location reference)
### 3. Build Agent Roster
Create complete agent roster with merged personalities:
**Roster Building Process:**
- Combine manifest data with agent file configurations
- Merge personality traits, capabilities, and communication styles
- Validate agent availability and configuration completeness
- Organize agents by expertise domains for intelligent selection
### 4. Party Mode Activation
Generate enthusiastic party mode introduction:
"🎉 PARTY MODE ACTIVATED! 🎉
Welcome {{user_name}}! I'm excited to facilitate an incredible multi-agent discussion with our complete BMAD team. All our specialized agents are online and ready to collaborate, bringing their unique expertise and perspectives to whatever you'd like to explore.
**Our Collaborating Agents Include:**
[Display 3-4 diverse agents to showcase variety]:
- [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
- [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
- [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
**[Total Count] agents** are ready to contribute their expertise!
**What would you like to discuss with the team today?**"
### 5. Present Continue Option
After agent loading and introduction:
"**Agent roster loaded successfully!** All our BMAD experts are excited to collaborate with you.
**Ready to start the discussion?**
[C] Continue - Begin multi-agent conversation
### 6. Handle Continue Selection
#### If 'C' (Continue):
- Update frontmatter: `stepsCompleted: [1]`
- Set `agents_loaded: true` and `party_active: true`
- Load: `./step-02-discussion-orchestration.md`
## SUCCESS METRICS:
✅ Agent manifest successfully loaded and parsed
✅ Complete agent roster built with merged personalities
✅ Engaging party mode introduction created
✅ Diverse agent sample showcased for user
✅ [C] continue option presented and handled correctly
✅ Frontmatter updated with agent loading status
✅ Proper routing to discussion orchestration step
## FAILURE MODES:
❌ Failed to load or parse agent manifest CSV
❌ Incomplete agent data extraction or roster building
❌ Generic or unengaging party mode introduction
❌ Not showcasing diverse agent capabilities
❌ Not presenting [C] continue option after loading
❌ Starting conversation without user selection
## AGENT LOADING PROTOCOLS:
- Validate CSV format and required columns
- Handle missing or incomplete agent entries gracefully
- Cross-reference manifest with actual agent files
- Prepare agent selection logic for intelligent conversation routing
## NEXT STEP:
After user selects 'C', load `./step-02-discussion-orchestration.md` to begin the interactive multi-agent conversation with intelligent agent selection and natural conversation flow.
Remember: Create an engaging, party-like atmosphere while maintaining professional expertise and intelligent conversation orchestration!

View File

@ -1,187 +0,0 @@
# Step 2: Discussion Orchestration and Multi-Agent Conversation
## MANDATORY EXECUTION RULES (READ FIRST):
- ✅ YOU ARE A CONVERSATION ORCHESTRATOR, not just a response generator
- 🎯 SELECT RELEVANT AGENTS based on topic analysis and expertise matching
- 📋 MAINTAIN CHARACTER CONSISTENCY using merged agent personalities
- 🔍 ENABLE NATURAL CROSS-TALK between agents for dynamic conversation
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Analyze user input for intelligent agent selection before responding
- ⚠️ Present [E] exit option after each agent response round
- 💾 Continue conversation until user selects E (Exit)
- 📖 Maintain conversation state and context throughout session
- 🚫 FORBIDDEN to exit until E is selected or exit trigger detected
## CONTEXT BOUNDARIES:
- Complete agent roster with merged personalities is available
- User topic and conversation history guide agent selection
- Exit triggers: `*exit`, `goodbye`, `end party`, `quit`
## YOUR TASK:
Orchestrate dynamic multi-agent conversations with intelligent agent selection, natural cross-talk, and authentic character portrayal.
## DISCUSSION ORCHESTRATION SEQUENCE:
### 1. User Input Analysis
For each user message or topic:
**Input Analysis Process:**
"Analyzing your message for the perfect agent collaboration..."
**Analysis Criteria:**
- Domain expertise requirements (technical, business, creative, etc.)
- Complexity level and depth needed
- Conversation context and previous agent contributions
- User's specific agent mentions or requests
### 2. Intelligent Agent Selection
Select 2-3 most relevant agents based on analysis:
**Selection Logic:**
- **Primary Agent**: Best expertise match for core topic
- **Secondary Agent**: Complementary perspective or alternative approach
- **Tertiary Agent**: Cross-domain insight or devil's advocate (if beneficial)
**Priority Rules:**
- If user names specific agent → Prioritize that agent + 1-2 complementary agents
- Rotate agent participation over time to ensure inclusive discussion
- Balance expertise domains for comprehensive perspectives
### 3. In-Character Response Generation
Generate authentic responses for each selected agent:
**Character Consistency:**
- Apply agent's exact communication style from merged data
- Reflect their principles and values in reasoning
- Draw from their identity and role for authentic expertise
- Maintain their unique voice and personality traits
**Response Structure:**
[For each selected agent]:
"[Icon Emoji] **[Agent Name]**: [Authentic in-character response]
[Bash: .claude/hooks/bmad-speak.sh \"[Agent Name]\" \"[Their response]\"]"
### 4. Natural Cross-Talk Integration
Enable dynamic agent-to-agent interactions:
**Cross-Talk Patterns:**
- Agents can reference each other by name: "As [Another Agent] mentioned..."
- Building on previous points: "[Another Agent] makes a great point about..."
- Respectful disagreements: "I see it differently than [Another Agent]..."
- Follow-up questions between agents: "How would you handle [specific aspect]?"
**Conversation Flow:**
- Allow natural conversational progression
- Enable agents to ask each other questions
- Maintain professional yet engaging discourse
- Include personality-driven humor and quirks when appropriate
### 5. Question Handling Protocol
Manage different types of questions appropriately:
**Direct Questions to User:**
When an agent asks the user a specific question:
- End that response round immediately after the question
- Clearly highlight: **[Agent Name] asks: [Their question]**
- Display: _[Awaiting user response...]_
- WAIT for user input before continuing
**Rhetorical Questions:**
Agents can ask thinking-aloud questions without pausing conversation flow.
**Inter-Agent Questions:**
Allow natural back-and-forth within the same response round for dynamic interaction.
### 6. Response Round Completion
After generating all agent responses for the round, let the user know he can speak naturally with the agents, an then show this menu opion"
`[E] Exit Party Mode - End the collaborative session`
### 7. Exit Condition Checking
Check for exit conditions before continuing:
**Automatic Triggers:**
- User message contains: `*exit`, `goodbye`, `end party`, `quit`
- Immediate agent farewells and workflow termination
**Natural Conclusion:**
- Conversation seems naturally concluding
- Confirm if the user wants to exit party mode and go back to where they were or continue chatting. Do it in a conversational way with an agent in the party.
### 8. Handle Exit Selection
#### If 'E' (Exit Party Mode):
- Read fully and follow: `./step-03-graceful-exit.md`
## SUCCESS METRICS:
✅ Intelligent agent selection based on topic analysis
✅ Authentic in-character responses maintained consistently
✅ Natural cross-talk and agent interactions enabled
✅ Question handling protocol followed correctly
✅ [E] exit option presented after each response round
✅ Conversation context and state maintained throughout
✅ Graceful conversation flow without abrupt interruptions
## FAILURE MODES:
❌ Generic responses without character consistency
❌ Poor agent selection not matching topic expertise
❌ Ignoring user questions or exit triggers
❌ Not enabling natural agent cross-talk and interactions
❌ Continuing conversation without user input when questions asked
## CONVERSATION ORCHESTRATION PROTOCOLS:
- Maintain conversation memory and context across rounds
- Rotate agent participation for inclusive discussions
- Handle topic drift while maintaining productivity
- Balance fun and professional collaboration
- Enable learning and knowledge sharing between agents
## MODERATION GUIDELINES:
**Quality Control:**
- If discussion becomes circular, have bmad-master summarize and redirect
- Ensure all agents stay true to their merged personalities
- Handle disagreements constructively and professionally
- Maintain respectful and inclusive conversation environment
**Flow Management:**
- Guide conversation toward productive outcomes
- Encourage diverse perspectives and creative thinking
- Balance depth with breadth of discussion
- Adapt conversation pace to user engagement level
## NEXT STEP:
When user selects 'E' or exit conditions are met, load `./step-03-graceful-exit.md` to provide satisfying agent farewells and conclude the party mode session.
Remember: Orchestrate engaging, intelligent conversations while maintaining authentic agent personalities and natural interaction patterns!

View File

@ -1,167 +0,0 @@
# Step 3: Graceful Exit and Party Mode Conclusion
## MANDATORY EXECUTION RULES (READ FIRST):
- ✅ YOU ARE A PARTY MODE COORDINATOR concluding an engaging session
- 🎯 PROVIDE SATISFYING AGENT FAREWELLS in authentic character voices
- 📋 EXPRESS GRATITUDE to user for collaborative participation
- 🔍 ACKNOWLEDGE SESSION HIGHLIGHTS and key insights gained
- 💬 MAINTAIN POSITIVE ATMOSPHERE until the very end
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Generate characteristic agent goodbyes that reflect their personalities
- ⚠️ Complete workflow exit after farewell sequence
- 💾 Update frontmatter with final workflow completion
- 📖 Clean up any active party mode state or temporary data
- 🚫 FORBIDDEN abrupt exits without proper agent farewells
## CONTEXT BOUNDARIES:
- Party mode session is concluding naturally or via user request
- Complete agent roster and conversation history are available
- User has participated in collaborative multi-agent discussion
- Final workflow completion and state cleanup required
## YOUR TASK:
Provide satisfying agent farewells and conclude the party mode session with gratitude and positive closure.
## GRACEFUL EXIT SEQUENCE:
### 1. Acknowledge Session Conclusion
Begin exit process with warm acknowledgment:
"What an incredible collaborative session! Thank you {{user_name}} for engaging with our BMAD agent team in this dynamic discussion. Your questions and insights brought out the best in our agents and led to some truly valuable perspectives.
**Before we wrap up, let a few of our agents say goodbye...**"
### 2. Generate Agent Farewells
Select 2-3 agents who were most engaged or representative of the discussion:
**Farewell Selection Criteria:**
- Agents who made significant contributions to the discussion
- Agents with distinct personalities that provide memorable goodbyes
- Mix of expertise domains to showcase collaborative diversity
- Agents who can reference session highlights meaningfully
**Agent Farewell Format:**
For each selected agent:
"[Icon Emoji] **[Agent Name]**: [Characteristic farewell reflecting their personality, communication style, and role. May reference session highlights, express gratitude, or offer final insights related to their expertise domain.]
[Bash: .claude/hooks/bmad-speak.sh \"[Agent Name]\" \"[Their farewell message]\"]"
**Example Farewells:**
- **Architect/Winston**: "It's been a pleasure architecting solutions with you today! Remember to build on solid foundations and always consider scalability. Until next time! 🏗️"
- **Innovator/Creative Agent**: "What an inspiring creative journey! Don't let those innovative ideas fade - nurture them and watch them grow. Keep thinking outside the box! 🎨"
- **Strategist/Business Agent**: "Excellent strategic collaboration today! The insights we've developed will serve you well. Keep analyzing, keep optimizing, and keep winning! 📈"
### 3. Session Highlight Summary
Briefly acknowledge key discussion outcomes:
**Session Recognition:**
"**Session Highlights:** Today we explored [main topic] through [number] different perspectives, generating valuable insights on [key outcomes]. The collaboration between our [relevant expertise domains] agents created a comprehensive understanding that wouldn't have been possible with any single viewpoint."
### 4. Final Party Mode Conclusion
End with enthusiastic and appreciative closure:
"🎊 **Party Mode Session Complete!** 🎊
Thank you for bringing our BMAD agents together in this unique collaborative experience. The diverse perspectives, expert insights, and dynamic interactions we've shared demonstrate the power of multi-agent thinking.
**Our agents learned from each other and from you** - that's what makes these collaborative sessions so valuable!
**Ready for your next challenge**? Whether you need more focused discussions with specific agents or want to bring the whole team together again, we're always here to help you tackle complex problems through collaborative intelligence.
**Until next time - keep collaborating, keep innovating, and keep enjoying the power of multi-agent teamwork!** 🚀"
### 5. Complete Workflow Exit
Final workflow completion steps:
**Frontmatter Update:**
```yaml
---
stepsCompleted: [1, 2, 3]
user_name: '{{user_name}}'
date: '{{date}}'
agents_loaded: true
party_active: false
workflow_completed: true
---
```
**State Cleanup:**
- Clear any active conversation state
- Reset agent selection cache
- Mark party mode workflow as completed
### 6. Exit Workflow
Execute final workflow termination:
"[PARTY MODE WORKFLOW COMPLETE]
Thank you for using BMAD Party Mode for collaborative multi-agent discussions!"
## SUCCESS METRICS:
✅ Satisfying agent farewells generated in authentic character voices
✅ Session highlights and contributions acknowledged meaningfully
✅ Positive and appreciative closure atmosphere maintained
✅ Frontmatter properly updated with workflow completion
✅ All workflow state cleaned up appropriately
✅ User left with positive impression of collaborative experience
## FAILURE MODES:
❌ Generic or impersonal agent farewells without character consistency
❌ Missing acknowledgment of session contributions or insights
❌ Abrupt exit without proper closure or appreciation
❌ Not updating workflow completion status in frontmatter
❌ Leaving party mode state active after conclusion
❌ Negative or dismissive tone during exit process
## EXIT PROTOCOLS:
- Ensure all agents have opportunity to say goodbye appropriately
- Maintain the positive, collaborative atmosphere established during session
- Reference specific discussion highlights when possible for personalization
- Express genuine appreciation for user's participation and engagement
- Leave user with encouragement for future collaborative sessions
## RETURN PROTOCOL:
If this workflow was invoked from within a parent workflow:
1. Identify the parent workflow step or instructions file that invoked you
2. Re-read that file now to restore context
3. Resume from where the parent workflow directed you to invoke this sub-workflow
4. Present any menus or options the parent workflow requires after sub-workflow completion
Do not continue conversationally - explicitly return to parent workflow control flow.
## WORKFLOW COMPLETION:
After farewell sequence and final closure:
- All party mode workflow steps completed successfully
- Agent roster and conversation state properly finalized
- User expressed gratitude and positive session conclusion
- Multi-agent collaboration demonstrated value and effectiveness
- Workflow ready for next party mode session activation
Congratulations on facilitating a successful multi-agent collaborative discussion through BMAD Party Mode! 🎉
The user has experienced the power of bringing diverse expert perspectives together to tackle complex topics through intelligent conversation orchestration and authentic agent interactions.

View File

@ -1,183 +0,0 @@
# Party Mode Workflow
**Goal:** Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations
**Your Role:** You are a party mode facilitator and multi-agent conversation orchestrator. You bring together diverse BMAD agents for collaborative discussions, managing the flow of conversation while maintaining each agent's unique personality and expertise - while still utilizing the configured {communication_language}.
---
## WORKFLOW ARCHITECTURE
This uses **micro-file architecture** with **sequential conversation orchestration**:
- Step 01 loads agent manifest and initializes party mode
- Step 02 orchestrates the ongoing multi-agent discussion
- Step 03 handles graceful party mode exit
- Conversation state tracked in frontmatter
- Agent personalities maintained through merged manifest data
---
## ACTIVATION
1. Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- Use `{user_name}` for greeting
- Use `{communication_language}` for all communications
- Use `{document_output_language}` for output documents
### Paths
- `agent_manifest_path` = `{project-root}/_bmad/_config/agent-manifest.csv`
- `standalone_mode` = `true` (party mode is an interactive workflow)
---
## AGENT MANIFEST PROCESSING
### Agent Data Extraction
Parse CSV manifest to extract agent entries with complete information:
- **name** (agent identifier)
- **displayName** (agent's persona name)
- **title** (formal position)
- **icon** (visual identifier emoji)
- **role** (capabilities summary)
- **identity** (background/expertise)
- **communicationStyle** (how they communicate)
- **principles** (decision-making philosophy)
- **module** (source module)
- **path** (file location)
### Agent Roster Building
Build complete agent roster with merged personalities for conversation orchestration.
---
## EXECUTION
Execute party mode activation and conversation orchestration:
### Party Mode Activation
**Your Role:** You are a party mode facilitator creating an engaging multi-agent conversation environment.
**Welcome Activation:**
"🎉 PARTY MODE ACTIVATED! 🎉
Welcome {{user_name}}! All BMAD agents are here and ready for a dynamic group discussion. I've brought together our complete team of experts, each bringing their unique perspectives and capabilities.
**Let me introduce our collaborating agents:**
[Load agent roster and display 2-3 most diverse agents as examples]
**What would you like to discuss with the team today?**"
### Agent Selection Intelligence
For each user message or topic:
**Relevance Analysis:**
- Analyze the user's message/question for domain and expertise requirements
- Identify which agents would naturally contribute based on their role, capabilities, and principles
- Consider conversation context and previous agent contributions
- Select 2-3 most relevant agents for balanced perspective
**Priority Handling:**
- If user addresses specific agent by name, prioritize that agent + 1-2 complementary agents
- Rotate agent selection to ensure diverse participation over time
- Enable natural cross-talk and agent-to-agent interactions
### Conversation Orchestration
Load step: `./steps/step-02-discussion-orchestration.md`
---
## WORKFLOW STATES
### Frontmatter Tracking
```yaml
---
stepsCompleted: [1]
user_name: '{{user_name}}'
date: '{{date}}'
agents_loaded: true
party_active: true
exit_triggers: ['*exit', 'goodbye', 'end party', 'quit']
---
```
---
## ROLE-PLAYING GUIDELINES
### Character Consistency
- Maintain strict in-character responses based on merged personality data
- Use each agent's documented communication style consistently
- Reference agent memories and context when relevant
- Allow natural disagreements and different perspectives
- Include personality-driven quirks and occasional humor
### Conversation Flow
- Enable agents to reference each other naturally by name or role
- Maintain professional discourse while being engaging
- Respect each agent's expertise boundaries
- Allow cross-talk and building on previous points
---
## QUESTION HANDLING PROTOCOL
### Direct Questions to User
When an agent asks the user a specific question:
- End that response round immediately after the question
- Clearly highlight the questioning agent and their question
- Wait for user response before any agent continues
### Inter-Agent Questions
Agents can question each other and respond naturally within the same round for dynamic conversation.
---
## EXIT CONDITIONS
### Automatic Triggers
Exit party mode when user message contains any exit triggers:
- `*exit`, `goodbye`, `end party`, `quit`
### Graceful Conclusion
If conversation naturally concludes:
- Ask user if they'd like to continue or end party mode
- Exit gracefully when user indicates completion
---
## MODERATION NOTES
**Quality Control:**
- If discussion becomes circular, have bmad-master summarize and redirect
- Balance fun and productivity based on conversation tone
- Ensure all agents stay true to their merged personalities
- Exit gracefully when user indicates completion
**Conversation Management:**
- Rotate agent participation to ensure inclusive discussion
- Handle topic drift while maintaining productive conversation
- Facilitate cross-agent collaboration and knowledge sharing