diff --git a/src/bmm/workflows/4-implementation/dev-story/instructions.xml b/src/bmm/workflows/4-implementation/dev-story/instructions.xml
deleted file mode 100644
index c39c35f2e..000000000
--- a/src/bmm/workflows/4-implementation/dev-story/instructions.xml
+++ /dev/null
@@ -1,412 +0,0 @@
-
- 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
-
-
-
-
-
- MUST read COMPLETE sprint-status.yaml file from start to end to preserve order
- Load the FULL file: {{sprint_status}}
- 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"
-
-
-
-
- Choose option [1], [2], [3], or [4], or specify story file path:
-
-
- HALT - Run create-story to create next story
-
-
-
- HALT - Run validate-create-story to improve existing stories
-
-
-
- Provide the story file path to develop:
- Store user-provided story path as {{story_path}}
-
-
-
-
-
- Display detailed sprint status analysis
- HALT - User can review sprint status and provide story path
-
-
-
- Store user-provided story path as {{story_path}}
-
-
-
-
-
-
-
- Search {implementation_artifacts} for stories directly
- Find stories with "ready-for-dev" status in files
- Look for story files matching pattern: *-*-*.md
- Read each candidate story file to check Status section
-
-
-
- What would you like to do? Choose option [1], [2], or [3]:
-
-
- HALT - Run create-story to create next story
-
-
-
- HALT - Run validate-create-story to improve existing stories
-
-
-
- It's unclear what story you want developed. Please provide the full path to the story file:
- Store user-provided story path as {{story_path}}
- Continue with provided story file
-
-
-
-
- Use discovered story file and extract story_key
-
-
-
- Store the found story_key (e.g., "1-2-user-authentication") for later status updates
- Find matching story file in {implementation_artifacts} 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
-
- Load comprehensive context from story file's Dev Notes section
- Extract developer guidance from Dev Notes: architecture requirements, previous learnings, technical specifications
- Use enhanced story context to inform implementation decisions and approaches
-
- 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
-
-
-
- Load all available context to inform implementation
-
- Load {project_context} for coding standards and project-wide patterns (if exists)
- Parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Change Log, Status
- Load comprehensive context from story file's Dev Notes section
- Extract developer guidance from Dev Notes: architecture requirements, previous learnings, technical specifications
- Use enhanced story context to inform implementation decisions and approaches
-
-
-
-
- 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}}
-
-
-
-
-
- Set review_continuation = false
- Set {{pending_review_items}} = empty
-
-
-
-
-
-
-
- Load the FULL file: {{sprint_status}}
- 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"
- Update last_updated field to current date
-
-
-
-
-
-
-
-
-
-
-
- Store {{current_sprint_status}} for later use
-
-
-
-
- Set {{current_sprint_status}} = "no-sprint-tracking"
-
-
-
-
- FOLLOW THE STORY FILE TASKS/SUBTASKS SEQUENCE EXACTLY AS WRITTEN - NO DEVIATION
-
- Review the current task/subtask from the story file - this is your authoritative implementation guide
- Plan implementation following red-green-refactor cycle
-
-
- Write FAILING tests first for the task/subtask functionality
- Confirm tests fail before implementation - this validates test correctness
-
-
- Implement MINIMAL code to make tests pass
- Run tests to confirm they now pass
- Handle error conditions and edge cases as specified in task/subtask
-
-
- Improve code structure while keeping tests green
- Ensure code follows architecture patterns and coding standards from Dev Notes
-
- Document technical approach and decisions in Dev Agent Record â Implementation Plan
-
- HALT: "Additional dependencies need user approval"
- HALT and request guidance
- HALT: "Cannot proceed without necessary configuration files"
-
- NEVER implement anything not mapped to a specific task/subtask in the story file
- NEVER proceed to next task until current task/subtask is complete AND tests pass
- Execute continuously without pausing until all tasks/subtasks are complete or explicit HALT condition
- Do NOT propose to pause for review until Step 9 completion gates are satisfied
-
-
-
- Create unit tests for business logic and core functionality introduced/changed by the task
- Add integration tests for component interactions specified in story requirements
- Include end-to-end tests for critical user flows when story requirements demand them
- Cover edge cases and error handling scenarios identified in story Dev Notes
-
-
-
- Determine how to run tests for this repo (infer test framework from project structure)
- Run all existing tests to ensure no regressions
- Run the new tests to verify implementation correctness
- Run linting and code quality checks if configured in project
- Validate implementation meets ALL story acceptance criteria; enforce quantitative thresholds explicitly
- STOP and fix before continuing - identify breaking changes immediately
- STOP and fix before continuing - ensure implementation correctness
-
-
-
- NEVER mark a task complete unless ALL conditions are met - NO LYING OR CHEATING
-
-
- Verify ALL tests for this task/subtask ACTUALLY EXIST and PASS 100%
- Confirm implementation matches EXACTLY what the task/subtask specifies - no extra features
- Validate that ALL acceptance criteria related to this task are satisfied
- Run full test suite to ensure NO regressions introduced
-
-
-
- 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 THEN mark the task (and subtasks) checkbox with [x]
- Update File List section with ALL new, modified, or deleted files (paths relative to repo root)
- Add completion notes to Dev Agent Record summarizing what was ACTUALLY implemented and tested
-
-
-
- DO NOT mark task complete - fix issues first
- HALT if unable to fix validation failures
-
-
-
- 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 enhanced definition-of-done validation
- Update the story Status to: "review"
-
-
- Validate definition-of-done checklist with essential requirements:
- - All tasks/subtasks marked complete with [x]
- - Implementation satisfies every Acceptance Criterion
- - Unit tests for core functionality added/updated
- - Integration tests for component interactions added when required
- - End-to-end tests for critical flows added when story demands them
- - All tests pass (no regressions, new tests successful)
- - Code quality checks pass (linting, static analysis if configured)
- - File List includes every new/modified/deleted file (relative paths)
- - Dev Agent Record contains implementation notes
- - Change Log includes summary of changes
- - Only permitted story sections were modified
-
-
-
-
- Load the FULL file: {sprint_status}
- Find development_status key matching {{story_key}}
- Verify current status is "in-progress" (expected previous state)
- Update development_status[{{story_key}}] = "review"
- Update last_updated field to current date
- Save file, preserving ALL comments and structure including STATUS DEFINITIONS
-
-
-
-
-
-
-
-
-
-
-
-
- HALT - Complete remaining tasks before marking ready for review
- HALT - Fix regression issues before completing
- HALT - Update File List with all changed files
- HALT - Address DoD failures before completing
-
-
-
- Execute the enhanced definition-of-done checklist using the validation framework
- 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")
-
- 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
- Recommended next steps (flexible based on project setup):
- - Review the implemented story and test the changes
- - Verify all acceptance criteria are met
- - Ensure deployment readiness if applicable
- - Run `code-review` workflow for peer review
- - Optional: If Test Architect module installed, run `/bmad:tea:automate` to expand guardrail tests
-
-
-
-
- Suggest checking {sprint_status} to see project progress
-
- Remain flexible - allow user to choose their own path or ask for other assistance
-
-
-
diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml
deleted file mode 100644
index 351872ac8..000000000
--- a/src/core/tasks/workflow.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-
- Execute given workflow by loading its configuration, following instructions, and producing output
-
-
- Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files
- Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown
- Execute ALL steps in instructions IN EXACT ORDER
- Save to template output file after EVERY "template-output" tag
- NEVER skip a step - YOU are responsible for every steps execution without fail or excuse
-
-
-
- Steps execute in exact numerical order (1, 2, 3...)
- Optional steps: Ask user unless #yolo mode active
- Template-output tags: Save content, discuss with the user the section completed, and NEVER proceed until the users indicates
- to proceed (unless YOLO mode has been activated)
-
-
-
-
-
- Read workflow.yaml from provided path
- Load config_source (REQUIRED for all modules)
- Load external config from config_source path
- Resolve all {config_source}: references with values from config
- Resolve system variables (date:system-generated) and paths ({project-root}, {installed_path})
- Ask user for input of any variables that are still unknown
-
-
-
- Instructions: Read COMPLETE file from path OR embedded list (REQUIRED)
- If template path â Read COMPLETE template file
- If validation path â Note path for later loading when needed
- If template: false â Mark as action-workflow (else template-workflow)
- Data files (csv, json) â Store paths only, load on-demand when instructions reference them
-
-
-
- Resolve default_output_file path with all variables and {{date}}
- Create output directory if doesn't exist
- If template-workflow â Write template to output file with placeholders
- If action-workflow â Skip file creation
-
-
-
-
- For each step in instructions:
-
-
- If optional="true" and NOT #yolo â Ask user to include
- If if="condition" â Evaluate condition
- If for-each="item" â Repeat step for each item
- If repeat="n" â Repeat step n times
-
-
-
- Process step instructions (markdown or XML tags)
- Replace {{variables}} with values (ask user if unknown)
-
- action xml tag â Perform the action
- check if="condition" xml tag â Conditional block wrapping actions (requires closing </check>)
- ask xml tag â Prompt user and WAIT for response
- invoke-workflow xml tag â Execute another workflow with given inputs and the workflow.xml runner
- invoke-task xml tag â Execute specified task
- invoke-protocol name="protocol_name" xml tag â Execute reusable protocol from protocols section
- goto step="x" â Jump to specified step
-
-
-
-
-
- Generate content for this section
- Save to file (Write first time, Edit subsequent)
- Display generated content
- [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response.
- Start the advanced elicitation workflow {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.md
-
-
- Continue to next step
-
-
- Start the party-mode workflow {project-root}/_bmad/core/workflows/party-mode/workflow.md
-
-
- Enter #yolo mode for the rest of the workflow
-
-
-
-
-
-
- If no special tags and NOT #yolo:
- Continue to next step? (y/n/edit)
-
-
-
-
- Confirm document saved to output path
- Report workflow completion
-
-
-
-
- Full user interaction and confirmation of EVERY step at EVERY template output - NO EXCEPTIONS except yolo MODE
- Skip all confirmations and elicitation, minimize prompts and try to produce all of the workflow automatically by
- simulating the remaining discussions with an simulated expert user
-
-
-
-
- step n="X" goal="..." - Define step with number and goal
- optional="true" - Step can be skipped
- if="condition" - Conditional execution
- for-each="collection" - Iterate over items
- repeat="n" - Repeat n times
-
-
- action - Required action to perform
- action if="condition" - Single conditional action (inline, no closing tag needed)
- check if="condition">...</check> - Conditional block wrapping multiple items (closing tag required)
- ask - Get user input (ALWAYS wait for response before continuing)
- goto - Jump to another step
- invoke-workflow - Call another workflow
- invoke-task - Call a task
- invoke-protocol - Execute a reusable protocol (e.g., discover_inputs)
-
-
-
-
-
-
- Intelligently load project files (whole or sharded) based on workflow's input_file_patterns configuration
-
- Only execute if workflow.yaml contains input_file_patterns section
-
-
-
- Read input_file_patterns from loaded workflow.yaml
- For each pattern group (prd, architecture, epics, etc.), note the load_strategy if present
-
-
-
- For each pattern in input_file_patterns:
-
-
-
- Determine load_strategy from pattern config (defaults to FULL_LOAD if not specified)
-
-
- Load ALL files in sharded directory - used for PRD, Architecture, UX, brownfield docs
- Use glob pattern to find ALL .md files (e.g., "{output_folder}/*architecture*/*.md")
- Load EVERY matching file completely
- Concatenate content in logical order (index.md first if exists, then alphabetical)
- Store in variable: {pattern_name_content}
-
-
-
- Load specific shard using template variable - example: used for epics with {{epic_num}}
- Check for template variables in sharded_single pattern (e.g., {{epic_num}})
- If variable undefined, ask user for value OR infer from context
- Resolve template to specific file path
- Load that specific file
- Store in variable: {pattern_name_content}
-
-
-
- Load index.md, analyze structure and description of each doc in the index, then intelligently load relevant docs
- DO NOT BE LAZY - use best judgment to load documents that might have relevant information, even if only a 5% chance
- Load index.md from sharded directory
- Parse table of contents, links, section headers
- Analyze workflow's purpose and objective
- Identify which linked/referenced documents are likely relevant
- If workflow is about authentication and index shows "Auth Overview", "Payment Setup", "Deployment" â Load auth
- docs, consider deployment docs, skip payment
- Load all identified relevant documents
- Store combined content in variable: {pattern_name_content}
- When in doubt, LOAD IT - context is valuable, being thorough is better than missing critical info
-
- Mark pattern as RESOLVED, skip to next pattern
-
-
-
-
-
- Attempt glob match on 'whole' pattern (e.g., "{output_folder}/*prd*.md")
-
- Load ALL matching files completely (no offset/limit)
- Store content in variable: {pattern_name_content} (e.g., {prd_content})
- Mark pattern as RESOLVED, skip to next pattern
-
-
-
-
-
-
- Set {pattern_name_content} to empty string
- Note in session: "No {pattern_name} files found" (not an error, just unavailable, offer use change to provide)
-
-
-
-
-
- List all loaded content variables with file counts
-
- â Loaded {prd_content} from 5 sharded files: prd/index.md, prd/requirements.md, ...
- â Loaded {architecture_content} from 1 file: Architecture.md
- â Loaded {epics_content} from selective load: epics/epic-3.md
- â No ux_design files found
-
- This gives workflow transparency into what context is available
-
-
-
-
-
-
-
-
- âĸ This is the complete workflow execution engine
- âĸ You MUST Follow instructions exactly as written
- âĸ 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
- âĸ This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context
- âĸ YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be
- collaborative helping the user flesh out their ideas. Do not rush or optimize and skip any section.
-
-
-
\ No newline at end of file
diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md
deleted file mode 100644
index 4a8da26e7..000000000
--- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-name: '{{name}}'
-description: '{{description}}'
----
-
-IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
-
-
-1. Always LOAD the FULL {project-root}/{{bmadFolderName}}/core/tasks/workflow.xml
-2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config {project-root}/{{bmadFolderName}}/{{path}}
-3. Pass the yaml path {project-root}/{{bmadFolderName}}/{{path}} as 'workflow-config' parameter to the workflow.xml instructions
-4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
-5. Save outputs after EACH section when generating any documents from templates
-
diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md
deleted file mode 100644
index 4ee4e0824..000000000
--- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-inclusion: manual
----
-
-# {{name}}
-
-IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
-
-
-1. Always LOAD the FULL #[[file:{{bmadFolderName}}/core/tasks/workflow.xml]]
-2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config #[[file:{{bmadFolderName}}/{{path}}]]
-3. Pass the yaml path {{bmadFolderName}}/{{path}} as 'workflow-config' parameter to the workflow.xml instructions
-4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
-5. Save outputs after EACH section when generating any documents from templates
-
diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md
deleted file mode 100644
index 328983c9e..000000000
--- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-description: '{{description}}'
----
-
-IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
-
-
-1. Always LOAD the FULL {project-root}/_bmad/core/tasks/workflow.xml
-2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config {project-root}/{{workflow_path}}
-3. Pass the yaml path {{workflow_path}} as 'workflow-config' parameter to the workflow.xml instructions
-4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
-5. Save outputs after EACH section when generating any documents from templates
-