mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
feat: major overhaul of BMM planning workflows with intent-driven discovery
This comprehensive update transforms the Product Brief and PRD workflows from rigid template-filling exercises into adaptive, context-aware discovery processes. Changes span workflow instructions, templates, agent configurations, and supporting infrastructure. ## Product Brief Workflow (96% audit compliance) ### Intent-Driven Facilitation - Transform from linear Q&A to natural conversational discovery - Adaptive questioning based on project context (hobby/startup/enterprise) - Real-time document building instead of end-of-session generation - Skill-level aware facilitation (expert/intermediate/beginner) - Context detection from user responses to guide exploration depth ### Living Document Approach - Continuous template updates throughout conversation - Progressive refinement vs batch generation - Template-output tags aligned with discovery flow - Better variable mapping between instructions and template ### Enhanced Discovery Areas - Problem exploration with context-appropriate probing - Solution vision shaping based on user's mental model - User understanding through storytelling vs demographics - Success metrics tailored to project type - Ruthless MVP scope management with feature prioritization ### Template Improvements - Added context-aware conditional sections - Better organization of optional vs required content - Clearer structure for different project types - Improved reference material handling ## PRD Workflow (improved from 65% to 85%+ compliance) ### Critical Fixes - Add missing `date: system-generated` config variable - Fix status file extension mismatch (.yaml not .md) - Remove 38% bloat (unused technical_decisions variables) - Add explicit template-output tags for runtime variables ### Scale-Adaptive Intelligence - Project type detection (API/Web App/Mobile/SaaS/etc) - Domain complexity mapping (14 domain types) - Automatic requirement tailoring based on detected context - CSV-driven project type and domain knowledge base ### Separated Epic Planning - Move epic/story breakdown to dedicated child workflow - Create create-epics-and-stories workflow for Phase 2 - Cleaner separation: PRD defines WHAT, epics define HOW - Updated PM agent menu with new workflow triggers ### Enhanced Requirements Coverage - Project-type specific requirement sections (endpoints, auth, platform) - Domain-specific considerations (healthcare compliance, fintech security) - UX principles with interaction patterns - Non-functional requirements with integration needs - Technical preferences capture ### Template Restructuring - Separate PRD template from epic planning - Context-aware conditional sections - Better scale level indicators (L0-L4) - Improved reference document handling - Clearer success criteria sections ## Architecture Workflow Updates ### Template Enhancements - Add domain complexity context support - Better integration with PRD outputs - Improved technical decision capture - Enhanced system architecture sections ### Instruction Improvements - Reference new domain-research workflow - Better handling of PRD inputs - Clearer architectural decision framework ## Agent Configuration Updates ### BMad Master Agent - Fix workflow invocation instructions - Better fuzzy matching guidance - Clearer menu handler documentation - Remove workflow invention warnings ### PM Agent - Add create-prd trigger (renamed from 'prd') - Add create-epics-and-stories workflow trigger - Add validate-prd workflow trigger with checklist - Better workflow status integration ### Game Designer Agent - Rename triggers for consistency (create-game-brief, create-gdd) - Align with PM agent naming conventions ## New Supporting Infrastructure ### Domain Research Workflow - New discovery workflow for domain-specific research - Complements product brief for complex domains - Web research integration for domain insights ### Create Epics and Stories Workflow - Dedicated epic/story breakdown process - Separates planning (PRD) from decomposition - Better Epic → Story → Task hierarchy - Acceptance criteria generation ### Data Files - project-types.csv: 12 project type definitions with requirements - domain-complexity.csv: 14 domain types with complexity indicators ## Quality Improvements ### Validation & Compliance - Product Brief: 96% BMAD v6 compliance (EXCELLENT rating) - PRD: Improved from 65% to ~85% after critical fixes - Zero bloat in Product Brief (0%) - Reduced PRD bloat from 38% to ~15% ### Template Variable Mapping - All template variables explicitly populated via template-output tags - Runtime variables properly tracked - Config variables consistently used - Better separation of concerns ### Web Bundle Configuration - Complete web_bundle sections for all workflows - Proper child workflow references - Data file inclusions (CSV files) - Correct bmad/-relative paths ## Breaking Changes ### File Removals - Delete src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md (replaced by create-epics-and-stories child workflow) ### Workflow Trigger Changes - PM agent: 'prd' → 'create-prd' - PM agent: 'gdd' → 'create-gdd' - New: 'create-epics-and-stories' - New: 'validate-prd' ## Impact This update significantly improves the BMM module's ability to: - Adapt to different project types and scales - Guide users through discovery naturally vs mechanically - Generate higher quality planning documents - Support complex domains with specialized knowledge - Scale from Level 0 quick changes to Level 4 enterprise projects The workflows now feel like collaborative discovery sessions with an expert consultant rather than form-filling exercises.
This commit is contained in:
@@ -14,34 +14,32 @@ You must fully embody this agent's persona and follow all activation instruction
|
||||
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
|
||||
- VERIFY: If config not loaded, STOP and report error to user
|
||||
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
|
||||
<step n="3">Remember: user's name is {user_name}</step>
|
||||
<step n="4">Load into memory {project-root}/bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language</step>
|
||||
<step n="5">Remember the users name is {user_name}</step>
|
||||
<step n="6">ALWAYS communicate in {communication_language}</step>
|
||||
<step n="7">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
|
||||
ALL menu items from menu section</step>
|
||||
<step n="8">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
|
||||
<step n="9">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user
|
||||
to clarify | No match → show "Not recognized"</step>
|
||||
<step n="8">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text or fuzzy matching from conversation</step>
|
||||
<step n="9">If you are unsure, verify the workflow the user wants to run - PLEASE PLEASE DO NOT JUST GUESS OR WORSE INVENT A WORKFLOW THAT YOU CANNOT REALLY FIND</step>
|
||||
<step n="10">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
|
||||
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
|
||||
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handlers instructions</step>
|
||||
|
||||
<menu-handlers>
|
||||
<handlers>
|
||||
<handlers>
|
||||
<handler type="action">
|
||||
When menu item has: action="#id" → Find prompt with id="id" in current agent XML, execute its content
|
||||
When menu item has: action="text" → Execute the text directly as an inline instruction
|
||||
</handler>
|
||||
|
||||
<handler type="workflow">
|
||||
When menu item has: workflow="path/to/workflow.yaml"
|
||||
1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
|
||||
2. Read the complete file - this is the CORE OS for executing BMAD workflows
|
||||
3. Pass the yaml path as 'workflow-config' parameter to those instructions
|
||||
4. Execute workflow.xml instructions precisely following all steps
|
||||
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
|
||||
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
|
||||
</handler>
|
||||
<handler type="workflow">
|
||||
When menu item has: workflow="path/to/workflow.yaml"
|
||||
1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
|
||||
2. Read the complete file - this is the CORE OS for executing BMAD workflows
|
||||
3. Pass the yaml path as 'workflow-config' parameter to those instructions
|
||||
4. Execute workflow.xml instructions precisely following all steps
|
||||
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
|
||||
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
|
||||
</handler>
|
||||
</handlers>
|
||||
</menu-handlers>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user