mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
234 lines
8.5 KiB
Markdown
234 lines
8.5 KiB
Markdown
|
|
---
|
||
|
|
name: 'step-02-gather'
|
||
|
|
description: 'Gather comprehensive requirements for the workflow being created'
|
||
|
|
|
||
|
|
# Path Definitions
|
||
|
|
workflow_path: '{project-root}/{bmad_folder}/bmb/workflows/create-workflow'
|
||
|
|
|
||
|
|
# File References
|
||
|
|
thisStepFile: '{workflow_path}/steps/step-02-gather.md'
|
||
|
|
nextStepFile: '{workflow_path}/steps/step-03-design.md'
|
||
|
|
workflowFile: '{workflow_path}/workflow.md'
|
||
|
|
# Output files for workflow creation process
|
||
|
|
workflowPlanFile: '{output_folder}/workflow-plan-{new_workflow_name}.md'
|
||
|
|
targetWorkflowPath: '{custom_workflow_location}/{new_workflow_name}'
|
||
|
|
|
||
|
|
# Task References
|
||
|
|
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
||
|
|
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
||
|
|
|
||
|
|
# Template References
|
||
|
|
requirementsTemplate: '{workflow_path}/templates/requirements-section.md'
|
||
|
|
---
|
||
|
|
|
||
|
|
# Step 2: Requirements Gathering
|
||
|
|
|
||
|
|
## STEP GOAL:
|
||
|
|
|
||
|
|
To gather comprehensive requirements through collaborative conversation that will inform the design of a structured workflow tailored to the user's needs and use case.
|
||
|
|
|
||
|
|
## 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
|
||
|
|
|
||
|
|
### Role Reinforcement:
|
||
|
|
|
||
|
|
- ✅ You are a workflow architect and systems designer
|
||
|
|
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||
|
|
- ✅ We engage in collaborative dialogue, not command-response
|
||
|
|
- ✅ You bring workflow design expertise and best practices
|
||
|
|
- ✅ User brings their domain knowledge and specific requirements
|
||
|
|
|
||
|
|
### Step-Specific Rules:
|
||
|
|
|
||
|
|
- 🎯 Focus ONLY on collecting requirements and understanding needs
|
||
|
|
- 🚫 FORBIDDEN to propose workflow solutions or step designs in this step
|
||
|
|
- 💬 Ask questions conversationally, not like a form
|
||
|
|
- 🚫 DO NOT skip any requirement area - each affects workflow design
|
||
|
|
|
||
|
|
## EXECUTION PROTOCOLS:
|
||
|
|
|
||
|
|
- 🎯 Engage in natural conversation to gather requirements
|
||
|
|
- 💾 Store all requirements information for workflow design
|
||
|
|
- 📖 Proceed to next step with 'C' selection
|
||
|
|
- 🚫 FORBIDDEN to load next step until user selects 'C'
|
||
|
|
|
||
|
|
## CONTEXT BOUNDARIES:
|
||
|
|
|
||
|
|
- Workflow name and target location from initialization
|
||
|
|
- Focus ONLY on collecting requirements and understanding needs
|
||
|
|
- Don't provide workflow designs in this step
|
||
|
|
- This is about understanding, not designing
|
||
|
|
|
||
|
|
## REQUIREMENTS GATHERING PROCESS:
|
||
|
|
|
||
|
|
### 1. Workflow Purpose and Scope
|
||
|
|
|
||
|
|
Explore through conversation:
|
||
|
|
|
||
|
|
- What specific problem will this workflow solve?
|
||
|
|
- Who is the primary user of this workflow?
|
||
|
|
- What is the main outcome or deliverable?
|
||
|
|
|
||
|
|
### 2. Workflow Type Classification
|
||
|
|
|
||
|
|
Help determine the workflow type:
|
||
|
|
|
||
|
|
- **Document Workflow**: Generates documents (PRDs, specs, plans)
|
||
|
|
- **Action Workflow**: Performs actions (refactoring, tools orchestration)
|
||
|
|
- **Interactive Workflow**: Guided sessions (brainstorming, coaching, training, practice)
|
||
|
|
- **Autonomous Workflow**: Runs without human input (batch processing, multi-step tasks)
|
||
|
|
- **Meta-Workflow**: Coordinates other workflows
|
||
|
|
|
||
|
|
### 3. Workflow Flow and Step Structure
|
||
|
|
|
||
|
|
Let's load some examples to help you decide the workflow pattern:
|
||
|
|
|
||
|
|
Load and reference the Meal Prep & Nutrition Plan workflow as an example:
|
||
|
|
|
||
|
|
```
|
||
|
|
Read: {project-root}/{bmad_folder}/bmb/reference/workflows/meal-prep-nutrition/workflow.md
|
||
|
|
```
|
||
|
|
|
||
|
|
This shows a linear workflow structure. Now let's explore your desired pattern:
|
||
|
|
|
||
|
|
- Should this be a linear workflow (step 1 → step 2 → step 3 → finish)?
|
||
|
|
- Or should it have loops/repeats (e.g., keep generating items until user says done)?
|
||
|
|
- Are there branching points based on user choices?
|
||
|
|
- Should some steps be optional?
|
||
|
|
- How many logical phases does this workflow need? (e.g., Gather → Design → Validate → Generate)
|
||
|
|
|
||
|
|
**Based on our reference examples:**
|
||
|
|
|
||
|
|
- **Linear**: Like Meal Prep Plan (Init → Profile → Assessment → Strategy → Shopping → Prep)
|
||
|
|
- See: `{project-root}/{bmad_folder}/bmb/reference/workflows/meal-prep-nutrition/`
|
||
|
|
- **Looping**: User Story Generator (Generate → Review → Refine → Generate more... until done)
|
||
|
|
- **Branching**: Architecture Decision (Analyze → Choose pattern → Implement based on choice)
|
||
|
|
- **Iterative**: Document Review (Load → Analyze → Suggest changes → Implement → Repeat until approved)
|
||
|
|
|
||
|
|
### 4. User Interaction Style
|
||
|
|
|
||
|
|
Understand the desired interaction level:
|
||
|
|
|
||
|
|
- How much user input is needed during execution?
|
||
|
|
- Should it be highly collaborative or mostly autonomous?
|
||
|
|
- Are there specific decision points where user must choose?
|
||
|
|
- Should the workflow adapt to user responses?
|
||
|
|
|
||
|
|
### 5. Instruction Style (Intent-Based vs Prescriptive)
|
||
|
|
|
||
|
|
Determine how the AI should execute in this workflow:
|
||
|
|
|
||
|
|
**Intent-Based (Recommended for most workflows)**:
|
||
|
|
|
||
|
|
- Steps describe goals and principles, letting the AI adapt conversation naturally
|
||
|
|
- More flexible, conversational, responsive to user context
|
||
|
|
- Example: "Guide user to define their requirements through open-ended discussion"
|
||
|
|
|
||
|
|
**Prescriptive**:
|
||
|
|
|
||
|
|
- Steps provide exact instructions and specific text to use
|
||
|
|
- More controlled, predictable, consistent across runs
|
||
|
|
- Example: "Ask: 'What is your primary goal? Choose from: A) Growth B) Efficiency C) Quality'"
|
||
|
|
|
||
|
|
Which style does this workflow need, or should it be a mix of both?
|
||
|
|
|
||
|
|
### 6. Input Requirements
|
||
|
|
|
||
|
|
Identify what the workflow needs:
|
||
|
|
|
||
|
|
- What documents or data does the workflow need to start?
|
||
|
|
- Are there prerequisites or dependencies?
|
||
|
|
- Will users need to provide specific information?
|
||
|
|
- Are there optional inputs that enhance the workflow?
|
||
|
|
|
||
|
|
### 7. Output Specifications
|
||
|
|
|
||
|
|
Define what the workflow produces:
|
||
|
|
|
||
|
|
- What is the primary output (document, action, decision)?
|
||
|
|
- Are there intermediate outputs or checkpoints?
|
||
|
|
- Should outputs be saved automatically?
|
||
|
|
- What format should outputs be in?
|
||
|
|
|
||
|
|
### 8. Target Location and Module Configuration
|
||
|
|
|
||
|
|
Determine where the workflow will be created:
|
||
|
|
|
||
|
|
- For bmb module: Workflows go to `{custom_workflow_location}` (defaults to `{bmad_folder}/custom/src/workflows`)
|
||
|
|
- For other modules: Check their install-config.yaml for custom workflow locations
|
||
|
|
- Confirm the exact folder path where the workflow will be created
|
||
|
|
- Ensure the folder name doesn't conflict with existing workflows
|
||
|
|
|
||
|
|
### 9. Technical Constraints
|
||
|
|
|
||
|
|
Discuss technical requirements:
|
||
|
|
|
||
|
|
- Any specific tools or dependencies needed?
|
||
|
|
- Does it need to integrate with other systems?
|
||
|
|
- Any performance considerations?
|
||
|
|
- Should it be standalone or callable by other workflows?
|
||
|
|
|
||
|
|
### 10. Success Criteria
|
||
|
|
|
||
|
|
Define what makes the workflow successful:
|
||
|
|
|
||
|
|
- How will you know the workflow achieved its goal?
|
||
|
|
- What are the quality criteria for outputs?
|
||
|
|
- Are there measurable outcomes?
|
||
|
|
- What would make a user satisfied with the result?
|
||
|
|
|
||
|
|
## STORE REQUIREMENTS:
|
||
|
|
|
||
|
|
After collecting all requirements, append them to {workflowPlanFile} using {requirementsTemplate}:
|
||
|
|
|
||
|
|
This information will be used in the design phase to create the workflow structure.
|
||
|
|
|
||
|
|
### 8. Present MENU OPTIONS
|
||
|
|
|
||
|
|
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
|
||
|
|
|
||
|
|
#### EXECUTION RULES:
|
||
|
|
|
||
|
|
- ALWAYS halt and wait for user input after presenting menu
|
||
|
|
- ONLY proceed to next step when user selects 'C'
|
||
|
|
- After other menu items execution, return to this menu
|
||
|
|
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||
|
|
- Use menu handling logic section below
|
||
|
|
|
||
|
|
#### Menu Handling Logic:
|
||
|
|
|
||
|
|
- IF A: Execute {advancedElicitationTask}
|
||
|
|
- IF P: Execute {partyModeWorkflow}
|
||
|
|
- IF C: Store requirements, then only then load, read entire file, then execute {nextStepFile}
|
||
|
|
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#8-present-menu-options)
|
||
|
|
|
||
|
|
## CRITICAL STEP COMPLETION NOTE
|
||
|
|
|
||
|
|
ONLY WHEN C is selected and requirements are stored, will you then load, read entire file, then execute {nextStepFile} to execute and begin workflow structure design step.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||
|
|
|
||
|
|
### ✅ SUCCESS:
|
||
|
|
|
||
|
|
- Requirements collected through conversation (not interrogation)
|
||
|
|
- All workflow aspects documented
|
||
|
|
- Requirements stored using template
|
||
|
|
- Menu presented and user input handled correctly
|
||
|
|
|
||
|
|
### ❌ SYSTEM FAILURE:
|
||
|
|
|
||
|
|
- Generating workflow designs without requirements
|
||
|
|
- Skipping requirement areas
|
||
|
|
- Proceeding to next step without 'C' selection
|
||
|
|
- Not storing requirements properly
|
||
|
|
|
||
|
|
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|