diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md b/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md index 722d753d..4495b47e 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md @@ -2,10 +2,22 @@ The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -Communicate all responses in {communication_language} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} + +DOCUMENT OUTPUT: Updated epics, stories, or PRD sections. Clear, actionable changes. User skill level ({user_skill_level}) affects conversation style ONLY, not document updates. + + + mode: init-check + + +Running correct-course workflow for sprint change management. +{{#if status_exists}}Status tracking enabled.{{else}}Note: No status file - running standalone.{{/if}} + + Confirm change trigger and gather user description of the issue Ask: "What specific issue or change has been identified that requires navigation?" diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml b/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml index 64c52e41..e5a30e32 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml @@ -8,6 +8,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course" diff --git a/src/modules/bmm/workflows/4-implementation/create-story/instructions.md b/src/modules/bmm/workflows/4-implementation/create-story/instructions.md index 07605175..2d3b6a01 100644 --- a/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/create-story/instructions.md @@ -3,10 +3,13 @@ ````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} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} This workflow creates or updates the next user story from epics/PRD and architecture context, saving to the configured stories directory and optionally invoking Story Context. Default execution mode: #yolo (minimal prompts). Only elicit if absolutely required and {{non_interactive}} == false. +DOCUMENT OUTPUT: Concise, technical, actionable story specifications. Use tables/lists for acceptance criteria and tasks. User skill level ({user_skill_level}) affects conversation style ONLY, not document content. + @@ -28,46 +31,26 @@ READ COMPLETE FILES for all items found in the prioritized set. Store content and paths for citation. - - Read {output_folder}/bmm-workflow-status.md (if exists) - Navigate to "### Implementation Progress (Phase 4 Only)" section - Find "#### TODO (Needs Drafting)" section + + + mode: data + data_request: next_story + - - Extract story information from TODO section: - - todo_story_id: The story ID to draft (e.g., "1.1", "auth-feature-1", "login-fix") - - todo_story_title: The story title (for validation) - - todo_story_file: The exact story file path to create + + Use extracted story information: + - {{todo_story_id}}: The story ID to draft + - {{todo_story_title}}: The story title + - {{todo_story_file}}: The exact story file path to create - This is the PRIMARY source for determining which story to draft - DO NOT search or guess - the status file tells you exactly which story to create + This is the PRIMARY source - DO NOT search or guess - Parse story numbering from todo_story_id: - - - Set {{epic_num}} = N, {{story_num}} = M - Set {{story_file}} = "story-{{epic_num}}.{{story_num}}.md" - - - - Set {{epic_slug}} = slug part, {{story_num}} = N - Set {{story_file}} = "story-{{epic_slug}}-{{story_num}}.md" - - - - Set {{story_slug}} = full slug - Set {{story_file}} = "story-{{story_slug}}.md" - - - Validate that {{story_file}} matches {{todo_story_file}} from status file - If mismatch, HALT with error: "Story file mismatch. Status file says: {{todo_story_file}}, derived: {{story_file}}" - - Skip old story discovery logic in Step 3 - we know exactly what to draft + Set {{story_path}} = {story_dir}/{{todo_story_file}} + Skip legacy discovery in Step 3 - - Fall back to old story discovery logic in Step 3 - Note: This is the legacy behavior for projects not using the new status file system + + Fall back to legacy story discovery in Step 3 diff --git a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml index 929c8c8c..dd06909a 100644 --- a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml @@ -8,6 +8,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components diff --git a/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md b/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md index 0c67fb01..6cf27682 100644 --- a/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md @@ -3,53 +3,50 @@ ````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} +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 If {{run_until_complete}} == true, run non-interactively: do not pause between steps unless a HALT condition is reached or explicit user approval is required for unapproved dependencies. 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) or a HALT condition is triggered. 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. + - Read {output_folder}/bmm-workflow-status.md (if exists) - Navigate to "### Implementation Progress (Phase 4 Only)" section - Find "#### IN PROGRESS (Approved for Development)" section + + mode: data + data_request: next_story + - - Extract story information: - - current_story_id: The story ID (e.g., "1.1", "auth-feature-1", "login-fix") - - current_story_title: The story title - - current_story_file: The exact story file path - - current_story_context_file: The context file path (if exists) + + Use IN PROGRESS story from status: + - {{in_progress_story}}: Current story ID + - Story file path derived from ID format - DO NOT SEARCH for stories - the status file tells you exactly which story is IN PROGRESS + DO NOT SEARCH - status file provides exact story - Set {{story_path}} = {story_dir}/{current_story_file} - Read the COMPLETE story file from {{story_path}} - Parse sections: Story, Acceptance Criteria, Tasks/Subtasks (including subtasks), Dev Notes, Dev Agent Record, File List, Change Log, Status - Identify the first incomplete task (unchecked [ ]) in Tasks/Subtasks; if subtasks exist, treat all subtasks as part of the selected task scope - If no incomplete tasks found → "All tasks completed - proceed to completion sequence" and Continue - If story file inaccessible → HALT: "Cannot develop story without access to story file" - If task requirements ambiguous → ASK user to clarify; if unresolved, HALT: "Task requirements must be clear before implementation" + Determine story file path from in_progress_story ID + Set {{story_path}} = {story_dir}/{{derived_story_file}} - + Fall back to legacy auto-discovery: - If {{story_path}} was explicitly provided and is valid → use it. Otherwise, attempt auto-discovery. - Auto-discovery: Read {{story_dir}} from config (dev_story_location). If invalid/missing or contains no .md files, ASK user to provide either: (a) a story file path, or (b) a directory to scan. - If a directory is provided, list story markdown files recursively under that directory matching pattern: "story-*.md". - Sort candidates by last modified time (newest first) and take the top {{story_selection_limit}} items. - Present the list with index, filename, and modified time. Ask: "Select a story (1-{{story_selection_limit}}) or enter a path:" - Resolve the selected item into {{story_path}} - Read the COMPLETE story file from {{story_path}} - Parse sections: Story, Acceptance Criteria, Tasks/Subtasks (including subtasks), Dev Notes, Dev Agent Record, File List, Change Log, Status - Identify the first incomplete task (unchecked [ ]) in Tasks/Subtasks; if subtasks exist, treat all subtasks as part of the selected task scope - If no incomplete tasks found → "All tasks completed - proceed to completion sequence" and Continue - If story file inaccessible → HALT: "Cannot develop story without access to story file" - If task requirements ambiguous → ASK user to clarify; if unresolved, HALT: "Task requirements must be clear before implementation" + If {{story_path}} explicitly provided → use it + Otherwise list story-*.md files from {{story_dir}}, sort by modified time + Select story or enter path + Auto-select most recent + + Read COMPLETE story file from {{story_path}} + Parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Change Log, Status + Identify first incomplete task (unchecked [ ]) in Tasks/Subtasks + + If no incomplete tasks → Completion sequence + If story file inaccessible → HALT: "Cannot develop story without access to story file" + If task requirements ambiguous → ASK user to clarify or HALT diff --git a/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml index 65650dfc..b00ba319 100644 --- a/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml @@ -8,6 +8,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md index 1359dcf8..f9979321 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md @@ -2,46 +2,37 @@ The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -Communicate all responses in {communication_language} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} + +DOCUMENT OUTPUT: Retrospective analysis. Concise insights, lessons learned, action items. User skill level ({user_skill_level}) affects conversation style ONLY, not retrospective content. FACILITATION NOTES: + - Scrum Master facilitates this retrospective - Psychological safety is paramount - NO BLAME - Focus on systems, processes, and learning - Everyone contributes with specific examples preferred - Action items must be achievable with clear ownership - Two-part format: (1) Epic Review + (2) Next Epic Preparation - + - -Search {output_folder}/ for files matching pattern: bmm-workflow-status.md -Find the most recent file (by date in filename: bmm-workflow-status.md) + + + mode: init-check + - - Load the status file - Set status_file_found = true - Store status_file_path for later updates + + ⚠️ {{suggestion}} + +Running in standalone mode - no progress tracking. +Set standalone_mode = true - - **No workflow status file found.** - -This workflow conducts epic retrospective (optional Phase 4 workflow). - -Options: - -1. Run workflow-status first to create the status file (recommended for progress tracking) -2. Continue in standalone mode (no progress tracking) -3. Exit - -What would you like to do? -If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to retrospective" -If user chooses option 2 → Set standalone_mode = true and continue -If user chooses option 3 → HALT - +Store {{status_file_path}} for later updates (if exists) diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml index 83f077ad..f450bf18 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml @@ -8,6 +8,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective" diff --git a/src/modules/bmm/workflows/4-implementation/review-story/instructions.md b/src/modules/bmm/workflows/4-implementation/review-story/instructions.md index e363ff6c..19236cf9 100644 --- a/src/modules/bmm/workflows/4-implementation/review-story/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/review-story/instructions.md @@ -3,39 +3,30 @@ ````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} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} This workflow performs a Senior Developer Review on a story flagged Ready for Review, appends structured review notes, and can update the story status based on the outcome. Default execution mode: #yolo (non-interactive). Only ask if {{non_interactive}} == false. If auto-discovery of the target story fails, HALT with a clear message to provide 'story_path' or 'story_dir'. Only modify the story file in these areas: Status (optional per settings), Dev Agent Record (Completion Notes), File List (if corrections are needed), Change Log, and the appended "Senior Developer Review (AI)" section at the end of the document. Execute ALL steps in exact order; do NOT skip steps +DOCUMENT OUTPUT: Technical review reports. Structured findings with severity levels and action items. User skill level ({user_skill_level}) affects conversation style ONLY, not review content. + - - Search {output_folder}/ for files matching pattern: bmm-workflow-status.md - Find the most recent file (by date in filename: bmm-workflow-status.md) + + + mode: init-check + - - Load the status file - Set status_file_found = true - Store status_file_path for later updates + + ⚠️ {{suggestion}} + +Running in standalone mode - no progress tracking. + Set standalone_mode = true - - **No workflow status file found.** - -This workflow performs Senior Developer Review on a story (optional Phase 4 workflow). - -Options: -1. Run workflow-status first to create the status file (recommended for progress tracking) -2. Continue in standalone mode (no progress tracking) -3. Exit - -What would you like to do? - If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to review-story" - If user chooses option 2 → Set standalone_mode = true and continue - If user chooses option 3 → HALT - + Store {{status_file_path}} for later updates (if exists) diff --git a/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml index 4d3af44a..321c3683 100644 --- a/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml @@ -9,6 +9,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components diff --git a/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md b/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md index 44f419cc..40d41d3b 100644 --- a/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md @@ -2,7 +2,8 @@ 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} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} @@ -10,32 +11,29 @@ NO SEARCHING - DEV agent reads status file IN PROGRESS section to know which story was being worked on Workflow: Update story file status, move story IN PROGRESS → DONE, move TODO → IN PROGRESS, move BACKLOG → TODO - + -Read {output_folder}/bmm-workflow-status.md -Navigate to "### Implementation Progress (Phase 4 Only)" section -Find "#### IN PROGRESS (Approved for Development)" section + + mode: data + data_request: all + -Extract current story information: + + ❌ No status file or no IN PROGRESS story found. -- current_story_id: The story ID (e.g., "1.1", "auth-feature-1", "login-fix") -- current_story_title: The story title -- current_story_file: The exact story file path -- current_story_points: Story points (if tracked) +This workflow requires an active status file with an IN PROGRESS story. -Read the TODO section to know what's next: +Run `workflow-status` to check your project state. +Exit workflow + -- todo_story_id: Next story to move to IN PROGRESS (if exists) -- todo_story_title: Next story title -- todo_story_file: Next story file path +Use extracted story queue: -Read the BACKLOG section to know what comes after: - -- next_backlog_story_id: Story to move to TODO (if exists) -- next_backlog_story_title -- next_backlog_story_file - -DO NOT SEARCH for stories - the status file tells you exactly which story is in each state +- {{in_progress_story}}: Current story to mark done +- {{todo_story_id}}: Next story (move to IN PROGRESS) +- {{stories_sequence}}: All stories +- {{stories_done}}: Completed stories +- {{status_file_path}}: Status file to update diff --git a/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md.bak b/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md.bak new file mode 100644 index 00000000..44f419cc --- /dev/null +++ b/src/modules/bmm/workflows/4-implementation/story-approved/instructions.md.bak @@ -0,0 +1,283 @@ +# Story Approved Workflow Instructions (DEV Agent) + +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} + + + +This workflow is run by DEV agent AFTER user confirms a story is approved (Definition of Done is complete) +NO SEARCHING - DEV agent reads status file IN PROGRESS section to know which story was being worked on +Workflow: Update story file status, move story IN PROGRESS → DONE, move TODO → IN PROGRESS, move BACKLOG → TODO + + + +Read {output_folder}/bmm-workflow-status.md +Navigate to "### Implementation Progress (Phase 4 Only)" section +Find "#### IN PROGRESS (Approved for Development)" section + +Extract current story information: + +- current_story_id: The story ID (e.g., "1.1", "auth-feature-1", "login-fix") +- current_story_title: The story title +- current_story_file: The exact story file path +- current_story_points: Story points (if tracked) + +Read the TODO section to know what's next: + +- todo_story_id: Next story to move to IN PROGRESS (if exists) +- todo_story_title: Next story title +- todo_story_file: Next story file path + +Read the BACKLOG section to know what comes after: + +- next_backlog_story_id: Story to move to TODO (if exists) +- next_backlog_story_title +- next_backlog_story_file + +DO NOT SEARCH for stories - the status file tells you exactly which story is in each state + + + + + +Read the story file: {story_dir}/{current_story_file} + +Find the "Status:" line (usually at the top) + +Update story file: + +- Change: `Status: Ready` or `Status: In Review` +- To: `Status: Done` + +Add completion notes if Dev Agent Record section exists: + +Find "## Dev Agent Record" section and add: + +``` +### Completion Notes +**Completed:** {{date}} +**Definition of Done:** All acceptance criteria met, code reviewed, tests passing, deployed +``` + +Save the story file + + + + + +Open {output_folder}/bmm-workflow-status.md + +Update "#### DONE (Completed Stories)" section: + +Add the completed story to the table: + +| Story ID | File | Completed Date | Points | +| -------------------- | ---------------------- | -------------- | ------------------------ | +| {{current_story_id}} | {{current_story_file}} | {{date}} | {{current_story_points}} | + +... (existing done stories) + +**Total completed:** {{done_count + 1}} stories +**Total points completed:** {{done_points + current_story_points}} points + +Update "#### IN PROGRESS (Approved for Development)" section: + + + Move the TODO story to IN PROGRESS: + +#### IN PROGRESS (Approved for Development) + +- **Story ID:** {{todo_story_id}} +- **Story Title:** {{todo_story_title}} +- **Story File:** `{{todo_story_file}}` +- **Story Status:** Ready (OR Draft if not yet reviewed) +- **Context File:** `{{context_file_path}}` (if exists, otherwise note "Context not yet generated") +- **Action:** DEV should run `dev-story` workflow to implement this story + + + + Mark IN PROGRESS as empty: + +#### IN PROGRESS (Approved for Development) + +(No story currently in progress - all stories complete!) + + +Update "#### TODO (Needs Drafting)" section: + + + Move the first BACKLOG story to TODO: + +#### TODO (Needs Drafting) + +- **Story ID:** {{next_backlog_story_id}} +- **Story Title:** {{next_backlog_story_title}} +- **Story File:** `{{next_backlog_story_file}}` +- **Status:** Not created OR Draft (needs review) +- **Action:** SM should run `create-story` workflow to draft this story + + + + Mark TODO as empty: + +#### TODO (Needs Drafting) + +(No more stories to draft - all stories are drafted or complete) + + +Update "#### BACKLOG (Not Yet Drafted)" section: + +Remove the first story from the BACKLOG table (the one we just moved to TODO). + +If BACKLOG had 1 story and is now empty: + +| Epic | Story | ID | Title | File | +| ----------------------------- | ----- | --- | ----- | ---- | +| (empty - all stories drafted) | | | | | + +**Total in backlog:** 0 stories + +Update story counts in "#### Epic/Story Summary" section: + +- Increment done_count by 1 +- Increment done_points by {{current_story_points}} +- Decrement backlog_count by 1 (if story was moved from BACKLOG → TODO) +- Update epic breakdown: + - Increment epic_done_stories for the current story's epic + + + Check "4-Implementation" checkbox in "### Phase Completion Status" + Set progress_percentage = 100% + + + + + + +Add to "## Decision Log" section: + +``` +- **{{date}}**: Story {{current_story_id}} ({{current_story_title}}) approved and marked done by DEV agent. Moved from IN PROGRESS → DONE. {{#if todo_story}}Story {{todo_story_id}} moved from TODO → IN PROGRESS.{{/if}} {{#if next_backlog_story}}Story {{next_backlog_story_id}} moved from BACKLOG → TODO.{{/if}} +``` + +current_step +Set to: "story-approved (Story {{current_story_id}})" + +current_workflow +Set to: "story-approved (Story {{current_story_id}}) - Complete" + +progress_percentage +Calculate per-story weight: remaining_40_percent / total_stories / 5 +Increment by: {{per_story_weight}} \* 1 (story-approved weight is ~1% per story) + +Set progress_percentage = 100% + + +Update "### Next Action Required" section: + + +``` +**What to do next:** {{#if todo_story_status == 'Draft'}}Review drafted story {{todo_story_id}}, then mark it ready{{else}}Implement story {{todo_story_id}}{{/if}} + +**Command to run:** {{#if todo_story_status == 'Draft'}}Load SM agent and run 'story-ready' workflow{{else}}Run 'dev-story' workflow to implement{{/if}} + +**Agent to load:** {{#if todo_story_status == 'Draft'}}bmad/bmm/agents/sm.md{{else}}bmad/bmm/agents/dev.md{{/if}} + +``` + + + +``` + +**What to do next:** Draft the next story ({{next_backlog_story_id}}) + +**Command to run:** Load SM agent and run 'create-story' workflow + +**Agent to load:** bmad/bmm/agents/sm.md + +``` + + + +``` + +**What to do next:** All stories complete! Run retrospective workflow or close project. + +**Command to run:** Load PM agent and run 'retrospective' workflow + +**Agent to load:** bmad/bmm/agents/pm.md + +``` + + +Save bmm-workflow-status.md + + + + + +Display summary + +**Story Approved and Marked Done, {user_name}!** + +✅ Story file updated: `{{current_story_file}}` → Status: Done +✅ Status file updated: Story moved IN PROGRESS → DONE +{{#if todo_story}}✅ Next story moved: TODO → IN PROGRESS ({{todo_story_id}}: {{todo_story_title}}){{/if}} +{{#if next_backlog_story}}✅ Next story moved: BACKLOG → TODO ({{next_backlog_story_id}}: {{next_backlog_story_title}}){{/if}} + +**Completed Story:** +- **ID:** {{current_story_id}} +- **Title:** {{current_story_title}} +- **File:** `{{current_story_file}}` +- **Points:** {{current_story_points}} +- **Completed:** {{date}} + +**Progress Summary:** +- **Stories Completed:** {{done_count}} / {{total_stories}} +- **Points Completed:** {{done_points}} / {{total_points}} +- **Progress:** {{progress_percentage}}% + +{{#if all_stories_complete}} +**🎉 ALL STORIES COMPLETE!** + +Congratulations! You have completed all stories for this project. + +**Next Steps:** +1. Run `retrospective` workflow with PM agent to review the project +2. Close out the project +3. Celebrate! 🎊 +{{/if}} + +{{#if todo_story}} +**Next Story (IN PROGRESS):** +- **ID:** {{todo_story_id}} +- **Title:** {{todo_story_title}} +- **File:** `{{todo_story_file}}` +- **Status:** {{todo_story_status}} + +**Next Steps:** +{{#if todo_story_status == 'Draft'}} +1. Review the drafted story {{todo_story_file}} +2. Load SM agent and run `story-ready` workflow to approve it +3. Then return to DEV agent to implement +{{else}} +1. Stay with DEV agent and run `dev-story` workflow +2. Implement story {{todo_story_id}} +{{/if}} +{{/if}} + +{{#if backlog_not_empty AND todo_empty}} +**Next Story (TODO):** +- **ID:** {{next_backlog_story_id}} +- **Title:** {{next_backlog_story_title}} + +**Next Steps:** +1. Load SM agent +2. Run `create-story` workflow to draft story {{next_backlog_story_id}} +{{/if}} + + + + +``` diff --git a/src/modules/bmm/workflows/4-implementation/story-approved/workflow.yaml b/src/modules/bmm/workflows/4-implementation/story-approved/workflow.yaml index bcb4650e..a0c7b940 100644 --- a/src/modules/bmm/workflows/4-implementation/story-approved/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/story-approved/workflow.yaml @@ -9,6 +9,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components diff --git a/src/modules/bmm/workflows/4-implementation/story-context/instructions.md b/src/modules/bmm/workflows/4-implementation/story-context/instructions.md index c9dbb1c7..90a521d7 100644 --- a/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/story-context/instructions.md @@ -3,61 +3,30 @@ ````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} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} This workflow assembles a Story Context XML for a single user story by extracting ACs, tasks, relevant docs/code, interfaces, constraints, and testing guidance to support implementation. Default execution mode: #yolo (non-interactive). Only ask if {{non_interactive}} == false. If auto-discovery fails, HALT and request 'story_path' or 'story_dir'. +DOCUMENT OUTPUT: Technical XML context file. Concise, structured, project-relative paths only. User skill level ({user_skill_level}) affects conversation style ONLY, not context content. + - - Search {output_folder}/ for files matching pattern: bmm-workflow-status.md - Find the most recent file (by date in filename: bmm-workflow-status.md) + + + mode: validate + calling_workflow: story-context + - - Load the status file - Extract key information: - - current_step: What workflow was last run - - next_step: What workflow should run next - - planned_workflow: The complete workflow journey table - - progress_percentage: Current progress - - IN PROGRESS story: The story being worked on (from Implementation Progress section) - - Set status_file_found = true - Store status_file_path for later updates - - - **⚠️ Workflow Sequence Note** - -Status file shows: -- Current step: {{current_step}} -- Expected next: {{next_step}} - -This workflow (story-context) is typically run after story-ready. - -Options: -1. Continue anyway (story-context is optional) -2. Exit and run the expected workflow: {{next_step}} -3. Check status with workflow-status - -What would you like to do? - If user chooses exit → HALT with message: "Run workflow-status to see current state" + + {{warning}} + Continue with story-context anyway? (y/n) + + {{suggestion}} + Exit workflow - - **No workflow status file found.** - -The status file tracks progress across all workflows and provides context about which story to work on. - -Options: -1. Run workflow-status first to create the status file (recommended) -2. Continue in standalone mode (no progress tracking) -3. Exit - -What would you like to do? - If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to story-context" - If user chooses option 2 → Set standalone_mode = true and continue - If user chooses option 3 → HALT - + Store {{status_file_path}} for later updates diff --git a/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml b/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml index 2d10b74c..07571e8f 100644 --- a/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml @@ -9,6 +9,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components diff --git a/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md b/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md index 337f3332..69b9f56b 100644 --- a/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md @@ -2,7 +2,8 @@ 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} +Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} +Generate all documents in {document_output_language} @@ -10,19 +11,28 @@ NO SEARCHING - SM agent reads status file TODO section to know which story was drafted Simple workflow: Update story file status, move story TODO → IN PROGRESS, move next story BACKLOG → TODO - + -Read {output_folder}/bmm-workflow-status.md -Navigate to "### Implementation Progress (Phase 4 Only)" section -Find "#### TODO (Needs Drafting)" section + + mode: data + data_request: next_story + -Extract story information: + + ❌ No status file or no TODO story found. -- todo_story_id: The story ID (e.g., "1.1", "auth-feature-1", "login-fix") -- todo_story_title: The story title -- todo_story_file: The exact story file path +This workflow requires an active status file with a TODO story. -DO NOT SEARCH for stories - the status file tells you exactly which story is in TODO +Run `workflow-status` to check your project state. +Exit workflow + + +Use extracted story information: + +- {{todo_story_id}}: Story to mark ready +- {{todo_story_title}}: Story title +- {{todo_story_file}}: Story file path +- {{status_file_path}}: Status file to update diff --git a/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml b/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml index 7ae72aaa..1fe4216f 100644 --- a/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml @@ -9,6 +9,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components