- Next.js 14+ with App Router and TypeScript - Tailwind CSS and ShadCN UI styling - Zustand state management - Dexie.js for IndexedDB (local-first data) - Auth.js v5 for authentication - BMAD framework integration Co-Authored-By: Claude <noreply@anthropic.com>
8.7 KiB
name, description, nextStepFile, workflowExamples, outputFormatStandards, workflowPlanFile, advancedElicitationTask, partyModeWorkflow
| name | description | nextStepFile | workflowExamples | outputFormatStandards | workflowPlanFile | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|---|---|
| step-03-requirements | Gather detailed requirements through collaborative conversation | ./step-04-tools.md | ../data/workflow-examples.md | ../data/output-format-standards.md | {bmb_creations_output_folder}/workflows/{new_workflow_name}/workflow-plan-{new_workflow_name}.md | {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml | {project-root}/_bmad/core/workflows/party-mode/workflow.md |
Step 3: Requirements Gathering
STEP GOAL:
To gather comprehensive requirements through conversation, building on the classification decisions, and document them in a standardized format for the design phase.
MANDATORY EXECUTION RULES (READ FIRST):
Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config
{communication_language}
Role Reinforcement:
- ✅ You are a workflow architect gathering requirements
- ✅ Build on what we discovered and classified
- ✅ Ask 1-2 questions at a time, think about responses
- ✅ We already know the 4 key decisions - now we get details
Step-Specific Rules:
- 🎯 Focus ONLY on requirements gathering
- 🚫 FORBIDDEN to propose workflow designs yet
- 💬 Ask conversationally, not like a form
- 📋 Use the standardized template (below) for consistent storage
EXECUTION PROTOCOLS:
- 🎯 Load references as needed
- 💾 Store to standardized template in plan document
- 📖 Update frontmatter stepsCompleted when complete
- 🚫 FORBIDDEN to load next step until requirements are complete
CONTEXT BOUNDARIES:
- Discovery (Step 1) gave us the vision
- Classification (Step 2) gave us the 4 key decisions
- Now we gather detailed requirements
- Don't design workflow steps yet - that's Step 6
MANDATORY SEQUENCE
CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. Initialize Requirements
"Let's gather the requirements for your workflow.
We already know:
- [Summarize vision from discovery]
- [Summarize 4 key decisions from classification]
Now I need to understand the details of how this workflow should work."
2. Workflow Flow and Structure
Load {workflowExamples} to reference diverse patterns.
"How should this workflow flow?
From our examples, workflows can be structured differently:"
Flow Patterns:
- Linear: Step 1 → Step 2 → Step 3 → Finish
- Looping: Generate → Review → Generate more... until done
- Branching: Different paths based on user choices
- Repeating: Same steps, new content each session
"Think about your workflow:
- Should it go straight through, or loop/branch?
- How many logical phases does it need?
- What are the major milestones?"
Think about their response...
3. User Interaction Style
"How collaborative should this be?
Think about the person running this workflow:"
- Highly Collaborative: AI asks questions, guides, facilitates at each step
- Mostly Autonomous: AI does the work with occasional checkpoints
- Guided Session: AI leads through a structured experience
- Mixed: Some steps collaborative, some autonomous
"Where does your workflow fit on this spectrum?
And are there specific decision points where the user MUST choose something?"
4. Input Requirements
"What does this workflow need to start?"
- What documents or data must be provided?
- Are there prerequisites or dependencies?
- Will users need to provide specific information?
- Any optional inputs that enhance the workflow?
"Think about their response before continuing..."
5. Output Specifications (IF document-producing)
ONLY if workflowProducesDocuments: true from classification:
Load {outputFormatStandards} and discuss:
"What should the output look like?
Since your workflow produces a document, let's decide the format:"
Four Template Types:
-
Free-form (Recommended) - Minimal structure, content-driven
- Use for: Most collaborative workflows
- Has: Basic frontmatter, progressive content, final polish step
-
Structured - Required sections, flexible within each
- Use for: Reports, proposals, documentation
- Has: Clear section headers, consistent structure
-
Semi-structured - Core sections + optional additions
- Use for: Forms, checklists, meeting minutes
- Has: Required fields, optional extras
-
Strict - Exact format, specific fields
- Use for: Compliance, legal, regulated (rare)
- Has: Precise requirements, validation
"Which format fits your workflow best?"
If Free-form (most common):
- "We'll use a minimal template with basic frontmatter. The workflow will build the document section by section, with a final polish step to optimize flow."
If Structured/Semi-structured:
- "What sections are required? Any optional sections?"
If Strict:
- "Do you have an existing template to follow, or should we design one?"
Document the output format decision.
6. Output Specifications (IF non-document)
ONLY if workflowProducesDocuments: false from classification:
"What does this workflow produce if not a document?
- Actions performed?
- Changes made to code/files?
- A decision or recommendation?
- A temporary artifact?"
Document what the workflow produces.
7. Success Criteria
"How will we know this workflow succeeded?
Think about the end result:
- What does 'done' look like?
- What would make a user satisfied?
- Are there quality criteria?
- Can we measure success?"
"Think about their response..."
8. Instruction Style (NOW, Not Earlier)
We ask this NOW because we understand the workflow:
"How should the AI executing this workflow behave?"
Intent-Based (Recommended for most):
- Steps describe goals and principles
- AI adapts conversation naturally
- More flexible and responsive
- Example: "Guide user to define requirements through open-ended discussion"
Prescriptive:
- Steps provide exact instructions
- More controlled and predictable
- Example: "Ask: 'What is your primary goal? A) Growth B) Efficiency C) Quality'"
Mixed:
- Some steps prescriptive, others intent-based
- Use prescriptive for critical/required steps
- Use intent-based for creative/facilitative steps
"Which style fits your workflow, or should it be mixed?"
9. Store to Standardized Template
Update {workflowPlanFile} with the requirements section:
## Requirements
**Flow Structure:**
- Pattern: [linear/looping/branching/repeating]
- Phases: [list major phases]
- Estimated steps: [rough count]
**User Interaction:**
- Style: [highly collaborative/mostly autonomous/guided/mixed]
- Decision points: [where user must choose]
- Checkpoint frequency: [how often to pause]
**Inputs Required:**
- Required: [list]
- Optional: [list]
- Prerequisites: [list]
**Output Specifications:**
- Type: [document/action/decision/temporary]
- Format: [free-form/structured/semi-structured/strict OR describe non-document output]
- Sections: [if structured]
- Frequency: [single/batch/continuous]
**Success Criteria:**
- [list what success looks like]
**Instruction Style:**
- Overall: [intent-based/prescriptive/mixed]
- Notes: [any specific style requirements]
10. Present MENU OPTIONS
Display: Select an Option: [A] Advanced Elicitation [P] Party Mode [C] Continue
EXECUTION RULES:
- ALWAYS halt and wait for user input
- ONLY proceed when user selects 'C'
- User can chat or ask questions - always respond and redisplay menu
Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save requirements to plan, update frontmatter, then load
{nextStepFile} - IF Any other: Help user, then redisplay menu
🚨 SYSTEM SUCCESS/FAILURE METRICS
✅ SUCCESS:
- Requirements gathered through conversation (not interrogation)
- Flow structure clearly understood
- Input/output specifications defined
- Output format decided (if document-producing)
- Success criteria established
- Instruction style determined
- All stored in standardized template
❌ SYSTEM FAILURE:
- Asking for instruction style before understanding the workflow
- Skipping output format discussion
- Not storing to standardized template
- Proceeding without understanding the flow
Master Rule: Requirements build on classification. Use the standardized template so the next steps can read consistent data.