# Develop Story - Workflow Instructions ```xml The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} Only modify the story file in these areas: Tasks/Subtasks checkboxes, Dev Agent Record (Debug Log, Completion Notes), File List, Change Log, and Status Execute ALL steps in exact order; do NOT skip steps Absolutely DO NOT stop because of "milestones", "significant progress", or "session boundaries". Continue in a single execution until the story is COMPLETE (all ACs satisfied and all tasks/subtasks checked) UNLESS a HALT condition is triggered or the USER gives other instruction. Do NOT schedule a "next session" or request review pauses unless a HALT condition applies. Only Step 6 decides completion. User skill level ({user_skill_level}) affects conversation style ONLY, not code updates. Use {{story_path}} directly Read COMPLETE story file Extract story_key from filename or metadata task_check MUST read COMPLETE sprint-status.yaml file from start to end to preserve order Load the FULL file: {{output_folder}}/sprint-status.yaml Read ALL lines from beginning to end - do not skip any content Parse the development_status section completely to understand story order Find the FIRST story (by reading in order from top to bottom) where: - Key matches pattern: number-number-name (e.g., "1-2-user-auth") - NOT an epic key (epic-X) or retrospective (epic-X-retrospective) - Status value equals "ready-for-dev" 📋 No ready-for-dev stories found in sprint-status.yaml **Options:** 1. Run `story-context` to generate context file and mark drafted stories as ready 2. Run `story-ready` to quickly mark drafted stories as ready without generating context 3. Run `create-story` if no incomplete stories are drafted yet 4. Check {output-folder}/sprint-status.yaml to see current sprint status HALT Store the found story_key (e.g., "1-2-user-authentication") for later status updates Find matching story file in {{story_dir}} using story_key pattern: {{story_key}}.md Read COMPLETE story file from discovered path Parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Change Log, Status Check if context file exists at: {{story_dir}}/{{story_key}}.context.xml Read COMPLETE context file Parse all sections: story details, artifacts (docs, code, dependencies), interfaces, constraints, tests Use this context to inform implementation decisions and approaches â„šī¸ No context file found for {{story_key}} Proceeding with story file only. For better context, consider running `story-context` workflow first. Identify first incomplete task (unchecked [ ]) in Tasks/Subtasks Completion sequence HALT: "Cannot develop story without access to story file" ASK user to clarify or HALT Determine if this is a fresh start or continuation after code review Check if "Senior Developer Review (AI)" section exists in the story file Check if "Review Follow-ups (AI)" subsection exists under Tasks/Subtasks Set review_continuation = true Extract from "Senior Developer Review (AI)" section: - Review outcome (Approve/Changes Requested/Blocked) - Review date - Total action items with checkboxes (count checked vs unchecked) - Severity breakdown (High/Med/Low counts) Count unchecked [ ] review follow-up tasks in "Review Follow-ups (AI)" subsection Store list of unchecked review items as {{pending_review_items}} â¯ī¸ **Resuming Story After Code Review** ({{review_date}}) **Review Outcome:** {{review_outcome}} **Action Items:** {{unchecked_review_count}} remaining to address **Priorities:** {{high_count}} High, {{med_count}} Medium, {{low_count}} Low **Strategy:** Will prioritize review follow-up tasks (marked [AI-Review]) before continuing with regular tasks. Set review_continuation = false Set {{pending_review_items}} = empty 🚀 **Starting Fresh Implementation** Story: {{story_key}} Context file: {{context_available}} First incomplete task: {{first_task_description}} Load the FULL file: {{output_folder}}/sprint-status.yaml Read all development_status entries to find {{story_key}} Get current status value for development_status[{{story_key}}] Update the story in the sprint status report to = "in-progress" 🚀 Starting work on story {{story_key}} Status updated: ready-for-dev → in-progress â¯ī¸ Resuming work on story {{story_key}} Story is already marked in-progress âš ī¸ Unexpected story status: {{current_status}} Expected ready-for-dev or in-progress. Continuing anyway... Review acceptance criteria and dev notes for the selected task Plan implementation steps and edge cases; write down a brief plan in Dev Agent Record → Debug Log Implement the task COMPLETELY including all subtasks, critically following best practices, coding patterns and coding standards in this repo you have learned about from the story and context file or your own critical agent instructions Handle error conditions and edge cases appropriately ASK user for approval before adding HALT and request guidance HALT: "Cannot proceed without necessary configuration files" Do not stop after partial progress; continue iterating tasks until all ACs are satisfied and tested or a HALT condition triggers Do NOT propose to pause for review, stand-ups, or validation until Step 6 gates are satisfied Create unit tests for business logic and core functionality introduced/changed by the task Add integration tests for component interactions where desired by test plan or story notes Include end-to-end tests for critical user flows where desired by test plan or story notes Cover edge cases and error handling scenarios noted in the test plan or story notes Determine how to run tests for this repo (infer or use {{run_tests_command}} if provided) Run all existing tests to ensure no regressions Run the new tests to verify implementation correctness Run linting and code quality checks if configured Validate implementation meets ALL story acceptance criteria; if ACs include quantitative thresholds (e.g., test pass rate), ensure they are met before marking complete STOP and fix before continuing, consider how current changes made broke regression STOP and fix before continuing If task is a review follow-up, must mark BOTH the task checkbox AND the corresponding action item in the review section Check if completed task has [AI-Review] prefix (indicates review follow-up task) Extract review item details (severity, description, related AC/file) Add to resolution tracking list: {{resolved_review_items}} Mark task checkbox [x] in "Tasks/Subtasks → Review Follow-ups (AI)" section Find matching action item in "Senior Developer Review (AI) → Action Items" section by matching description Mark that action item checkbox [x] as resolved Add to Dev Agent Record → Completion Notes: "✅ Resolved review finding [{{severity}}]: {{description}}" ONLY mark the task (and subtasks) checkbox with [x] if ALL tests pass and validation succeeds Update File List section with any new, modified, or deleted files (paths relative to repo root) Add completion notes to Dev Agent Record if significant changes were made (summarize intent, approach, and any follow-ups) Count total resolved review items in this session Add Change Log entry: "Addressed code review findings - {{resolved_count}} items resolved (Date: {{date}})" Save the story file Determine if more incomplete tasks remain Next task Completion Verify ALL tasks and subtasks are marked [x] (re-scan the story document now) Run the full regression suite (do not skip) Confirm File List includes every changed file Execute story definition-of-done checklist, if the story includes one Update the story Status to: review Load the FULL file: {{output_folder}}/sprint-status.yaml Find development_status key matching {{story_key}} Verify current status is "in-progress" (expected previous state) Update development_status[{{story_key}}] = "review" Save file, preserving ALL comments and structure including STATUS DEFINITIONS âš ī¸ Story file updated, but sprint-status update failed: {{story_key}} not found Story is marked Ready for Review in file, but sprint-status.yaml may be out of sync. Return to step 1 to complete remaining work (Do NOT finish with partial progress) STOP and resolve before completing Update it before completing Optionally run the workflow validation task against the story using {project-root}/bmad/core/tasks/validate-workflow.xml Prepare a concise summary in Dev Agent Record → Completion Notes Communicate to {user_name} that story implementation is complete and ready for review Summarize key accomplishments: story ID, story key, title, key changes made, tests added, files modified Provide the story file path and current status (now "review", was "in-progress") Based on {user_skill_level}, ask if user needs any explanations about: - What was implemented and how it works - Why certain technical decisions were made - How to test or verify the changes - Any patterns, libraries, or approaches used - Anything else they'd like clarified Provide clear, contextual explanations tailored to {user_skill_level} Use examples and references to specific code when helpful Once explanations are complete (or user indicates no questions), suggest logical next steps Common next steps to suggest (but allow user flexibility): - Review the implemented story yourself and test the changes - Verify all acceptance criteria are met - Ensure deployment readiness if applicable - Run `code-review` workflow for peer review - Check sprint-status.yaml to see project progress Remain flexible - allow user to choose their own path or ask for other assistance ```