8.3 KiB
| name | description | workflow_path | thisStepFile | nextStepFile | workflowFile | outputFile | advancedElicitationTask | partyModeWorkflow | epicsTemplate |
|---|---|---|---|---|---|---|---|---|---|
| step-03-create-stories | Generate all epics with their stories following the template structure | {project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories | {workflow_path}/steps/step-03-create-stories.md | {workflow_path}/steps/step-04-final-validation.md | {workflow_path}/workflow.md | {planning_artifacts}/epics.md | {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml | {project-root}/_bmad/core/workflows/party-mode/workflow.md | {workflow_path}/templates/epics-template.md |
Step 3: Generate Epics and Stories
STEP GOAL:
To generate all epics with their stories based on the approved epics_list, following the template structure exactly.
MANDATORY EXECUTION RULES (READ FIRST):
Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: Process epics sequentially
- 📋 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 product strategist and technical specifications writer
- ✅ 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 story creation and acceptance criteria expertise
- ✅ User brings their implementation priorities and constraints
Step-Specific Rules:
- 🎯 Generate stories for each epic following the template exactly
- 🚫 FORBIDDEN to deviate from template structure
- 💬 Each story must have clear acceptance criteria
- 🚪 ENSURE each story is completable by a single dev agent
- 🔗 CRITICAL: Stories MUST NOT depend on future stories within the same epic
EXECUTION PROTOCOLS:
- 🎯 Generate stories collaboratively with user input
- 💾 Append epics and stories to {outputFile} following template
- 📖 Process epics one at a time in sequence
- 🚫 FORBIDDEN to skip any epic or rush through stories
STORY GENERATION PROCESS:
1. Load Approved Epic Structure
Load {outputFile} and review:
- Approved epics_list from Step 2
- FR coverage map
- All requirements (FRs, NFRs, additional)
- Template structure at the end of the document
2. Explain Story Creation Approach
STORY CREATION GUIDELINES:
For each epic, create stories that:
- Follow the exact template structure
- Are sized for single dev agent completion
- Have clear user value
- Include specific acceptance criteria
- Reference requirements being fulfilled
🚨 DATABASE/ENTITY CREATION PRINCIPLE: Create tables/entities ONLY when needed by the story:
- ❌ WRONG: Epic 1 Story 1 creates all 50 database tables
- ✅ RIGHT: Each story creates/alters ONLY the tables it needs
🔗 STORY DEPENDENCY PRINCIPLE: Stories must be independently completable in sequence:
- ❌ WRONG: Story 1.2 requires Story 1.3 to be completed first
- ✅ RIGHT: Each story can be completed based only on previous stories
- ❌ WRONG: "Wait for Story 1.4 to be implemented before this works"
- ✅ RIGHT: "This story works independently and enables future stories"
STORY FORMAT (from template):
### Story {N}.{M}: {story_title}
As a {user_type},
I want {capability},
So that {value_benefit}.
**Acceptance Criteria:**
**Given** {precondition}
**When** {action}
**Then** {expected_outcome}
**And** {additional_criteria}
✅ GOOD STORY EXAMPLES:
Epic 1: User Authentication
- Story 1.1: User Registration with Email
- Story 1.2: User Login with Password
- Story 1.3: Password Reset via Email
Epic 2: Content Creation
- Story 2.1: Create New Blog Post
- Story 2.2: Edit Existing Blog Post
- Story 2.3: Publish Blog Post
❌ BAD STORY EXAMPLES:
- Story: "Set up database" (no user value)
- Story: "Create all models" (too large, no user value)
- Story: "Build authentication system" (too large)
- Story: "Login UI (depends on Story 1.3 API endpoint)" (future dependency!)
- Story: "Edit post (requires Story 1.4 to be implemented first)" (wrong order!)
3. Process Epics Sequentially
For each epic in the approved epics_list:
A. Epic Overview
Display:
- Epic number and title
- Epic goal statement
- FRs covered by this epic
- Any NFRs or additional requirements relevant
B. Story Breakdown
Work with user to break down the epic into stories:
- Identify distinct user capabilities
- Ensure logical flow within the epic
- Size stories appropriately
C. Generate Each Story
For each story in the epic:
- Story Title: Clear, action-oriented
- User Story: Complete the As a/I want/So that format
- Acceptance Criteria: Write specific, testable criteria
AC Writing Guidelines:
- Use Given/When/Then format
- Each AC should be independently testable
- Include edge cases and error conditions
- Reference specific requirements when applicable
D. Collaborative Review
After writing each story:
- Present the story to user
- Ask: "Does this story capture the requirement correctly?"
- "Is the scope appropriate for a single dev session?"
- "Are the acceptance criteria complete and testable?"
E. Append to Document
When story is approved:
- Append it to {outputFile} following template structure
- Use correct numbering (Epic N, Story M)
- Maintain proper markdown formatting
4. Epic Completion
After all stories for an epic are complete:
- Display epic summary
- Show count of stories created
- Verify all FRs for the epic are covered
- Get user confirmation to proceed to next epic
5. Repeat for All Epics
Continue the process for each epic in the approved list, processing them in order (Epic 1, Epic 2, etc.).
6. Final Document Completion
After all epics and stories are generated:
- Verify the document follows template structure exactly
- Ensure all placeholders are replaced
- Confirm all FRs are covered
- Check formatting consistency
TEMPLATE STRUCTURE COMPLIANCE:
The final {outputFile} must follow this structure exactly:
- Overview section with project name
- Requirements Inventory with all three subsections populated
- FR Coverage Map showing requirement to epic mapping
- Epic List with approved epic structure
- Epic sections for each epic (N = 1, 2, 3...)
- Epic title and goal
- All stories for that epic (M = 1, 2, 3...)
- Story title and user story
- Acceptance Criteria using Given/When/Then format
7. Present FINAL MENU OPTIONS
After all epics and stories are complete:
Display: "Select an Option: [A] Advanced Elicitation [P] Party Mode [C] Continue"
Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then Redisplay Menu Options
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
CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then load and read fully {nextStepFile} to execute and begin final validation phase.
🚨 SYSTEM SUCCESS/FAILURE METRICS
✅ SUCCESS:
- All epics processed in sequence
- Stories created for each epic
- Template structure followed exactly
- All FRs covered by stories
- Stories appropriately sized
- Acceptance criteria are specific and testable
- Document is complete and ready for development
❌ SYSTEM FAILURE:
- Deviating from template structure
- Missing epics or stories
- Stories too large or unclear
- Missing acceptance criteria
- Not following proper formatting
Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.