--- name: 'step-03-create-stories' description: 'Generate all epics with their stories following the template structure' # Path Definitions workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories' # File References thisStepFile: '{workflow_path}/steps/step-03-create-stories.md' nextStepFile: '{workflow_path}/steps/step-04-final-validation.md' workflowFile: '{workflow_path}/workflow.md' outputFile: '{planning_artifacts}/epics.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml' partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md' # Template References epicsTemplate: '{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: 1. **Story Title**: Clear, action-oriented 2. **User Story**: Complete the As a/I want/So that format 3. **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: 1. **Overview** section with project name 2. **Requirements Inventory** with all three subsections populated 3. **FR Coverage Map** showing requirement to epic mapping 4. **Epic List** with approved epic structure 5. **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](#7-present-final-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.