initial commit

This commit is contained in:
2026-01-11 22:56:02 +01:00
commit 6426ddd0ab
408 changed files with 95071 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
domain,signals,complexity,key_concerns,required_knowledge,suggested_workflow,web_searches,special_sections
healthcare,"medical,diagnostic,clinical,FDA,patient,treatment,HIPAA,therapy,pharma,drug",high,"FDA approval;Clinical validation;HIPAA compliance;Patient safety;Medical device classification;Liability","Regulatory pathways;Clinical trial design;Medical standards;Data privacy;Integration requirements","domain-research","FDA software medical device guidance {date};HIPAA compliance software requirements;Medical software standards {date};Clinical validation software","clinical_requirements;regulatory_pathway;validation_methodology;safety_measures"
fintech,"payment,banking,trading,investment,crypto,wallet,transaction,KYC,AML,funds,fintech",high,"Regional compliance;Security standards;Audit requirements;Fraud prevention;Data protection","KYC/AML requirements;PCI DSS;Open banking;Regional laws (US/EU/APAC);Crypto regulations","domain-research","fintech regulations {date};payment processing compliance {date};open banking API standards;cryptocurrency regulations {date}","compliance_matrix;security_architecture;audit_requirements;fraud_prevention"
govtech,"government,federal,civic,public sector,citizen,municipal,voting",high,"Procurement rules;Security clearance;Accessibility (508);FedRAMP;Privacy;Transparency","Government procurement;Security frameworks;Accessibility standards;Privacy laws;Open data requirements","domain-research","government software procurement {date};FedRAMP compliance requirements;section 508 accessibility;government security standards","procurement_compliance;security_clearance;accessibility_standards;transparency_requirements"
edtech,"education,learning,student,teacher,curriculum,assessment,K-12,university,LMS",medium,"Student privacy (COPPA/FERPA);Accessibility;Content moderation;Age verification;Curriculum standards","Educational privacy laws;Learning standards;Accessibility requirements;Content guidelines;Assessment validity","domain-research","educational software privacy {date};COPPA FERPA compliance;WCAG education requirements;learning management standards","privacy_compliance;content_guidelines;accessibility_features;curriculum_alignment"
aerospace,"aircraft,spacecraft,aviation,drone,satellite,propulsion,flight,radar,navigation",high,"Safety certification;DO-178C compliance;Performance validation;Simulation accuracy;Export controls","Aviation standards;Safety analysis;Simulation validation;ITAR/export controls;Performance requirements","domain-research + technical-model","DO-178C software certification;aerospace simulation standards {date};ITAR export controls software;aviation safety requirements","safety_certification;simulation_validation;performance_requirements;export_compliance"
automotive,"vehicle,car,autonomous,ADAS,automotive,driving,EV,charging",high,"Safety standards;ISO 26262;V2X communication;Real-time requirements;Certification","Automotive standards;Functional safety;V2X protocols;Real-time systems;Testing requirements","domain-research","ISO 26262 automotive software;automotive safety standards {date};V2X communication protocols;EV charging standards","safety_standards;functional_safety;communication_protocols;certification_requirements"
scientific,"research,algorithm,simulation,modeling,computational,analysis,data science,ML,AI",medium,"Reproducibility;Validation methodology;Peer review;Performance;Accuracy;Computational resources","Scientific method;Statistical validity;Computational requirements;Domain expertise;Publication standards","technical-model","scientific computing best practices {date};research reproducibility standards;computational modeling validation;peer review software","validation_methodology;accuracy_metrics;reproducibility_plan;computational_requirements"
legaltech,"legal,law,contract,compliance,litigation,patent,attorney,court",high,"Legal ethics;Bar regulations;Data retention;Attorney-client privilege;Court system integration","Legal practice rules;Ethics requirements;Court filing systems;Document standards;Confidentiality","domain-research","legal technology ethics {date};law practice management software requirements;court filing system standards;attorney client privilege technology","ethics_compliance;data_retention;confidentiality_measures;court_integration"
insuretech,"insurance,claims,underwriting,actuarial,policy,risk,premium",high,"Insurance regulations;Actuarial standards;Data privacy;Fraud detection;State compliance","Insurance regulations by state;Actuarial methods;Risk modeling;Claims processing;Regulatory reporting","domain-research","insurance software regulations {date};actuarial standards software;insurance fraud detection;state insurance compliance","regulatory_requirements;risk_modeling;fraud_detection;reporting_compliance"
energy,"energy,utility,grid,solar,wind,power,electricity,oil,gas",high,"Grid compliance;NERC standards;Environmental regulations;Safety requirements;Real-time operations","Energy regulations;Grid standards;Environmental compliance;Safety protocols;SCADA systems","domain-research","energy sector software compliance {date};NERC CIP standards;smart grid requirements;renewable energy software standards","grid_compliance;safety_protocols;environmental_compliance;operational_requirements"
gaming,"game,player,gameplay,level,character,multiplayer,quest",redirect,"REDIRECT TO GAME WORKFLOWS","Game design","game-brief","NA","NA"
general,"",low,"Standard requirements;Basic security;User experience;Performance","General software practices","continue","software development best practices {date}","standard_requirements"
1 domain signals complexity key_concerns required_knowledge suggested_workflow web_searches special_sections
2 healthcare medical,diagnostic,clinical,FDA,patient,treatment,HIPAA,therapy,pharma,drug high FDA approval;Clinical validation;HIPAA compliance;Patient safety;Medical device classification;Liability Regulatory pathways;Clinical trial design;Medical standards;Data privacy;Integration requirements domain-research FDA software medical device guidance {date};HIPAA compliance software requirements;Medical software standards {date};Clinical validation software clinical_requirements;regulatory_pathway;validation_methodology;safety_measures
3 fintech payment,banking,trading,investment,crypto,wallet,transaction,KYC,AML,funds,fintech high Regional compliance;Security standards;Audit requirements;Fraud prevention;Data protection KYC/AML requirements;PCI DSS;Open banking;Regional laws (US/EU/APAC);Crypto regulations domain-research fintech regulations {date};payment processing compliance {date};open banking API standards;cryptocurrency regulations {date} compliance_matrix;security_architecture;audit_requirements;fraud_prevention
4 govtech government,federal,civic,public sector,citizen,municipal,voting high Procurement rules;Security clearance;Accessibility (508);FedRAMP;Privacy;Transparency Government procurement;Security frameworks;Accessibility standards;Privacy laws;Open data requirements domain-research government software procurement {date};FedRAMP compliance requirements;section 508 accessibility;government security standards procurement_compliance;security_clearance;accessibility_standards;transparency_requirements
5 edtech education,learning,student,teacher,curriculum,assessment,K-12,university,LMS medium Student privacy (COPPA/FERPA);Accessibility;Content moderation;Age verification;Curriculum standards Educational privacy laws;Learning standards;Accessibility requirements;Content guidelines;Assessment validity domain-research educational software privacy {date};COPPA FERPA compliance;WCAG education requirements;learning management standards privacy_compliance;content_guidelines;accessibility_features;curriculum_alignment
6 aerospace aircraft,spacecraft,aviation,drone,satellite,propulsion,flight,radar,navigation high Safety certification;DO-178C compliance;Performance validation;Simulation accuracy;Export controls Aviation standards;Safety analysis;Simulation validation;ITAR/export controls;Performance requirements domain-research + technical-model DO-178C software certification;aerospace simulation standards {date};ITAR export controls software;aviation safety requirements safety_certification;simulation_validation;performance_requirements;export_compliance
7 automotive vehicle,car,autonomous,ADAS,automotive,driving,EV,charging high Safety standards;ISO 26262;V2X communication;Real-time requirements;Certification Automotive standards;Functional safety;V2X protocols;Real-time systems;Testing requirements domain-research ISO 26262 automotive software;automotive safety standards {date};V2X communication protocols;EV charging standards safety_standards;functional_safety;communication_protocols;certification_requirements
8 scientific research,algorithm,simulation,modeling,computational,analysis,data science,ML,AI medium Reproducibility;Validation methodology;Peer review;Performance;Accuracy;Computational resources Scientific method;Statistical validity;Computational requirements;Domain expertise;Publication standards technical-model scientific computing best practices {date};research reproducibility standards;computational modeling validation;peer review software validation_methodology;accuracy_metrics;reproducibility_plan;computational_requirements
9 legaltech legal,law,contract,compliance,litigation,patent,attorney,court high Legal ethics;Bar regulations;Data retention;Attorney-client privilege;Court system integration Legal practice rules;Ethics requirements;Court filing systems;Document standards;Confidentiality domain-research legal technology ethics {date};law practice management software requirements;court filing system standards;attorney client privilege technology ethics_compliance;data_retention;confidentiality_measures;court_integration
10 insuretech insurance,claims,underwriting,actuarial,policy,risk,premium high Insurance regulations;Actuarial standards;Data privacy;Fraud detection;State compliance Insurance regulations by state;Actuarial methods;Risk modeling;Claims processing;Regulatory reporting domain-research insurance software regulations {date};actuarial standards software;insurance fraud detection;state insurance compliance regulatory_requirements;risk_modeling;fraud_detection;reporting_compliance
11 energy energy,utility,grid,solar,wind,power,electricity,oil,gas high Grid compliance;NERC standards;Environmental regulations;Safety requirements;Real-time operations Energy regulations;Grid standards;Environmental compliance;Safety protocols;SCADA systems domain-research energy sector software compliance {date};NERC CIP standards;smart grid requirements;renewable energy software standards grid_compliance;safety_protocols;environmental_compliance;operational_requirements
12 gaming game,player,gameplay,level,character,multiplayer,quest redirect REDIRECT TO GAME WORKFLOWS Game design game-brief NA NA
13 general low Standard requirements;Basic security;User experience;Performance General software practices continue software development best practices {date} standard_requirements

View File

@@ -0,0 +1,11 @@
---
stepsCompleted: []
inputDocuments: []
workflowType: 'prd'
lastStep: 0
---
# Product Requirements Document - {{project_name}}
**Author:** {{user_name}}
**Date:** {{date}}

View File

@@ -0,0 +1,11 @@
project_type,detection_signals,key_questions,required_sections,skip_sections,web_search_triggers,innovation_signals
api_backend,"API,REST,GraphQL,backend,service,endpoints","Endpoints needed?;Authentication method?;Data formats?;Rate limits?;Versioning?;SDK needed?","endpoint_specs;auth_model;data_schemas;error_codes;rate_limits;api_docs","ux_ui;visual_design;user_journeys","framework best practices;OpenAPI standards","API composition;New protocol"
mobile_app,"iOS,Android,app,mobile,iPhone,iPad","Native or cross-platform?;Offline needed?;Push notifications?;Device features?;Store compliance?","platform_reqs;device_permissions;offline_mode;push_strategy;store_compliance","desktop_features;cli_commands","app store guidelines;platform requirements","Gesture innovation;AR/VR features"
saas_b2b,"SaaS,B2B,platform,dashboard,teams,enterprise","Multi-tenant?;Permission model?;Subscription tiers?;Integrations?;Compliance?","tenant_model;rbac_matrix;subscription_tiers;integration_list;compliance_reqs","cli_interface;mobile_first","compliance requirements;integration guides","Workflow automation;AI agents"
developer_tool,"SDK,library,package,npm,pip,framework","Language support?;Package managers?;IDE integration?;Documentation?;Examples?","language_matrix;installation_methods;api_surface;code_examples;migration_guide","visual_design;store_compliance","package manager best practices;API design patterns","New paradigm;DSL creation"
cli_tool,"CLI,command,terminal,bash,script","Interactive or scriptable?;Output formats?;Config method?;Shell completion?","command_structure;output_formats;config_schema;scripting_support","visual_design;ux_principles;touch_interactions","CLI design patterns;shell integration","Natural language CLI;AI commands"
web_app,"website,webapp,browser,SPA,PWA","SPA or MPA?;Browser support?;SEO needed?;Real-time?;Accessibility?","browser_matrix;responsive_design;performance_targets;seo_strategy;accessibility_level","native_features;cli_commands","web standards;WCAG guidelines","New interaction;WebAssembly use"
game,"game,player,gameplay,level,character","REDIRECT TO USE THE BMad Method Game Module Agent and Workflows - HALT","game-brief;GDD","most_sections","game design patterns","Novel mechanics;Genre mixing"
desktop_app,"desktop,Windows,Mac,Linux,native","Cross-platform?;Auto-update?;System integration?;Offline?","platform_support;system_integration;update_strategy;offline_capabilities","web_seo;mobile_features","desktop guidelines;platform requirements","Desktop AI;System automation"
iot_embedded,"IoT,embedded,device,sensor,hardware","Hardware specs?;Connectivity?;Power constraints?;Security?;OTA updates?","hardware_reqs;connectivity_protocol;power_profile;security_model;update_mechanism","visual_ui;browser_support","IoT standards;protocol specs","Edge AI;New sensors"
blockchain_web3,"blockchain,crypto,DeFi,NFT,smart contract","Chain selection?;Wallet integration?;Gas optimization?;Security audit?","chain_specs;wallet_support;smart_contracts;security_audit;gas_optimization","traditional_auth;centralized_db","blockchain standards;security patterns","Novel tokenomics;DAO structure"
1 project_type detection_signals key_questions required_sections skip_sections web_search_triggers innovation_signals
2 api_backend API,REST,GraphQL,backend,service,endpoints Endpoints needed?;Authentication method?;Data formats?;Rate limits?;Versioning?;SDK needed? endpoint_specs;auth_model;data_schemas;error_codes;rate_limits;api_docs ux_ui;visual_design;user_journeys framework best practices;OpenAPI standards API composition;New protocol
3 mobile_app iOS,Android,app,mobile,iPhone,iPad Native or cross-platform?;Offline needed?;Push notifications?;Device features?;Store compliance? platform_reqs;device_permissions;offline_mode;push_strategy;store_compliance desktop_features;cli_commands app store guidelines;platform requirements Gesture innovation;AR/VR features
4 saas_b2b SaaS,B2B,platform,dashboard,teams,enterprise Multi-tenant?;Permission model?;Subscription tiers?;Integrations?;Compliance? tenant_model;rbac_matrix;subscription_tiers;integration_list;compliance_reqs cli_interface;mobile_first compliance requirements;integration guides Workflow automation;AI agents
5 developer_tool SDK,library,package,npm,pip,framework Language support?;Package managers?;IDE integration?;Documentation?;Examples? language_matrix;installation_methods;api_surface;code_examples;migration_guide visual_design;store_compliance package manager best practices;API design patterns New paradigm;DSL creation
6 cli_tool CLI,command,terminal,bash,script Interactive or scriptable?;Output formats?;Config method?;Shell completion? command_structure;output_formats;config_schema;scripting_support visual_design;ux_principles;touch_interactions CLI design patterns;shell integration Natural language CLI;AI commands
7 web_app website,webapp,browser,SPA,PWA SPA or MPA?;Browser support?;SEO needed?;Real-time?;Accessibility? browser_matrix;responsive_design;performance_targets;seo_strategy;accessibility_level native_features;cli_commands web standards;WCAG guidelines New interaction;WebAssembly use
8 game game,player,gameplay,level,character REDIRECT TO USE THE BMad Method Game Module Agent and Workflows - HALT game-brief;GDD most_sections game design patterns Novel mechanics;Genre mixing
9 desktop_app desktop,Windows,Mac,Linux,native Cross-platform?;Auto-update?;System integration?;Offline? platform_support;system_integration;update_strategy;offline_capabilities web_seo;mobile_features desktop guidelines;platform requirements Desktop AI;System automation
10 iot_embedded IoT,embedded,device,sensor,hardware Hardware specs?;Connectivity?;Power constraints?;Security?;OTA updates? hardware_reqs;connectivity_protocol;power_profile;security_model;update_mechanism visual_ui;browser_support IoT standards;protocol specs Edge AI;New sensors
11 blockchain_web3 blockchain,crypto,DeFi,NFT,smart contract Chain selection?;Wallet integration?;Gas optimization?;Security audit? chain_specs;wallet_support;smart_contracts;security_audit;gas_optimization traditional_auth;centralized_db blockchain standards;security patterns Novel tokenomics;DAO structure

View File

@@ -0,0 +1,197 @@
---
name: 'step-01-init'
description: 'Initialize the PRD workflow by detecting continuation state and setting up the document'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-01-init.md'
nextStepFile: '{workflow_path}/steps/step-02-discovery.md'
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Template References
prdTemplate: '{workflow_path}/prd-template.md'
---
# Step 1: Workflow Initialization
**Progress: Step 1 of 11** - Next: Project Discovery
## STEP GOAL:
Initialize the PRD workflow by detecting continuation state, discovering input documents, and setting up the document structure for collaborative product requirement discovery.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 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-focused PM facilitator collaborating with an expert peer
- ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
### Step-Specific Rules:
- 🎯 Focus only on initialization and setup - no content generation yet
- 🚫 FORBIDDEN to look ahead to future steps or assume knowledge from them
- 💬 Approach: Systematic setup with clear reporting to user
- 🚪 Detect existing workflow state and handle continuation properly
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis of current state before taking any action
- 💾 Initialize document structure and update frontmatter appropriately
- Update frontmatter: add this step name to the end of the steps completed array (it should be the first entry in the steps array since this is step 1)
- 🚫 FORBIDDEN to load next step until user selects 'C' (Continue)
## CONTEXT BOUNDARIES:
- Available context: Variables from workflow.md are available in memory
- Focus: Workflow initialization and document setup only
- Limits: Don't assume knowledge from other steps or create content yet
- Dependencies: Configuration loaded from workflow.md initialization
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Check for Existing Workflow State
First, check if the output document already exists:
**Workflow State Detection:**
- Look for file at `{outputFile}`
- If exists, read the complete file including frontmatter
- If not exists, this is a fresh workflow
### 2. Handle Continuation (If Document Exists)
If the document exists and has frontmatter with `stepsCompleted` BUT `step-11-complete` is NOT in the list, follow the Continuation Protocol since the document is incomplete:
**Continuation Protocol:**
- **STOP immediately** and load `{continueStepFile}`
- Do not proceed with any initialization tasks
- Let step-01b handle all continuation logic
- This is an auto-proceed situation - no user choice needed
### 3. Fresh Workflow Setup (If No Document)
If no document exists or no `stepsCompleted` in frontmatter:
#### A. Input Document Discovery
Discover and load context documents using smart discovery. Documents can be in the following locations:
- {planning_artifacts}/**
- {output_folder}/**
- {product_knowledge}/**
- docs/**
Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
Try to discover the following:
- Product Brief (`*brief*.md`)
- Research Documents (`/*research*.md`)
- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
- Project Context (`**/project-context.md`)
<critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
**Loading Rules:**
- Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
- If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
- For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
- index.md is a guide to what's relevant whenever available
- Track all successfully loaded files in frontmatter `inputDocuments` array
#### B. Create Initial Document
**Document Setup:**
- Copy the template from `{prdTemplate}` to `{outputFile}`
- Initialize frontmatter with proper structure including inputDocuments array.
#### C. Present Initialization Results
**Setup Report to User:**
"Welcome {{user_name}}! I've set up your PRD workspace for {{project_name}}.
**Document Setup:**
- Created: `{outputFile}` from template
- Initialized frontmatter with workflow state
**Input Documents Discovered:**
- Product briefs: {{briefCount}} files {if briefCount > 0}✓ loaded{else}(none found){/if}
- Research: {{researchCount}} files {if researchCount > 0}✓ loaded{else}(none found){/if}
- Brainstorming: {{brainstormingCount}} files {if brainstormingCount > 0}✓ loaded{else}(none found){/if}
- Project docs: {{projectDocsCount}} files {if projectDocsCount > 0}✓ loaded (brownfield project){else}(none found - greenfield project){/if}
**Files loaded:** {list of specific file names or "No additional documents found"}
{if projectDocsCount > 0}
📋 **Note:** This is a **brownfield project**. Your existing project documentation has been loaded. In the next step, I'll ask specifically about what new features or changes you want to add to your existing system.
{/if}
Do you have any other documents you'd like me to include, or shall we continue to the next step?"
### 4. Present MENU OPTIONS
Display menu after setup report:
"[C] Continue - Save this and move to Project Discovery (Step 2 of 11)"
#### Menu Handling Logic:
- IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire {nextStepFile}, then execute {nextStepFile}
- IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
- IF user asks questions: Answer and redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [frontmatter properly updated with stepsCompleted: [1] and documentCounts], will you then load and read fully `{nextStepFile}` to execute and begin project discovery.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Existing workflow detected and properly handed off to step-01b
- Fresh workflow initialized with template and proper frontmatter
- Input documents discovered and loaded using sharded-first logic
- All discovered files tracked in frontmatter `inputDocuments`
- User clearly informed of brownfield vs greenfield status
- Menu presented and user input handled correctly
- Frontmatter updated with `stepsCompleted: [1]` before proceeding
### ❌ SYSTEM FAILURE:
- Proceeding with fresh initialization when existing workflow exists
- Not updating frontmatter with discovered input documents
- **Not storing document counts in frontmatter**
- Creating document without proper template structure
- Not checking sharded folders first before whole files
- Not reporting discovered documents to user clearly
- Proceeding without user selecting 'C' (Continue)
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@@ -0,0 +1,166 @@
---
name: 'step-01b-continue'
description: 'Resume an interrupted PRD workflow from the last completed step'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
---
# Step 1B: Workflow Continuation
## STEP GOAL:
Resume the PRD workflow from where it was left off, ensuring smooth continuation with full context restoration.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 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-focused PM facilitator collaborating with an expert peer
- ✅ We engage in collaborative dialogue, not command-response
- ✅ Resume workflow from exact point where it was interrupted
### Step-Specific Rules:
- 💬 FOCUS on understanding where we left off and continuing appropriately
- 🚫 FORBIDDEN to modify content completed in previous steps
- 📖 Only reload documents that were already tracked in `inputDocuments`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis of current state before taking action
- Update frontmatter: add this step name to the end of the steps completed array
- 📖 Only load documents that were already tracked in `inputDocuments`
- 🚫 FORBIDDEN to discover new input documents during continuation
## CONTEXT BOUNDARIES:
- Available context: Current document and frontmatter are already loaded
- Focus: Workflow state analysis and continuation logic only
- Limits: Don't assume knowledge beyond what's in the document
- Dependencies: Existing workflow state from previous session
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Analyze Current State
**State Assessment:**
Review the frontmatter to understand:
- `stepsCompleted`: Which steps are already done
- `lastStep`: The most recently completed step number
- `inputDocuments`: What context was already loaded
- `documentCounts`: briefs, research, brainstorming, projectDocs counts
- All other frontmatter variables
### 2. Restore Context Documents
**Context Reloading:**
- For each document in `inputDocuments`, load the complete file
- This ensures you have full context for continuation
- Don't discover new documents - only reload what was previously processed
### 3. Present Current Progress
**Progress Report to User:**
"Welcome back {{user_name}}! I'm resuming our PRD collaboration for {{project_name}}.
**Current Progress:**
- Steps completed: {stepsCompleted}
- Last worked on: Step {lastStep}
- Context documents available: {len(inputDocuments)} files
**Document Status:**
- Current PRD document is ready with all completed sections
- Ready to continue from where we left off
Does this look right, or do you want to make any adjustments before we proceed?"
### 4. Determine Continuation Path
**Next Step Logic:**
Based on `lastStep` value, determine which step to load next:
- If `lastStep = 1` → Load `./step-02-discovery.md`
- If `lastStep = 2` → Load `./step-03-success.md`
- If `lastStep = 3` → Load `./step-04-journeys.md`
- If `lastStep = 4` → Load `./step-05-domain.md`
- If `lastStep = 5` → Load `./step-06-innovation.md`
- If `lastStep = 6` → Load `./step-07-project-type.md`
- If `lastStep = 7` → Load `./step-08-scoping.md`
- If `lastStep = 8` → Load `./step-09-functional.md`
- If `lastStep = 9` → Load `./step-10-nonfunctional.md`
- If `lastStep = 10` → Load `./step-11-complete.md`
- If `lastStep = 11` → Workflow already complete
### 5. Handle Workflow Completion
**If workflow already complete (`lastStep = 11`):**
"Great news! It looks like we've already completed the PRD workflow for {{project_name}}.
The final document is ready at `{outputFile}` with all sections completed through step 11.
Would you like me to:
- Review the completed PRD with you
- Suggest next workflow steps (like architecture or epic creation)
- Start a new PRD revision
What would be most helpful?"
### 6. Present MENU OPTIONS
**If workflow not complete:**
Display: "Ready to continue with Step {nextStepNumber}?
**Select an Option:** [C] Continue to next step"
#### Menu Handling Logic:
- IF C: Load, read entire file, then execute the appropriate next step file based on `lastStep`
- IF Any other comments or queries: respond and redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the appropriate next step file to resume the workflow.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- All previous input documents successfully reloaded
- Current workflow state accurately analyzed and presented
- User confirms understanding of progress before continuation
- Correct next step identified and prepared for loading
### ❌ SYSTEM FAILURE:
- Discovering new input documents instead of reloading existing ones
- Modifying content from already completed steps
- Loading wrong next step based on `lastStep` value
- Proceeding without user confirmation of current state
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@@ -0,0 +1,421 @@
---
name: 'step-02-discovery'
description: 'Conduct project and domain discovery with data-driven classification'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-02-discovery.md'
nextStepFile: '{workflow_path}/steps/step-03-success.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
projectTypesCSV: '{workflow_path}/project-types.csv'
domainComplexityCSV: '{workflow_path}/domain-complexity.csv'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 2: Project & Domain Discovery
**Progress: Step 2 of 11** - Next: Success Criteria Definition
## STEP GOAL:
Conduct comprehensive project discovery that leverages existing input documents while allowing user refinement, with data-driven classification, and generate the Executive Summary content.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 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-focused PM facilitator collaborating with an expert peer
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
### Step-Specific Rules:
- 🎯 Focus on project classification and vision alignment only
- 🚫 FORBIDDEN to generate content without real user input
- 💬 APPROACH: Adapt questions based on document context (brownfield vs greenfield)
- 🎯 LOAD classification data BEFORE starting discovery conversation
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating executive summary content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about the generated content
- **P (Party Mode)**: Bring multiple perspectives to discuss and improve the generated content
- **C (Continue)**: Append and save the content to the `{outputFile}` and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {advancedElicitationTask}
- When 'P' selected: Execute {partyModeWorkflow}
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from step 1 are available
- Input documents already loaded are in memory (product briefs, research, brainstorming, project docs)
- **Document counts available in frontmatter `documentCounts`**
- Classification CSV data will be loaded in this step only
- This will be the first content section appended to the document
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Read Document State from Frontmatter
**CRITICAL FIRST ACTION:** Read the frontmatter from `{outputFile}` to get document counts.
```
Read documentCounts from prd.md frontmatter:
- briefCount = documentCounts.briefs
- researchCount = documentCounts.research
- brainstormingCount = documentCounts.brainstorming
- projectDocsCount = documentCounts.projectDocs
```
**ANNOUNCE your understanding:**
"From step 1, I have loaded:
- Product briefs: {{briefCount}} files
- Research: {{researchCount}} files
- Brainstorming: {{brainstormingCount}} files
- Project docs: {{projectDocsCount}} files
{if projectDocsCount > 0}This is a **brownfield project** - I'll focus on understanding what you want to add or change.{else}This is a **greenfield project** - I'll help you define the full product vision.{/if}"
### 2. Load Classification Data
Load and prepare CSV data for intelligent classification:
- Load `{projectTypesCSV}` completely
- Load `{domainComplexityCSV}` completely
- Parse column structures and store in memory for this step only
### 3. Begin Discovery Conversation
**SELECT EXACTLY ONE DISCOVERY PATH based on document state:**
---
#### PATH A: Has Product Brief (briefCount > 0)
**Use this path when:** `briefCount > 0`
"As your PM peer, I've reviewed your product brief and have a great starting point for our discovery. Let me share what I understand and you can refine or correct as needed.
**Based on your product brief:**
**What you're building:**
{{extracted_vision_from_brief}}
**Problem it solves:**
{{extracted_problem_from_brief}}
**Target users:**
{{extracted_users_from_brief}}
**What makes it special:**
{{extracted_differentiator_from_brief}}
{if projectDocsCount > 0}I also see you have existing project documentation. This PRD will define how new features integrate with your existing system architecture.{/if}
**How does this align with your vision?** Should we refine any of these points or are there important aspects I'm missing?"
**AFTER this message, SKIP to Section 4.**
---
#### PATH B: No Brief but Has Project Docs - Brownfield (briefCount == 0 AND projectDocsCount > 0)
**Use this path when:** `briefCount == 0 AND projectDocsCount > 0`
**NOTE:** Extract the following from loaded project documentation (index.md, architecture.md, project-overview.md, etc.):
"As your PM peer, I've reviewed your existing project documentation from document-project.
**Your existing system includes:**
- **Tech Stack:** {analyze index.md and architecture.md for technologies used}
- **Architecture:** {summarize architecture patterns from architecture.md}
- **Key Components:** {list main components from source-tree-analysis.md or project-overview.md}
This PRD will define **new features or changes** to add to this existing codebase.
**Tell me about what you want to add or change:**
- What new capability or feature do you want to build?
- What problem will this solve for your users?
- How should it integrate with the existing system?
- Is this adding new functionality, improving existing features, or fixing issues?
I'll help you create a PRD focused on these additions while respecting your existing patterns and architecture."
**AFTER this message, SKIP to Section 4.**
---
#### PATH C: No Documents - Greenfield (briefCount == 0 AND projectDocsCount == 0)
**Use this path when:** `briefCount == 0 AND projectDocsCount == 0`
"As your PM peer, I'm excited to help you shape {{project_name}}. Let me start by understanding what you want to build.
**Tell me about what you want to create:**
- What problem does it solve?
- Who are you building this for?
- What excites you most about this product?
I'll be listening for signals to help us classify the project and domain so we can ask the right questions throughout our process."
**AFTER this message, continue to Section 4.**
---
### 4. Listen for Classification Signals
As the user describes their product/feature, listen for and match against:
#### Project Type Signals
Compare user description against `detection_signals` from `project-types.csv`:
- Look for keyword matches from semicolon-separated signals
- Examples: "API,REST,GraphQL" → api_backend
- Examples: "iOS,Android,app,mobile" → mobile_app
- Store the best matching `project_type`
#### Domain Signals
Compare user description against `signals` from `domain-complexity.csv`:
- Look for domain keyword matches
- Examples: "medical,diagnostic,clinical" → healthcare
- Examples: "payment,banking,trading" → fintech
- Store the matched `domain` and `complexity_level`
### 5. Present Classification for Validation
**SELECT EXACTLY ONE CLASSIFICATION PRESENTATION based on document state:**
---
#### IF PATH A was used (briefCount > 0):
"Based on your product brief and our discussion, I'm classifying this as:
- **Project Type:** {project_type_from_brief_or_conversation}
- **Domain:** {domain_from_brief_or_conversation}
- **Complexity:** {complexity_from_brief_or_conversation}
From your brief, I detected these classification signals:
{{classification_signals_from_brief}}
{if projectDocsCount > 0}Your existing project documentation also indicates:
- **Existing Tech Stack:** {from architecture.md or index.md}
- **Architecture Pattern:** {from architecture.md}
I'll ensure the new features align with your existing system.{/if}
Combined with our conversation, this suggests the above classification. Does this sound right?"
---
#### IF PATH B was used (briefCount == 0 AND projectDocsCount > 0):
"Based on your existing project documentation and our discussion about new features:
- **Existing Project Type:** {detected from project docs - e.g., web_app, api_backend}
- **Tech Stack:** {from architecture.md or index.md}
- **New Feature Type:** {from user's description of what they want to add}
- **Domain:** {detected_domain}
- **Complexity:** {complexity_level}
I'll ensure the PRD aligns with your existing architecture patterns. Does this classification sound right?"
---
#### IF PATH C was used (briefCount == 0 AND projectDocsCount == 0):
"Based on our conversation, I'm hearing this as:
- **Project Type:** {detected_project_type}
- **Domain:** {detected_domain}
- **Complexity:** {complexity_level}
Does this sound right to you? I want to make sure we're on the same page before diving deeper."
---
### 6. Identify What Makes It Special
**SELECT EXACTLY ONE DIFFERENTIATOR DISCOVERY based on document state:**
---
#### IF PATH A was used (briefCount > 0):
"From your product brief, I understand that what makes this special is:
{{extracted_differentiator_from_brief}}
Let's explore this deeper:
- **Refinement needed:** Does this capture the essence correctly, or should we adjust it?
- **Missing aspects:** Are there other differentiators that aren't captured in your brief?
- **Evolution:** How has your thinking on this evolved since you wrote the brief?"
---
#### IF PATH B was used (briefCount == 0 AND projectDocsCount > 0):
"Your existing system already provides certain capabilities. Now let's define what makes these **new additions** special:
- What gap in your current system will this fill?
- How will this improve the experience for your existing users?
- What's the key insight that led you to prioritize this addition?
- What would make users say 'finally, this is what we needed'?"
---
#### IF PATH C was used (briefCount == 0 AND projectDocsCount == 0):
Ask focused questions to capture the product's unique value:
- "What would make users say 'this is exactly what I needed'?"
- "What's the moment where users realize this is different/better?"
- "What assumption about [problem space] are you challenging?"
- "If this succeeds wildly, what changed for your users?"
---
### 7. Generate Executive Summary Content
Based on the conversation, prepare the content to append to the document:
#### Content Structure:
```markdown
## Executive Summary
{vision_alignment_content}
### What Makes This Special
{product_differentiator_content}
## Project Classification
**Technical Type:** {project_type}
**Domain:** {domain}
**Complexity:** {complexity_level}
{if projectDocsCount > 0}**Project Context:** Brownfield - extending existing system{else}**Project Context:** Greenfield - new project{/if}
{project_classification_content}
```
### 8. Present Content and Menu
Show the generated content to the user and present:
"I've drafted our Executive Summary based on our conversation. This will be the first section of your PRD.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 7]
**Select an Option:**
[A] Advanced Elicitation - Let's dive deeper and refine this content
[P] Party Mode - Bring in different perspectives to improve this
[C] Continue - Save this and move to Success Criteria Definition (Step 3 of 11)"
### 9. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Process the enhanced content that comes back
- Ask user: "Accept these changes to the Executive Summary? (y/n)"
- If yes: Update the content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Process the collaborative improvements that come back
- Ask user: "Accept these changes to the Executive Summary? (y/n)"
- If yes: Update the content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [executive summary content finalized and saved to document with frontmatter updated], will you then load and read fully `{nextStepFile}` to execute and begin success criteria definition.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Document counts read from frontmatter and announced
- Classification data loaded and used effectively
- **Correct discovery path selected based on document counts**
- Input documents analyzed and leveraged for head start
- User classifications validated and confirmed
- Product differentiator clearly identified and refined
- Executive summary content generated collaboratively with document context
- A/P/C menu presented and handled correctly
- Content properly appended to document when C selected
- Frontmatter updated with stepsCompleted: [1, 2]
### ❌ SYSTEM FAILURE:
- **Not reading documentCounts from frontmatter first**
- **Executing multiple discovery paths instead of exactly one**
- Skipping classification data loading and guessing classifications
- Not leveraging existing input documents to accelerate discovery
- Not validating classifications with user before proceeding
- Generating executive summary without real user input
- Missing the "what makes it special" discovery and refinement
- Not presenting A/P/C menu after content generation
- Appending content without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
## COMPLEXITY HANDLING:
If `complexity_level = "high"`:
- Note the `suggested_workflow` and `web_searches` from domain CSV
- Consider mentioning domain research needs in classification section
- Document complexity implications in project classification

View File

@@ -0,0 +1,290 @@
---
name: 'step-03-success'
description: 'Define comprehensive success criteria covering user, business, and technical success'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-03-success.md'
nextStepFile: '{workflow_path}/steps/step-04-journeys.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 3: Success Criteria Definition
**Progress: Step 3 of 11** - Next: User Journey Mapping
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on defining what winning looks like for this product
- 🎯 COLLABORATIVE discovery, not assumption-based goal setting
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating success criteria content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about success metrics
- **P (Party Mode)**: Bring multiple perspectives to define comprehensive success criteria
- **C (Continue)**: Save the content to the document and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Executive Summary and Project Classification already exist in document
- Input documents from step-01 are available (product briefs, research, brainstorming)
- No additional data files needed for this step
- Focus on measurable, specific success criteria
- LEVERAGE existing input documents to inform success criteria
## YOUR TASK:
Define comprehensive success criteria that cover user success, business success, and technical success, using input documents as a foundation while allowing user refinement.
## SUCCESS DISCOVERY SEQUENCE:
### 1. Begin Success Definition Conversation
**Check Input Documents for Success Indicators:**
Analyze product brief, research, and brainstorming documents for success criteria already mentioned.
**If Input Documents Contain Success Criteria:**
"Looking at your product brief and research, I see some initial success criteria already defined:
**From your brief:**
{{extracted_success_criteria_from_brief}}
**From research:**
{{extracted_success_criteria_from_research}}
**From brainstorming:**
{{extracted_success_criteria_from_brainstorming}}
This gives us a great foundation. Let's refine and expand on these initial thoughts:
**User Success First:**
Based on what we have, how would you refine these user success indicators:
- {{refined_user_success_from_documents}}
- Are there other user success metrics we should consider?
**What would make a user say 'this was worth it'** beyond what's already captured?"
**If No Success Criteria in Input Documents:**
Start with user-centered success:
"Now that we understand what makes {{project_name}} special, let's define what success looks like.
**User Success First:**
- What would make a user say 'this was worth it'?
- What's the moment where they realize this solved their problem?
- After using {{project_name}}, what outcome are they walking away with?
Let's start with the user experience of success."
### 2. Explore User Success Metrics
Listen for specific user outcomes and help make them measurable:
- Guide from vague to specific: NOT "users are happy" → "users complete [key action] within [timeframe]"
- Ask about emotional success: "When do they feel delighted/relieved/empowered?"
- Identify success moments: "What's the 'aha!' moment?"
- Define completion scenarios: "What does 'done' look like for the user?"
### 3. Define Business Success
Transition to business metrics:
"Now let's look at success from the business perspective.
**Business Success:**
- What does success look like at 3 months? 12 months?
- Are we measuring revenue, user growth, engagement, something else?
- What metric would make you say 'this is working'?
Help me understand what success means for your business."
### 4. Challenge Vague Metrics
Push for specificity on business metrics:
- "10,000 users" → "What kind of users? Doing what?"
- "99.9% uptime" → "What's the real concern - data loss? Failed payments?"
- "Fast" → "How fast, and what specifically needs to be fast?"
- "Good adoption" → "What percentage adoption by when?"
### 5. Connect to Product Differentiator
Tie success metrics back to what makes the product special:
"So success means users experience [differentiator] and achieve [outcome]. Does that capture it?"
Adapt success criteria to context:
- Consumer: User love, engagement, retention
- B2B: ROI, efficiency, adoption
- Developer tools: Developer experience, community
- Regulated: Compliance, safety, validation
- GovTech: Government compliance, accessibility, procurement
### 6. Smart Scope Negotiation
Guide scope definition through success lens:
"The Scoping Game:
1. What must work for this to be useful? → MVP
2. What makes it competitive? → Growth
3. What's the dream version? → Vision
Challenge scope creep conversationally:
- Could that wait until after launch?
- Is that essential for proving the concept?
For complex domains, include compliance minimums in MVP."
### 7. Generate Success Criteria Content
Prepare the content to append to the document:
#### Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
```markdown
## Success Criteria
### User Success
[Content about user success criteria based on conversation]
### Business Success
[Content about business success metrics based on conversation]
### Technical Success
[Content about technical success requirements based on conversation]
### Measurable Outcomes
[Content about specific measurable outcomes based on conversation]
## Product Scope
### MVP - Minimum Viable Product
[Content about MVP scope based on conversation]
### Growth Features (Post-MVP)
[Content about growth features based on conversation]
### Vision (Future)
[Content about future vision based on conversation]
```
### 8. Present Content and Menu
Show the generated content and present choices:
"I've drafted our success criteria and scope definition based on our conversation.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 7]
**What would you like to do?**
[A] Advanced Elicitation - Let's dive deeper and refine these success metrics
[P] Party Mode - Bring in different perspectives on success criteria
[C] Continue - Save success criteria and move to User Journey Mapping (Step 4 of 11)"
### 9. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current success criteria content
- Process the enhanced success metrics that come back
- Ask user: "Accept these improvements to the success criteria? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current success criteria
- Process the collaborative improvements to metrics and scope
- Ask user: "Accept these changes to the success criteria? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step to the end of the steps completed array
- Load `./step-04-journeys.md`
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 7.
## SUCCESS METRICS:
✅ User success criteria clearly identified and made measurable
✅ Business success metrics defined with specific targets
✅ Success criteria connected to product differentiator
✅ Scope properly negotiated (MVP, Growth, Vision)
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Accepting vague success metrics without pushing for specificity
❌ Not connecting success criteria back to product differentiator
❌ Missing scope negotiation and leaving it undefined
❌ Generating content without real user input on what success looks like
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## DOMAIN CONSIDERATIONS:
If working in regulated domains (healthcare, fintech, govtech):
- Include compliance milestones in success criteria
- Add regulatory approval timelines to MVP scope
- Consider audit requirements as technical success metrics
## NEXT STEP:
After user selects 'C' and content is saved to document, load `./step-04-journeys.md` to map user journeys.
Remember: Do NOT proceed to step-04 until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,291 @@
---
name: 'step-04-journeys'
description: 'Map ALL user types that interact with the system with narrative story-based journeys'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-04-journeys.md'
nextStepFile: '{workflow_path}/steps/step-05-domain.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 4: User Journey Mapping
**Progress: Step 4 of 11** - Next: Domain Requirements
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on mapping ALL user types that interact with the system
- 🎯 CRITICAL: No journey = no functional requirements = product doesn't exist
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating journey content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper journey insights
- **P (Party Mode)**: Bring multiple perspectives to map comprehensive user journeys
- **C (Continue)**: Save the content to the document and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Success criteria and scope already defined
- Input documents from step-01 are available (product briefs with user personas)
- Every human interaction with the system needs a journey
## YOUR TASK:
Create compelling narrative user journeys that leverage existing personas from product briefs and identify additional user types needed for comprehensive coverage.
## JOURNEY MAPPING SEQUENCE:
### 1. Leverage Existing Users & Identify Additional Types
**Check Input Documents for Existing Personas:**
Analyze product brief, research, and brainstorming documents for user personas already defined.
**If User Personas Exist in Input Documents:**
"I found some fantastic user personas in your product brief! Let me introduce them and see if we need to expand our cast of characters.
**From your brief:**
{{extracted_personas_from_brief_with_details}}
These are great starting points! Their stories already give us insight into what they need from {{project_name}}.
**Beyond your identified users, who else touches this system?**
Based on your product type and scope, we might need:
{{suggest_additional_user_types_based_on_project_context}}
What additional user types should we consider for this product?"
**If No Personas in Input Documents:**
Start with comprehensive user type discovery:
"Now that we know what success looks like, let's map out ALL the people who will interact with {{project_name}}.
**Beyond primary users, who else touches this system?**
Consider:
- End users (the primary focus)
- Admins - manage users, settings, content
- Moderators - review flagged content, enforce rules
- Support staff - help users, investigate issues
- API consumers - if dev tool or platform
- Internal ops - analytics, monitoring, billing
What user types should we map for this product?"
### 2. Create Narrative Story-Based Journeys
For each user type, create compelling narrative journeys that tell their story:
#### Narrative Journey Creation Process:
**If Using Existing Persona from Input Documents:**
"Let's tell {{persona_name}}'s story with {{project_name}}.
**Their Story So Far:**
{{persona_backstory_from_brief}}
**How {{project_name}} Changes Their Life:**
{{how_product_helps_them}}
Let's craft their journey narrative - where do we meet them in their story, and how does {{project_name}} help them write their next chapter?"
**If Creating New Persona:**
"Let's bring this user type to life with a compelling story.
**Creating Their Character:**
- **Name**: Give them a realistic name and personality
- **Situation**: What's happening in their life/work that creates the need?
- **Goal**: What do they desperately want to achieve?
- **Obstacle**: What's standing in their way right now?
**How {{project_name}} Becomes Their Solution:**
{{how_product_solves_their_story}}
Now let's map their journey narrative."
**Story-Based Journey Mapping:**
"Let's craft this as a story with our hero (the user) facing challenges and finding solutions through {{project_name}}:
**Story Structure:**
- **Opening Scene**: Where and how do we meet them? What's their current pain?
- **Rising Action**: What steps do they take? What do they discover?
- **Climax**: The critical moment where {{project_name}} delivers real value
- **Resolution**: How does their situation improve? What's their new reality?
**Use This Narrative Format such as this example:**
```markdown
**Journey 1: Maria Santos - Reclaiming Her Creative Time**
Maria is a freelance graphic designer who loves creating beautiful logos but spends hours every week managing client projects, sending invoices, and chasing payments. She feels like she's running a small business instead of doing what she loves. Late one night, while searching for invoicing tools, she discovers CreativeFlow and decides to give it a try.
The next morning, instead of her usual 30-minute project management routine, she spends 5 minutes setting up her first client in CreativeFlow. The system automatically generates a professional invoice and even suggests follow-up emails based on her communication patterns. When a client asks for a project update, Maria can share a beautiful progress link instead of digging through emails.
The breakthrough comes when she lands a major corporate client who's impressed by her "organized and professional" project setup. Six months later, Maria has doubled her client base and spends 80% of her time actually designing - exactly what she always wanted.
```
### 3. Guide Journey Exploration
For each journey, facilitate detailed exploration:
- "What happens at each step specifically?"
- "What could go wrong here? What's the recovery path?"
- "What information do they need to see/hear?"
- "What's their emotional state at each point?"
- "Where does this journey succeed or fail?"
### 4. Connect Journeys to Requirements
After each journey, explicitly state:
"This journey reveals requirements for:
- List specific capability areas (e.g., onboarding, meal planning, admin dashboard)
- Help user see how different journeys create different feature sets"
### 5. Aim for Comprehensive Coverage
Guide toward complete journey set:
- **Primary user** - happy path (core experience)
- **Primary user** - edge case (different goal, error recovery)
- **Secondary user** (admin, moderator, support, etc.)
- **API consumer** (if applicable)
Ask: "Another journey? We should cover [suggest uncovered user type]"
### 6. Generate User Journey Content
Prepare the content to append to the document:
#### Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
```markdown
## User Journeys
[All journey narratives based on conversation]
### Journey Requirements Summary
[Summary of capabilities revealed by journeys based on conversation]
```
### 7. Present Content and Menu
Show the generated journey content and present choices:
"I've mapped out the user journeys based on our conversation. Each journey reveals different capabilities needed for {{project_name}}.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 6]
**What would you like to do?**
[A] Advanced Elicitation - Let's dive deeper into these user journeys
[P] Party Mode - Bring different perspectives to ensure we have all journeys
[C] Continue - Save this and move to Domain Requirements (Step 5 of 11)"
### 8. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current journey content
- Process the enhanced journey insights that come back
- Ask user: "Accept these improvements to the user journeys? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current journeys
- Process the collaborative journey improvements and additions
- Ask user: "Accept these changes to the user journeys? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md` (or determine if step is optional based on domain complexity)
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 6.
## SUCCESS METRICS:
✅ Existing personas from product briefs leveraged when available
✅ All user types identified (not just primary users)
✅ Rich narrative storytelling for each persona and journey
✅ Complete story-based journey mapping with emotional arc
✅ Journey requirements clearly connected to capabilities needed
✅ Minimum 3-4 compelling narrative journeys covering different user types
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Ignoring existing personas from product briefs
❌ Only mapping primary user journeys and missing secondary users
❌ Creating generic journeys without rich persona details and narrative
❌ Missing emotional storytelling elements that make journeys compelling
❌ Missing critical decision points and failure scenarios
❌ Not connecting journeys to required capabilities
❌ Not having enough journey diversity (admin, support, API, etc.)
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## JOURNEY TYPES TO ENSURE:
**Minimum Coverage:**
1. **Primary User - Success Path**: Core experience journey
2. **Primary User - Edge Case**: Error recovery, alternative goals
3. **Admin/Operations User**: Management, configuration, monitoring
4. **Support/Troubleshooting**: Help, investigation, issue resolution
5. **API/Integration** (if applicable): Developer/technical user journey
## NEXT STEP:
After user selects 'C' and content is saved to document, load `./step-05-domain.md`.
Remember: Do NOT proceed to step-05 until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,271 @@
---
name: 'step-05-domain'
description: 'Explore domain-specific requirements for complex domains (optional step)'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-05-domain.md'
nextStepFile: '{workflow_path}/steps/step-06-innovation.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
domainComplexityCSV: '{workflow_path}/domain-complexity.csv'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 5: Domain-Specific Exploration
**Progress: Step 5 of 11** - Next: Innovation Focus
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on domain-specific requirements and compliance needs
- 🎯 OPTIONAL STEP: Only proceed if complexity_level = "high" from step-02
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating domain content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper domain insights
- **P (Party Mode)**: Bring domain expertise perspectives to explore requirements
- **C (Continue)**: Save the content to the document and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Domain complexity from step-02 should be "high" to justify this step
- Domain-specific CSV data will be loaded in this step
- Focus on compliance, regulations, and domain-specific constraints
## OPTIONAL STEP CHECK:
Before proceeding with this step, verify:
- Is `complexity_level` from step-02 equal to "high" and/or does the domain have specific regulatory/compliance needs?
- Would domain exploration significantly impact the product requirements?
If NO to these questions, skip this step and load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md`.
## YOUR TASK:
Explore domain-specific requirements for complex domains that need specialized compliance, regulatory, or industry-specific considerations.
## DOMAIN EXPLORATION SEQUENCE:
### 1. Load Domain Configuration Data
Load domain-specific configuration for complex domains:
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv` completely
- Find the row where `domain` matches the detected domain from step-02
- Extract these columns:
- `key_concerns` (semicolon-separated list)
- `required_knowledge` (domain expertise needed)
- `web_searches` (suggested research queries)
- `special_sections` (domain-specific sections to document)
### 2. Present Domain Complexity Context
Start by explaining why this step is needed:
"Since {{project_name}} is in the {domain} domain with high complexity, we need to explore domain-specific requirements.
**Key Concerns for {domain}:**
[List the key_concerns from CSV]
This step will help us understand regulatory requirements, compliance needs, and industry-specific constraints that will shape our product."
### 3. Explore Domain-Specific Requirements
For each concern in `key_concerns` from the CSV:
#### Domain Concern Exploration:
- Ask the user about their approach to this concern
- Discuss implications for the product design and requirements
- Document specific requirements, constraints, and compliance needs
**Example for Healthcare Domain:**
If key_concerns = "FDA approval;Clinical validation;HIPAA compliance;Patient safety;Medical device classification;Liability"
Ask about each:
- "Will this product require FDA approval? What classification?"
- "How will you validate clinical accuracy and safety?"
- "What HIPAA compliance measures are needed?"
- "What patient safety protocols must be in place?"
- "What liability considerations affect the design?"
### 4. Synthesize Domain Requirements
Based on the conversation, synthesize domain requirements that will shape everything:
#### Categories to Document:
- **Regulatory requirements** (from key_concerns)
- **Compliance needs** (from key_concerns)
- **Industry standards** (from required_knowledge)
- **Safety/risk factors** (from key_concerns)
- **Required validations** (from key_concerns)
- **Special expertise needed** (from required_knowledge)
Explain how these inform:
- What features are mandatory
- What NFRs are critical
- How to sequence development
- What validation is required
### 5. Generate Domain-Specific Content
Prepare the content to append to the document:
#### Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
```markdown
## Domain-Specific Requirements
### [Domain Name] Compliance & Regulatory Overview
[Domain context summary based on conversation]
### Key Domain Concerns
[Key concerns addressed based on conversation]
### Compliance Requirements
[Compliance requirements based on conversation]
### Industry Standards & Best Practices
[Industry standards based on conversation]
### Required Expertise & Validation
[Required knowledge and validation based on conversation]
### Implementation Considerations
[Implementation implications based on conversation]
```
### 6. Handle Special Sections
Parse `special_sections` list from the matched CSV row. For each section name, generate corresponding subsections:
**Example mappings from CSV:**
- "clinical_requirements" → Add clinical validation requirements
- "regulatory_pathway" → Document approval pathway timeline
- "safety_measures" → Specify safety protocols and monitoring
- "compliance_matrix" → Create compliance tracking matrix
### 7. Present Content and Menu
Show the generated domain content and present choices:
"I've documented the {domain}-specific requirements that will shape {{project_name}}. These constraints are critical for success in this complex domain.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 6]
**What would you like to do?**
[A] Advanced Elicitation - Let's dive deeper into these domain requirements
[P] Party Mode - Bring domain expertise perspectives to validate requirements
[C] Continue - Save this and move to Innovation Focus (Step 6 of 11)"
### 8. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current domain content
- Process the enhanced domain insights that come back
- Ask user: "Accept these domain requirement improvements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current domain requirements
- Process the collaborative domain expertise and validation
- Ask user: "Accept these changes to domain requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md`
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 6.
## SUCCESS METRICS:
✅ Domain complexity properly validated as high before proceeding
✅ All key concerns from CSV explored with user input
✅ Compliance requirements clearly documented
✅ Domain expertise needs identified and documented
✅ Special sections generated per CSV configuration
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Proceeding with domain exploration when complexity is not high
❌ Not loading or using CSV domain configuration properly
❌ Missing critical domain concerns from the key_concerns list
❌ Not connecting domain requirements to product implications
❌ Generating generic content without domain-specific details
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## SKIP CONDITIONS:
Skip this step and load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md` if:
- `complexity_level` from step-02 is not "high"
- Domain has no specific regulatory/compliance requirements
- User confirms domain exploration is not needed
## NEXT STEP:
After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md`.
Remember: Do NOT proceed to step-06 until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,262 @@
---
name: 'step-06-innovation'
description: 'Detect and explore innovative aspects of the product (optional step)'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-06-innovation.md'
nextStepFile: '{workflow_path}/steps/step-07-project-type.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
projectTypesCSV: '{workflow_path}/project-types.csv'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 6: Innovation Discovery
**Progress: Step 6 of 11** - Next: Project Type Analysis
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on detecting and exploring innovative aspects of the product
- 🎯 OPTIONAL STEP: Only proceed if innovation signals are detected
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating innovation content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper innovation insights
- **P (Party Mode)**: Bring creative perspectives to explore innovation opportunities
- **C (Continue)**: Save the content to the document and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Project type from step-02 is available for innovation signal matching
- Project-type CSV data will be loaded in this step
- Focus on detecting genuine innovation, not forced creativity
## OPTIONAL STEP CHECK:
Before proceeding with this step, scan for innovation signals:
- Listen for language like "nothing like this exists", "rethinking how X works"
- Check for project-type innovation signals from CSV
- Look for novel approaches or unique combinations
- If no innovation detected, skip this step
## YOUR TASK:
Detect and explore innovation patterns in the product, focusing on what makes it truly novel and how to validate the innovative aspects.
## INNOVATION DISCOVERY SEQUENCE:
### 1. Load Project-Type Innovation Data
Load innovation signals specific to this project type:
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv` completely
- Find the row where `project_type` matches detected type from step-02
- Extract `innovation_signals` (semicolon-separated list)
- Extract `web_search_triggers` for potential innovation research
### 2. Listen for Innovation Indicators
Monitor conversation for both general and project-type-specific innovation signals:
#### General Innovation Language:
- "Nothing like this exists"
- "We're rethinking how [X] works"
- "Combining [A] with [B] for the first time"
- "Novel approach to [problem]"
- "No one has done [concept] before"
#### Project-Type-Specific Signals (from CSV):
Match user descriptions against innovation_signals for their project_type:
- **api_backend**: "API composition;New protocol"
- **mobile_app**: "Gesture innovation;AR/VR features"
- **saas_b2b**: "Workflow automation;AI agents"
- **developer_tool**: "New paradigm;DSL creation"
### 3. Initial Innovation Screening
Ask targeted innovation discovery questions:
"As we explore {{project_name}}, I'm listening for what makes it innovative.
**Innovation Indicators:**
- Are you challenging any existing assumptions about how things work?
- Are you combining technologies or approaches in new ways?
- Is there something about this that hasn't been done before?
What aspects of {{project_name}} feel most innovative to you?"
### 4. Deep Innovation Exploration (If Detected)
If innovation signals are found, explore deeply:
#### Innovation Discovery Questions:
- "What makes it unique compared to existing solutions?"
- "What assumption are you challenging?"
- "How do we validate it works?"
- "What's the fallback if it doesn't?"
- "Has anyone tried this before?"
#### Market Context Research:
If relevant innovation detected, consider web search for context:
Use `web_search_triggers` from project-type CSV:
`[web_search_triggers] {concept} innovations {date}`
### 5. Generate Innovation Content (If Innovation Detected)
Prepare the content to append to the document:
#### Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
```markdown
## Innovation & Novel Patterns
### Detected Innovation Areas
[Innovation patterns identified based on conversation]
### Market Context & Competitive Landscape
[Market context and research based on conversation]
### Validation Approach
[Validation methodology based on conversation]
### Risk Mitigation
[Innovation risks and fallbacks based on conversation]
```
### 6. Present Content and Menu (Only if Innovation Detected)
Show the generated innovation content and present choices:
"I've identified some innovative aspects of {{project_name}} that differentiate it from existing solutions.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 5]
**What would you like to do?**
[A] Advanced Elicitation - Let's dive deeper into these innovation opportunities
[P] Party Mode - Bring creative perspectives to explore innovation further
[C] Continue - Save this and move to Project Type Analysis (Step 7 of 11)"
### 7. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current innovation content
- Process the enhanced innovation insights that come back
- Ask user: "Accept these improvements to the innovation analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current innovation content
- Process the collaborative innovation exploration and ideation
- Ask user: "Accept these changes to the innovation analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md`
## NO INNOVATION DETECTED:
If no genuine innovation signals are found after exploration:
"After exploring {{project_name}}, I don't see clear innovation signals that warrant a dedicated innovation section. This is perfectly fine - many successful products are excellent executions of existing concepts rather than breakthrough innovations.
**Options:**
[A] Force innovation exploration - Let's try to find innovative angles
[C] Continue - Skip innovation section and move to Project Type Analysis (Step 7 of 11)"
If user selects 'A', proceed with content generation anyway. If 'C', skip this step and load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md`.
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 5.
## SUCCESS METRICS:
✅ Innovation signals properly detected from user conversation
✅ Project-type innovation signals used to guide discovery
✅ Genuine innovation explored (not forced creativity)
✅ Validation approach clearly defined for innovative aspects
✅ Risk mitigation strategies identified
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Forced innovation when none genuinely exists
❌ Not using project-type innovation signals from CSV
❌ Missing market context research for novel concepts
❌ Not addressing validation approach for innovative features
❌ Creating innovation theater without real innovative aspects
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## SKIP CONDITIONS:
Skip this step and load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md` if:
- No innovation signals detected in conversation
- Product is incremental improvement rather than breakthrough
- User confirms innovation exploration is not needed
- Project-type CSV has no innovation signals for this type
## NEXT STEP:
After user selects 'C' and content is saved to document (or step is skipped), load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md`.
Remember: Do NOT proceed to step-07 until user explicitly selects 'C' from the A/P/C menu (or confirms step skip)!

View File

@@ -0,0 +1,258 @@
---
name: 'step-07-project-type'
description: 'Conduct project-type specific discovery using CSV-driven guidance'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-07-project-type.md'
nextStepFile: '{workflow_path}/steps/step-08-scoping.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
projectTypesCSV: '{workflow_path}/project-types.csv'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 7: Project-Type Deep Dive
**Progress: Step 7 of 11** - Next: Scoping
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on project-type specific requirements and technical considerations
- 🎯 DATA-DRIVEN: Use CSV configuration to guide discovery
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating project-type content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper project-type insights
- **P (Party Mode)**: Bring technical perspectives to explore project-specific requirements
- **C (Continue)**: Save the content to the document and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Project type from step-02 is available for configuration loading
- Project-type CSV data will be loaded in this step
- Focus on technical and functional requirements specific to this project type
## YOUR TASK:
Conduct project-type specific discovery using CSV-driven guidance to define technical requirements.
## PROJECT-TYPE DISCOVERY SEQUENCE:
### 1. Load Project-Type Configuration Data
Load project-type specific configuration:
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv` completely
- Find the row where `project_type` matches detected type from step-02
- Extract these columns:
- `key_questions` (semicolon-separated list of discovery questions)
- `required_sections` (semicolon-separated list of sections to document)
- `skip_sections` (semicolon-separated list of sections to skip)
- `innovation_signals` (already explored in step-6)
### 2. Conduct Guided Discovery Using Key Questions
Parse `key_questions` from CSV and explore each:
#### Question-Based Discovery:
For each question in `key_questions` from CSV:
- Ask the user naturally in conversational style
- Listen for their response and ask clarifying follow-ups
- Connect answers to product value proposition
**Example Flow:**
If key_questions = "Endpoints needed?;Authentication method?;Data formats?;Rate limits?;Versioning?;SDK needed?"
Ask naturally:
- "What are the main endpoints your API needs to expose?"
- "How will you handle authentication and authorization?"
- "What data formats will you support for requests and responses?"
### 3. Document Project-Type Specific Requirements
Based on user answers to key_questions, synthesize comprehensive requirements:
#### Requirement Categories:
Cover the areas indicated by `required_sections` from CSV:
- Synthesize what was discovered for each required section
- Document specific requirements, constraints, and decisions
- Connect to product differentiator when relevant
#### Skip Irrelevant Sections:
Skip areas indicated by `skip_sections` from CSV to avoid wasting time on irrelevant aspects.
### 4. Generate Dynamic Content Sections
Parse `required_sections` list from the matched CSV row. For each section name, generate corresponding content:
#### Common CSV Section Mappings:
- "endpoint_specs" or "endpoint_specification" → API endpoints documentation
- "auth_model" or "authentication_model" → Authentication approach
- "platform_reqs" or "platform_requirements" → Platform support needs
- "device_permissions" or "device_features" → Device capabilities
- "tenant_model" → Multi-tenancy approach
- "rbac_matrix" or "permission_matrix" → Permission structure
#### Template Variable Strategy:
- For sections matching common template variables: generate specific content
- For sections without template matches: include in main project_type_requirements
- Hybrid approach balances template structure with CSV-driven flexibility
### 5. Generate Project-Type Content
Prepare the content to append to the document:
#### Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
```markdown
## [Project Type] Specific Requirements
### Project-Type Overview
[Project type summary based on conversation]
### Technical Architecture Considerations
[Technical architecture requirements based on conversation]
[Dynamic sections based on CSV and conversation]
### Implementation Considerations
[Implementation specific requirements based on conversation]
```
### 6. Present Content and Menu
Show the generated project-type content and present choices:
"I've documented the {project_type}-specific requirements for {{project_name}} based on our conversation and best practices for this type of product.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 5]
**What would you like to do?**
[A] Advanced Elicitation - Let's dive deeper into these technical requirements
[P] Party Mode - Bring technical expertise perspectives to validate requirements
[C] Continue - Save this and move to Scoping (Step 8 of 11)"
### 7. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current project-type content
- Process the enhanced technical insights that come back
- Ask user: "Accept these improvements to the technical requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements
- Process the collaborative technical expertise and validation
- Ask user: "Accept these changes to the technical requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md`
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 5.
## SUCCESS METRICS:
✅ Project-type configuration loaded and used effectively
✅ All key questions from CSV explored with user input
✅ Required sections generated per CSV configuration
✅ Skip sections properly avoided to save time
✅ Technical requirements connected to product value
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Not loading or using project-type CSV configuration
❌ Missing key questions from CSV in discovery process
❌ Not generating required sections per CSV configuration
❌ Documenting sections that should be skipped per CSV
❌ Creating generic content without project-type specificity
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## PROJECT-TYPE EXAMPLES:
**For api_backend:**
- Focus on endpoints, authentication, data schemas, rate limiting
- Skip visual design and user journey sections
- Generate API specification documentation
**For mobile_app:**
- Focus on platform requirements, device permissions, offline mode
- Skip API endpoint documentation unless needed
- Generate mobile-specific technical requirements
**For saas_b2b:**
- Focus on multi-tenancy, permissions, integrations
- Skip mobile-first considerations unless relevant
- Generate enterprise-specific requirements
## NEXT STEP:
After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md` to define project scope.
Remember: Do NOT proceed to step-08 (Scoping) until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,299 @@
---
name: 'step-08-scoping'
description: 'Define MVP boundaries and prioritize features across development phases'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-08-scoping.md'
nextStepFile: '{workflow_path}/steps/step-09-functional.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 8: Scoping Exercise - MVP & Future Features
**Progress: Step 8 of 11** - Next: Functional Requirements
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on strategic scope decisions that keep projects viable
- 🎯 EMPHASIZE lean MVP thinking while preserving long-term vision
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- 📚 Review the complete PRD document built so far
- ⚠️ Present A/P/C menu after generating scoping decisions
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to explore innovative scoping approaches
- **P (Party Mode)**: Bring multiple perspectives to ensure comprehensive scope decisions
- **C (Continue)**: Save the scoping decisions and proceed to functional requirements
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Complete PRD document built so far is available for review
- User journeys, success criteria, and domain requirements are documented
- Focus on strategic scope decisions, not feature details
- Balance between user value and implementation feasibility
## YOUR TASK:
Conduct comprehensive scoping exercise to define MVP boundaries and prioritize features across development phases.
## SCOPING SEQUENCE:
### 1. Review Current PRD State
Analyze everything documented so far:
"I've reviewed your complete PRD so far. Here's what we've established:
**Product Vision & Success:**
{{summary_of_vision_and_success_criteria}}
**User Journeys:** {{number_of_journeys}} mapped with rich narratives
**Domain & Innovation Focus:**
{{summary_of_domain_requirements_and_innovation}}
**Current Scope Implications:**
Based on everything we've documented, this looks like it could be:
- [ ] Simple MVP (small team, lean scope)
- [ ] Medium scope (moderate team, balanced features)
- [ ] Complex project (large team, comprehensive scope)
Does this initial assessment feel right, or do you see this differently?"
### 2. Define MVP Strategy
Facilitate strategic MVP decisions:
"Let's think strategically about your launch strategy:
**MVP Philosophy Options:**
1. **Problem-Solving MVP**: Solve the core problem with minimal features
2. **Experience MVP**: Deliver the key user experience with basic functionality
3. **Platform MVP**: Build the foundation for future expansion
4. **Revenue MVP**: Generate early revenue with essential features
**Critical Questions:**
- What's the minimum that would make users say 'this is useful'?
- What would make investors/partners say 'this has potential'?
- What's the fastest path to validated learning?
**Which MVP approach feels right for {{project_name}}?**"
### 3. Scoping Decision Framework
Use structured decision-making for scope:
**Must-Have Analysis:**
"Let's identify absolute MVP necessities. For each journey and success criterion, ask:
- **Without this, does the product fail?** (Y/N)
- **Can this be manual initially?** (Y/N)
- **Is this a deal-breaker for early adopters?** (Y/N)
**Current Document Review:**
Looking at your user journeys, what are the absolute core experiences that must work?
{{analyze_journeys_for_mvp_essentials}}"
**Nice-to-Have Analysis:**
"Let's also identify what could be added later:
**Post-MVP Enhancements:**
- Features that enhance but aren't essential
- User types that can be added later
- Advanced functionality that builds on MVP
**What features could we add in versions 2, 3, etc.?**"
### 4. Progressive Feature Roadmap
Create phased development approach:
"Let's map your features across development phases:
**Phase 1: MVP**
- Core user value delivery
- Essential user journeys
- Basic functionality that works reliably
**Phase 2: Growth**
- Additional user types
- Enhanced features
- Scale improvements
**Phase 3: Expansion**
- Advanced capabilities
- Platform features
- New markets or use cases
**Where does your current vision fit in this development sequence?**"
### 5. Risk-Based Scoping
Identify and mitigate scoping risks:
**Technical Risks:**
"Looking at your innovation and domain requirements:
- What's the most technically challenging aspect?
- Could we simplify the initial implementation?
- What's the riskiest assumption about technology feasibility?"
**Market Risks:**
- What's the biggest market risk?
- How does the MVP address this?
- What learning do we need to de-risk this?"
**Resource Risks:**
- What if we have fewer resources than planned?
- What's the absolute minimum team size needed?
- Can we launch with a smaller feature set?"
### 6. Generate Scoping Content
Prepare comprehensive scoping section:
#### Content Structure:
```markdown
## Project Scoping & Phased Development
### MVP Strategy & Philosophy
**MVP Approach:** {{chosen_mvp_approach}}
**Resource Requirements:** {{mvp_team_size_and_skills}}
### MVP Feature Set (Phase 1)
**Core User Journeys Supported:**
{{essential_journeys_for_mvp}}
**Must-Have Capabilities:**
{{list_of_essential_mvp_features}}
### Post-MVP Features
**Phase 2 (Post-MVP):**
{{planned_growth_features}}
**Phase 3 (Expansion):**
{{planned_expansion_features}}
### Risk Mitigation Strategy
**Technical Risks:** {{mitigation_approach}}
**Market Risks:** {{validation_approach}}
**Resource Risks:** {{contingency_approach}}
```
### 7. Present Content and Menu
Show the scoping decisions and present choices:
"I've analyzed your complete PRD and created a strategic scoping plan for {{project_name}}.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 6]
**What would you like to do?**
[A] Advanced Elicitation - Explore alternative scoping strategies
[P] Party Mode - Bring different perspectives on MVP and roadmap decisions
[C] Continue - Save scoping decisions and move to Functional Requirements (Step 9 of 11)"
### 8. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current scoping analysis
- Process enhanced scoping insights that come back
- Ask user: "Accept these improvements to the scoping decisions? (y/n)"
- If yes: Update content, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with scoping context
- Process collaborative insights on MVP and roadmap decisions
- Ask user: "Accept these changes to the scoping decisions? (y/n)"
- If yes: Update content, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `./step-09-functional.md`
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 6.
## SUCCESS METRICS:
✅ Complete PRD document analyzed for scope implications
✅ Strategic MVP approach defined and justified
✅ Clear MVP feature boundaries established
✅ Phased development roadmap created
✅ Key risks identified and mitigation strategies defined
✅ User explicitly agrees to scope decisions
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Not analyzing the complete PRD before making scoping decisions
❌ Making scope decisions without strategic rationale
❌ Not getting explicit user agreement on MVP boundaries
❌ Missing critical risk analysis
❌ Not creating clear phased development approach
❌ Not presenting A/P/C menu after content generation
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## NEXT STEP:
After user selects 'C' and content is saved to document, load `./step-09-functional.md`.
Remember: Do NOT proceed to step-09 until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,270 @@
---
name: 'step-09-functional'
description: 'Synthesize all discovery into comprehensive functional requirements'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-09-functional.md'
nextStepFile: '{workflow_path}/steps/step-10-nonfunctional.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 9: Functional Requirements Synthesis
**Progress: Step 9 of 11** - Next: Non-Functional Requirements
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on creating comprehensive capability inventory for the product
- 🎯 CRITICAL: This is THE CAPABILITY CONTRACT for all downstream work
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating functional requirements
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to ensure comprehensive requirement coverage
- **P (Party Mode)**: Bring multiple perspectives to validate complete requirement set
- **C (Continue)**: Save the content to the document and proceed to next step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- ALL previous content (executive summary, success criteria, journeys, domain, innovation, project-type) must be referenced
- No additional data files needed for this step
- Focus on capabilities, not implementation details
## CRITICAL IMPORTANCE:
**This section defines THE CAPABILITY CONTRACT for the entire product:**
- UX designers will ONLY design what's listed here
- Architects will ONLY support what's listed here
- Epic breakdown will ONLY implement what's listed here
- If a capability is missing from FRs, it will NOT exist in the final product
## FUNCTIONAL REQUIREMENTS SYNTHESIS SEQUENCE:
### 1. Understand FR Purpose and Usage
Start by explaining the critical role of functional requirements:
**Purpose:**
FRs define WHAT capabilities the product must have. They are the complete inventory of user-facing and system capabilities that deliver the product vision.
**Critical Properties:**
✅ Each FR is a testable capability
✅ Each FR is implementation-agnostic (could be built many ways)
✅ Each FR specifies WHO and WHAT, not HOW
✅ No UI details, no performance numbers, no technology choices
✅ Comprehensive coverage of capability areas
**How They Will Be Used:**
1. UX Designer reads FRs → designs interactions for each capability
2. Architect reads FRs → designs systems to support each capability
3. PM reads FRs → creates epics and stories to implement each capability
### 2. Review Existing Content for Capability Extraction
Systematically review all previous sections to extract capabilities:
**Extract From:**
- Executive Summary → Core product differentiator capabilities
- Success Criteria → Success-enabling capabilities
- User Journeys → Journey-revealed capabilities
- Domain Requirements → Compliance and regulatory capabilities
- Innovation Patterns → Innovative feature capabilities
- Project-Type Requirements → Technical capability needs
### 3. Organize Requirements by Capability Area
Group FRs by logical capability areas (NOT by technology or layer):
**Good Grouping Examples:**
- ✅ "User Management" (not "Authentication System")
- ✅ "Content Discovery" (not "Search Algorithm")
- ✅ "Team Collaboration" (not "WebSocket Infrastructure")
**Target 5-8 Capability Areas** for typical projects.
### 4. Generate Comprehensive FR List
Create complete functional requirements using this format:
**Format:**
- FR#: [Actor] can [capability] [context/constraint if needed]
- Number sequentially (FR1, FR2, FR3...)
- Aim for 20-50 FRs for typical projects
**Altitude Check:**
Each FR should answer "WHAT capability exists?" NOT "HOW it's implemented?"
**Examples:**
- ✅ "Users can customize appearance settings"
- ❌ "Users can toggle light/dark theme with 3 font size options stored in LocalStorage"
### 5. Self-Validation Process
Before presenting to user, validate the FR list:
**Completeness Check:**
1. "Did I cover EVERY capability mentioned in the MVP scope section?"
2. "Did I include domain-specific requirements as FRs?"
3. "Did I cover the project-type specific needs?"
4. "Could a UX designer read ONLY the FRs and know what to design?"
5. "Could an Architect read ONLY the FRs and know what to support?"
6. "Are there any user actions or system behaviors we discussed that have no FR?"
**Altitude Check:**
1. "Am I stating capabilities (WHAT) or implementation (HOW)?"
2. "Am I listing acceptance criteria or UI specifics?" (Remove if yes)
3. "Could this FR be implemented 5 different ways?" (Good - means it's not prescriptive)
**Quality Check:**
1. "Is each FR clear enough that someone could test whether it exists?"
2. "Is each FR independent (not dependent on reading other FRs to understand)?"
3. "Did I avoid vague terms like 'good', 'fast', 'easy'?" (Use NFRs for quality attributes)
### 6. Generate Functional Requirements Content
Prepare the content to append to the document:
#### Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
```markdown
## Functional Requirements
### [Capability Area Name]
- FR1: [Specific Actor] can [specific capability]
- FR2: [Specific Actor] can [specific capability]
- FR3: [Specific Actor] can [specific capability]
### [Another Capability Area]
- FR4: [Specific Actor] can [specific capability]
- FR5: [Specific Actor] can [specific capability]
[Continue for all capability areas discovered in conversation]
```
### 7. Present Content and Menu
Show the generated functional requirements and present choices:
"I've synthesized all our discussions into comprehensive functional requirements. This becomes the capability contract that UX designers, architects, and developers will all work from.
**Here's what I'll add to the document:**
[Show the complete FR list from step 6]
**This is critical because:**
- Every feature we build must trace back to one of these requirements
- UX designers will ONLY design interactions for these capabilities
- Architects will ONLY build systems to support these capabilities
**What would you like to do?**
[A] Advanced Elicitation - Let's ensure we haven't missed any capabilities
[P] Party Mode - Bring different perspectives to validate complete coverage
[C] Continue - Save this and move to Non-Functional Requirements (Step 10 of 11)"
### 8. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current FR list
- Process the enhanced capability coverage that comes back
- Ask user: "Accept these additions to the functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current FR list
- Process the collaborative capability validation and additions
- Ask user: "Accept these changes to the functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md`
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 6.
## SUCCESS METRICS:
✅ All previous discovery content synthesized into FRs
✅ FRs organized by capability areas (not technology)
✅ Each FR states WHAT capability exists, not HOW to implement
✅ Comprehensive coverage with 20-50 FRs typical
✅ Altitude validation ensures implementation-agnostic requirements
✅ Completeness check validates coverage of all discussed capabilities
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Missing capabilities from previous discovery sections
❌ Organizing FRs by technology instead of capability areas
❌ Including implementation details or UI specifics in FRs
❌ Not achieving comprehensive coverage of discussed capabilities
❌ Using vague terms instead of testable capabilities
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## CAPABILITY CONTRACT REMINDER:
Emphasize to user: "This FR list is now binding. Any feature not listed here will not exist in the final product unless we explicitly add it. This is why it's critical to ensure completeness now."
## NEXT STEP:
After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md` to define non-functional requirements.
Remember: Do NOT proceed to step-10 until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,294 @@
---
name: 'step-10-nonfunctional'
description: 'Define quality attributes that matter for this specific product'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-10-nonfunctional.md'
nextStepFile: '{workflow_path}/steps/step-11-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 10: Non-Functional Requirements
**Progress: Step 10 of 11** - Next: Complete PRD
## MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- ✅ ALWAYS treat this as collaborative discovery between PM peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on quality attributes that matter for THIS specific product
- 🎯 SELECTIVE: Only document NFRs that actually apply to the product
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating NFR content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` before loading next step
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to ensure comprehensive quality attributes
- **P (Party Mode)**: Bring technical perspectives to validate NFR completeness
- **C (Continue)**: Save the content to the document and proceed to final step
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
## CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Functional requirements already defined and will inform NFRs
- Domain and project-type context will guide which NFRs matter
- Focus on specific, measurable quality criteria
## YOUR TASK:
Define non-functional requirements that specify quality attributes for the product, focusing only on what matters for THIS specific product.
## NON-FUNCTIONAL REQUIREMENTS SEQUENCE:
### 1. Explain NFR Purpose and Scope
Start by clarifying what NFRs are and why we're selective:
**NFR Purpose:**
NFRs define HOW WELL the system must perform, not WHAT it must do. They specify quality attributes like performance, security, scalability, etc.
**Selective Approach:**
We only document NFRs that matter for THIS product. If a category doesn't apply, we skip it entirely. This prevents requirement bloat and focuses on what's actually important.
### 2. Assess Product Context for NFR Relevance
Evaluate which NFR categories matter based on product context:
**Quick Assessment Questions:**
- **Performance**: Is there user-facing impact of speed?
- **Security**: Are we handling sensitive data or payments?
- **Scalability**: Do we expect rapid user growth?
- **Accessibility**: Are we serving broad public audiences?
- **Integration**: Do we need to connect with other systems?
- **Reliability**: Would downtime cause significant problems?
### 3. Explore Relevant NFR Categories
For each relevant category, conduct targeted discovery:
#### Performance NFRs (If relevant):
"Let's talk about performance requirements for {{project_name}}.
**Performance Questions:**
- What parts of the system need to be fast for users to be successful?
- Are there specific response time expectations?
- What happens if performance is slower than expected?
- Are there concurrent user scenarios we need to support?"
#### Security NFRs (If relevant):
"Security is critical for products that handle sensitive information.
**Security Questions:**
- What data needs to be protected?
- Who should have access to what?
- What are the security risks we need to mitigate?
- Are there compliance requirements (GDPR, HIPAA, PCI-DSS)?"
#### Scalability NFRs (If relevant):
"Scalability matters if we expect growth or have variable demand.
**Scalability Questions:**
- How many users do we expect initially? Long-term?
- Are there seasonal or event-based traffic spikes?
- What happens if we exceed our capacity?"
- What growth scenarios should we plan for?"
#### Accessibility NFRs (If relevant):
"Accessibility ensures the product works for users with disabilities.
**Accessibility Questions:**
- Are we serving users with visual, hearing, or motor impairments?
- Are there legal accessibility requirements (WCAG, Section 508)?
- What accessibility features are most important for our users?"
#### Integration NFRs (If relevant):
"Integration requirements matter for products that connect to other systems.
**Integration Questions:**
- What external systems do we need to connect with?
- Are there APIs or data formats we must support?
- How reliable do these integrations need to be?"
### 4. Make NFRs Specific and Measurable
For each relevant NFR category, ensure criteria are testable:
**From Vague to Specific:**
- NOT: "The system should be fast" → "User actions complete within 2 seconds"
- NOT: "The system should be secure" → "All data is encrypted at rest and in transit"
- NOT: "The system should scale" → "System supports 10x user growth with <10% performance degradation"
### 5. Generate NFR Content (Only Relevant Categories)
Prepare the content to append to the document:
#### Content Structure (Dynamic based on relevance):
When saving to document, append these Level 2 and Level 3 sections (only include sections that are relevant):
```markdown
## Non-Functional Requirements
### Performance
[Performance requirements based on conversation - only include if relevant]
### Security
[Security requirements based on conversation - only include if relevant]
### Scalability
[Scalability requirements based on conversation - only include if relevant]
### Accessibility
[Accessibility requirements based on conversation - only include if relevant]
### Integration
[Integration requirements based on conversation - only include if relevant]
```
### 6. Present Content and Menu
Show the generated NFR content and present choices:
"I've defined the non-functional requirements that specify how well {{project_name}} needs to perform. I've only included categories that actually matter for this product.
**Here's what I'll add to the document:**
[Show the complete NFR content from step 5]
**Note:** We've skipped categories that don't apply to avoid unnecessary requirements.
**What would you like to do?**
[A] Advanced Elicitation - Let's ensure we haven't missed critical quality attributes
[P] Party Mode - Bring technical perspectives to validate NFR specifications
[C] Continue - Save this and move to Complete PRD (Step 11 of 11)"
### 7. Handle Menu Selection
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current NFR content
- Process the enhanced quality attribute insights that come back
- Ask user: "Accept these improvements to the non-functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current NFR list
- Process the collaborative technical validation and additions
- Ask user: "Accept these changes to the non-functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
#### If 'C' (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md`
## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 5.
## SUCCESS METRICS:
✅ Only relevant NFR categories documented (no requirement bloat)
✅ Each NFR is specific and measurable
✅ NFRs connected to actual user needs and business context
✅ Vague requirements converted to testable criteria
✅ Domain-specific compliance requirements included if relevant
✅ A/P/C menu presented and handled correctly
✅ Content properly appended to document when C selected
## FAILURE MODES:
❌ Documenting NFR categories that don't apply to the product
❌ Leaving requirements vague and unmeasurable
❌ Not connecting NFRs to actual user or business needs
❌ Missing domain-specific compliance requirements
❌ Creating overly prescriptive technical requirements
❌ Not presenting A/P/C menu after content generation
❌ Appending content without user selecting 'C'
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## NFR CATEGORY GUIDANCE:
**Include Performance When:**
- User-facing response times impact success
- Real-time interactions are critical
- Performance is a competitive differentiator
**Include Security When:**
- Handling sensitive user data
- Processing payments or financial information
- Subject to compliance regulations
- Protecting intellectual property
**Include Scalability When:**
- Expecting rapid user growth
- Handling variable traffic patterns
- Supporting enterprise-scale usage
- Planning for market expansion
**Include Accessibility When:**
- Serving broad public audiences
- Subject to accessibility regulations
- Targeting users with disabilities
- B2B customers with accessibility requirements
## NEXT STEP:
After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md` to finalize the PRD and complete the workflow.
Remember: Do NOT proceed to step-11 until user explicitly selects 'C' from the A/P/C menu and content is saved!

View File

@@ -0,0 +1,186 @@
---
name: 'step-11-complete'
description: 'Complete the PRD workflow, update status files, and suggest next steps'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-11-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/prd.md'
---
# Step 11: Workflow Completion
**Final Step - Complete the PRD**
## MANDATORY EXECUTION RULES (READ FIRST):
- ✅ THIS IS A FINAL STEP - Workflow completion required
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
- 🛑 NO content generation - this is a wrap-up step
- 📋 FINALIZE document and update workflow status
- 💬 FOCUS on completion, next steps, and suggestions
- 🎯 UPDATE workflow status files with completion information
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- 💾 Update the main workflow status file with completion information
- 📖 Suggest potential next workflow steps for the user
- 🚫 DO NOT load additional steps after this one
## TERMINATION STEP PROTOCOLS:
- This is a FINAL step - workflow completion required
- Output any remaining content if needed (none for this step)
- Update the main workflow status file with finalized document
- Suggest potential next steps for the user
- Mark workflow as complete in status tracking
## CONTEXT BOUNDARIES:
- Complete PRD document is available from all previous steps
- Workflow frontmatter shows all completed steps
- All collaborative content has been generated and saved
- Focus on completion, validation, and next steps
## YOUR TASK:
Complete the PRD workflow, update status files, and suggest next steps for the project.
## WORKFLOW COMPLETION SEQUENCE:
### 1. Announce Workflow Completion
Inform user that the PRD is complete:
"🎉 **PRD Complete, {{user_name}}!**
I've successfully collaborated with you to create a comprehensive Product Requirements Document for {{project_name}}.
**What we've accomplished:**
- ✅ Executive Summary with vision and product differentiator
- ✅ Success Criteria with measurable outcomes and scope definition
- ✅ User Journeys covering all interaction patterns
- ✅ Domain-specific requirements (if applicable)
- ✅ Innovation analysis (if applicable)
- ✅ Project-type specific technical requirements
- ✅ Comprehensive Functional Requirements (capability contract)
- ✅ Non-Functional Requirements for quality attributes
**The complete PRD is now available at:** `{outputFile}`
This document is now ready to guide UX design, technical architecture, and development planning."
### 2. Workflow Status Update
Update the main workflow status file if there is one:
- Load `{status_file}` from workflow configuration (if exists)
- Update workflow_status["prd"] = "{default_output_file}"
- Save file, preserving all comments and structure
- Mark current timestamp as completion time
### 3. Suggest Next Steps
Provide guidance on logical next workflows:
**Typical Next Workflows:**
**Immediate Next Steps:**
1. `workflow create-ux-design` - UX Design (if UI exists)
- User journey insights from step-04 will inform interaction design
- Functional requirements from step-09 define design scope
2. `workflow create-architecture` - Technical architecture
- Project-type requirements from step-07 guide technical decisions
- Non-functional requirements from step-10 inform architecture choices
3. `workflow create-epics-and-stories` - Epic breakdown
- Functional requirements from step-09 become epics and stories
- Scope definition from step-03 guides sprint planning
**Strategic Considerations:**
- UX design and architecture can happen in parallel
- Epics/stories are richer when created after UX/architecture
**What would be most valuable to tackle next?**
### 4. Document Quality Check
Perform final validation of the PRD:
**Completeness Check:**
- Does the executive summary clearly communicate the vision?
- Are success criteria specific and measurable?
- Do user journeys cover all major user types?
- Are functional requirements comprehensive and testable?
- Are non-functional requirements relevant and specific?
**Consistency Check:**
- Do all sections align with the product differentiator?
- Is scope consistent across all sections?
- Are requirements traceable to user needs and success criteria?
### 5. Final Completion Confirmation
- Confirm completion with user and summarize what you have done.
- Update frontmatter: add this final step name to the end of the steps completed array.
## SUCCESS METRICS:
✅ PRD document contains all required sections
✅ All collaborative content properly saved to document
✅ Workflow status file updated with completion information
✅ Clear next step guidance provided to user
✅ Document quality validation completed
✅ User acknowledges completion and understands next options
## FAILURE MODES:
❌ Not updating workflow status file with completion information
❌ Missing clear next step guidance for user
❌ Not confirming document completeness with user
❌ Workflow not properly marked as complete in status tracking
❌ User unclear about what happens next
**CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
**CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
**CRITICAL**: Making decisions without complete understanding of step requirements and protocols
## WORKFLOW COMPLETION CHECKLIST:
### Document Structure Complete:
- [ ] Executive Summary with vision and differentiator
- [ ] Success Criteria with measurable outcomes
- [ ] Product Scope (MVP, Growth, Vision)
- [ ] User Journeys (comprehensive coverage)
- [ ] Domain Requirements (if applicable)
- [ ] Innovation Analysis (if applicable)
- [ ] Project-Type Requirements
- [ ] Functional Requirements (capability contract)
- [ ] Non-Functional Requirements
### Process Complete:
- [ ] All steps completed with user confirmation
- [ ] All content saved to document
- [ ] Frontmatter properly updated
- [ ] Workflow status file updated
- [ ] Next steps clearly communicated
## FINAL REMINDER:
This workflow is now complete. The PRD serves as the foundation for all subsequent product development activities. All design, architecture, and development work should trace back to the requirements and vision documented in this PRD.
**Congratulations on completing the Product Requirements Document for {{project_name}}!** 🎉

View File

@@ -0,0 +1,63 @@
---
name: create-prd
description: Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.
main_config: '{project-root}/_bmad/bmm/config.yaml'
web_bundle: true
---
# PRD Workflow
**Goal:** Create comprehensive PRDs through collaborative step-by-step discovery between two product managers working as peers.
**Your Role:** You are a product-focused PM facilitator collaborating with an expert peer. This is a partnership, not a client-vendor relationship. You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision. Work together as equals. You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
---
## WORKFLOW ARCHITECTURE
This uses **step-file architecture** for disciplined execution:
### Core Principles
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
- **Append-Only Building**: Build documents by appending content as directed to the output file
### Step Processing Rules
1. **READ COMPLETELY**: Always read the entire step file before taking any action
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
### Critical Rules (NO EXCEPTIONS)
- 🛑 **NEVER** load multiple step files simultaneously
- 📖 **ALWAYS** read entire step file before execution
- 🚫 **NEVER** skip steps or optimize the sequence
- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
- 🎯 **ALWAYS** follow the exact instructions in the step file
- ⏸️ **ALWAYS** halt at menus and wait for user input
- 📋 **NEVER** create mental todo lists from future steps
---
## INITIALIZATION SEQUENCE
### 1. Configuration Loading
Load and read full config from {main_config} and resolve:
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
- `date` as system-generated current datetime
### 2. First Step EXECUTION
YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`.
Load, read the full file and then execute `steps/step-01-init.md` to begin the workflow.