trivariate workflows added

This commit is contained in:
Brian Madison 2026-02-04 21:34:47 -06:00
parent 731bee26ea
commit bd620e38e5
8 changed files with 146 additions and 367 deletions

View File

@ -1,5 +1,3 @@
# Business Analyst Agent Definition
agent: agent:
metadata: metadata:
id: "_bmad/bmm/agents/analyst.md" id: "_bmad/bmm/agents/analyst.md"
@ -23,9 +21,17 @@ agent:
data: "{project-root}/_bmad/bmm/data/project-context-template.md" data: "{project-root}/_bmad/bmm/data/project-context-template.md"
description: "[BP] Brainstorm Project: Expert Guided Facilitation through a single or multiple techniques with a final report" description: "[BP] Brainstorm Project: Expert Guided Facilitation through a single or multiple techniques with a final report"
- trigger: RS or fuzzy match on research - trigger: MR or fuzzy match on market-research
exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.md" exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md"
description: "[RS] Research: Choose from or specify market, domain, competitive analysis, or technical research" description: "[MR] Market Research: Market analysis, competitive landscape, customer needs and trends"
- trigger: DR or fuzzy match on domain-research
exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md"
description: "[DR] Domain Research: Industry domain deep dive, subject matter expertise and terminology"
- trigger: TR or fuzzy match on technical-research
exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md"
description: "[TR] Technical Research: Technical feasibility, architecture options and implementation approaches"
- trigger: CB or fuzzy match on product-brief - trigger: CB or fuzzy match on product-brief
exec: "{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md" exec: "{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md"

View File

@ -1,6 +1,3 @@
# Product Manager Agent Definition
# This file defines the PM agent for the BMAD BMM module
agent: agent:
metadata: metadata:
id: "_bmad/bmm/agents/pm.md" id: "_bmad/bmm/agents/pm.md"
@ -22,15 +19,15 @@ agent:
menu: menu:
- trigger: CP or fuzzy match on create-prd - trigger: CP or fuzzy match on create-prd
exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow.md" exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md"
description: "[CP] Create PRD: Expert led facilitation to produce your Product Requirements Document" description: "[CP] Create PRD: Expert led facilitation to produce your Product Requirements Document"
- trigger: VP or fuzzy match on validate-prd - trigger: VP or fuzzy match on validate-prd
exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow.md" exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md"
description: "[VP] Validate PRD: Validate a Product Requirements Document is comprehensive, lean, well organized and cohesive" description: "[VP] Validate PRD: Validate a Product Requirements Document is comprehensive, lean, well organized and cohesive"
- trigger: EP or fuzzy match on edit-prd - trigger: EP or fuzzy match on edit-prd
exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow.md" exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md"
description: "[EP] Edit PRD: Update an existing Product Requirements Document" description: "[EP] Edit PRD: Update an existing Product Requirements Document"
- trigger: CE or fuzzy match on epics-stories - trigger: CE or fuzzy match on epics-stories

View File

@ -16,6 +16,7 @@ bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/
bmm,1-analysis,Create Brief,CB,30,_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md,bmad-bmm-create-product-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief", bmm,1-analysis,Create Brief,CB,30,_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md,bmad-bmm-create-product-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief",
bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md,bmad-bmm-create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd, bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md,bmad-bmm-create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd,
bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md,bmad-bmm-validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report", bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md,bmad-bmm-validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report",
bmm,2-planning,Edit PRD,EP,25,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md,bmad-bmm-edit-prd,false,pm,Edit Mode,"Improve and enhance an existing PRD",planning_artifacts,"updated prd",
bmm,2-planning,Create UX,CU,30,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad-bmm-create-ux-design,false,ux-designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,"ux design", bmm,2-planning,Create UX,CU,30,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad-bmm-create-ux-design,false,ux-designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,"ux design",
bmm,3-solutioning,Create Architecture,CA,10,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad-bmm-create-architecture,true,architect,Create Mode,"Guided Workflow to document technical decisions",planning_artifacts,architecture, bmm,3-solutioning,Create Architecture,CA,10,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad-bmm-create-architecture,true,architect,Create Mode,"Guided Workflow to document technical decisions",planning_artifacts,architecture,
bmm,3-solutioning,Create Epics and Stories,CE,30,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad-bmm-create-epics-and-stories,true,pm,Create Mode,"Create the Epics and Stories Listing",planning_artifacts,"epics and stories", bmm,3-solutioning,Create Epics and Stories,CE,30,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad-bmm-create-epics-and-stories,true,pm,Create Mode,"Create the Epics and Stories Listing",planning_artifacts,"epics and stories",

1 module phase name code sequence workflow-file command required agent options description output-location outputs
16 bmm 1-analysis Create Brief CB 30 _bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md bmad-bmm-create-product-brief false analyst Create Mode A guided experience to nail down your product idea planning_artifacts product brief
17 bmm 2-planning Create PRD CP 10 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md bmad-bmm-create-prd true pm Create Mode Expert led facilitation to produce your Product Requirements Document planning_artifacts prd
18 bmm 2-planning Validate PRD VP 20 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md bmad-bmm-validate-prd false pm Validate Mode Validate PRD is comprehensive lean well organized and cohesive planning_artifacts prd validation report
19 bmm 2-planning Edit PRD EP 25 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md bmad-bmm-edit-prd false pm Edit Mode Improve and enhance an existing PRD planning_artifacts updated prd
20 bmm 2-planning Create UX CU 30 _bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md bmad-bmm-create-ux-design false ux-designer Create Mode Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project planning_artifacts ux design
21 bmm 3-solutioning Create Architecture CA 10 _bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md bmad-bmm-create-architecture true architect Create Mode Guided Workflow to document technical decisions planning_artifacts architecture
22 bmm 3-solutioning Create Epics and Stories CE 30 _bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md bmad-bmm-create-epics-and-stories true pm Create Mode Create the Epics and Stories Listing planning_artifacts epics and stories

View File

@ -1,172 +0,0 @@
---
name: research
description: Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.
---
# Research Workflow
**Goal:** Conduct comprehensive, exhaustive research across multiple domains using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.
**Document Standards:**
- **Comprehensive Coverage**: Exhaustive research with no critical gaps
- **Source Verification**: Every factual claim backed by web sources with URL citations
- **Document Length**: As long as needed to fully cover the research topic
- **Professional Structure**: Compelling narrative introduction, detailed TOC, and comprehensive summary
- **Authoritative Sources**: Multiple independent sources for all critical claims
**Your Role:** You are a research facilitator and web data analyst working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.
**Final Deliverable**: A complete research document that serves as an authoritative reference on the research topic with:
- Compelling narrative introduction
- Comprehensive table of contents
- Detailed research sections with proper citations
- Executive summary and conclusions
## WORKFLOW ARCHITECTURE
This uses **micro-file architecture** with **routing-based discovery**:
- Each research type has its own step folder
- Step 01 discovers research type and routes to appropriate sub-workflow
- Sequential progression within each research type
- Document state tracked in output frontmatter
## INITIALIZATION
### Configuration Loading
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
- `project_name`, `output_folder`, , `planning_artifacts`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
- `date` as a system-generated value
### Paths
- `installed_path` = `{project-root}/_bmad/bmm/workflows/1-analysis/research`
- `template_path` = `{installed_path}/research.template.md`
- `default_output_file` = `{planning_artifacts}/research/{{research_type}}-{{topic}}-research-{{date}}.md` (dynamic based on research type)
## PREREQUISITE
**⛔ Web search required.** If unavailable, abort and tell the user.
## RESEARCH BEHAVIOR
### Web Research Standards
- **Current Data Only**: Search the web to verify and supplement your knowledge with current facts
- **Source Verification**: Require citations for all factual claims
- **Anti-Hallucination Protocol**: Never present information without verified sources
- **Multiple Sources**: Require at least 2 independent sources for critical claims
- **Conflict Resolution**: Present conflicting views and note discrepancies
- **Confidence Levels**: Flag uncertain data with [High/Medium/Low Confidence]
### Source Quality Standards
- **Distinguish Clearly**: Facts (from sources) vs Analysis (interpretation) vs Speculation
- **URL Citation**: Always include source URLs when presenting web search data
- **Critical Claims**: Market size, growth rates, competitive data need verification
- **Fact Checking**: Apply fact-checking to critical data points
## Implementation Instructions
Execute research type discovery and routing:
### Research Type Discovery
**Your Role:** You are a research facilitator and web data analyst working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.
**Research Standards:**
- **Anti-Hallucination Protocol**: Never present information without verified sources
- **Current Data Only**: Search the web to verify and supplement your knowledge with current facts
- **Source Citation**: Always include URLs for factual claims from web searches
- **Multiple Sources**: Require 2+ independent sources for critical claims
- **Conflict Resolution**: Present conflicting views and note discrepancies
- **Confidence Levels**: Flag uncertain data with [High/Medium/Low Confidence]
### Collaborative Research Discovery
"Welcome {{user_name}}! I'm excited to work with you as your research partner. I bring web research capabilities with rigorous source verification, while you bring the domain expertise and research direction.
**Let me help you clarify what you'd like to research.**
**First, tell me: What specific topic, problem, or area do you want to research?**
For example:
- 'The electric vehicle market in Europe'
- 'Cloud migration strategies for healthcare'
- 'AI implementation in financial services'
- 'Sustainable packaging regulations'
- 'Or anything else you have in mind...'
### Topic Exploration and Clarification
Based on the user's initial topic, explore and refine the research scope:
#### Topic Clarification Questions:
1. **Core Topic**: "What exactly about [topic] are you most interested in?"
2. **Research Goals**: "What do you hope to achieve with this research?"
3. **Scope**: "Should we focus broadly or dive deep into specific aspects?"
4. **Timeline**: "Are you looking at current state, historical context, or future trends?"
5. **Application**: "How will you use this research? (product development, strategy, academic, etc.)"
#### Context Building:
- **Initial Input**: User provides topic or research interest
- **Collaborative Refinement**: Work together to clarify scope and objectives
- **Goal Alignment**: Ensure research direction matches user needs
- **Research Boundaries**: Establish clear focus areas and deliverables
### Research Type Identification
After understanding the research topic and goals, identify the most appropriate research approach:
**Research Type Options:**
1. **Market Research** - Market size, growth, competition, customer insights
_Best for: Understanding market dynamics, customer behavior, competitive landscape_
2. **Domain Research** - Industry analysis, regulations, technology trends in specific domain
_Best for: Understanding industry context, regulatory environment, ecosystem_
3. **Technical Research** - Technology evaluation, architecture decisions, implementation approaches
_Best for: Technical feasibility, technology selection, implementation strategies_
**Recommendation**: Based on [topic] and [goals], I recommend [suggested research type] because [specific rationale].
**What type of research would work best for your needs?**
### Research Type Routing
<critical>Based on user selection, route to appropriate sub-workflow with the discovered topic using the following IF block sets of instructions. YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`</critical>
#### If Market Research:
- Set `research_type = "market"`
- Set `research_topic = [discovered topic from discussion]`
- Create the starter output file: `{planning_artifacts}/research/market-{{research_topic}}-research-{{date}}.md` with exact copy of the ./research.template.md contents
- Load: `./market-steps/step-01-init.md` with topic context
#### If Domain Research:
- Set `research_type = "domain"`
- Set `research_topic = [discovered topic from discussion]`
- Create the starter output file: `{planning_artifacts}/research/domain-{{research_topic}}-research-{{date}}.md` with exact copy of the ./research.template.md contents
- Load: `./domain-steps/step-01-init.md` with topic context
#### If Technical Research:
- Set `research_type = "technical"`
- Set `research_topic = [discovered topic from discussion]`
- Create the starter output file: `{planning_artifacts}/research/technical-{{research_topic}}-research-{{date}}.md` with exact copy of the ./research.template.md contents
- Load: `./technical-steps/step-01-init.md` with topic context
**Important**: The discovered topic from the collaborative discussion should be passed to the research initialization steps, so they don't need to ask "What do you want to research?" again - they can focus on refining the scope for their specific research type.
**Note:** All research workflows require web search for current data and source verification.

View File

@ -0,0 +1,63 @@
---
name: create-prd
description: Create a comprehensive PRD (Product Requirements Document) through structured workflow facilitation
main_config: '{project-root}/_bmad/bmm/config.yaml'
nextStep: './steps-c/step-01-init.md'
---
# PRD Create Workflow
**Goal:** Create comprehensive PRDs through structured workflow facilitation.
**Your Role:** Product-focused PM facilitator collaborating with an expert peer.
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, read fully and follow 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
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
### 2. Route to Create Workflow
"**Create Mode: Creating a new PRD from scratch.**"
Read fully and follow: `{nextStep}` (steps-c/step-01-init.md)

View File

@ -0,0 +1,65 @@
---
name: edit-prd
description: Edit and improve an existing PRD - enhance clarity, completeness, and quality
main_config: '{project-root}/_bmad/bmm/config.yaml'
editWorkflow: './steps-e/step-e-01-discovery.md'
---
# PRD Edit Workflow
**Goal:** Edit and improve existing PRDs through structured enhancement workflow.
**Your Role:** PRD improvement specialist.
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, read fully and follow 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
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
### 2. Route to Edit Workflow
"**Edit Mode: Improving an existing PRD.**"
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
Then read fully and follow: `{editWorkflow}` (steps-e/step-e-01-discovery.md)

View File

@ -1,149 +0,0 @@
---
name: create-prd
description: PRD tri-modal workflow - Create, Validate, or Edit comprehensive PRDs
main_config: '{project-root}/_bmad/bmm/config.yaml'
nextStep: './steps-c/step-01-init.md'
validateWorkflow: './steps-v/step-v-01-discovery.md'
editWorkflow: './steps-e/step-e-01-discovery.md'
---
# PRD Workflow (Tri-Modal)
**Goal:** Create, Validate, or Edit comprehensive PRDs through structured workflows.
**Your Role:**
- **Create Mode:** Product-focused PM facilitator collaborating with an expert peer
- **Validate Mode:** Validation Architect and Quality Assurance Specialist
- **Edit Mode:** PRD improvement specialist
You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
---
## MODE DETERMINATION
### Detect Workflow Mode
Determine which mode to invoke based on:
1. **Command/Invocation:**
- "create prd" or "new prd" → Create mode
- "validate prd" or "check prd" → Validate mode
- "edit prd" or "improve prd" → Edit mode
2. **Context Detection:**
- If invoked with -c flag → Create mode
- If invoked with -v flag → Validate mode
- If invoked with -e flag → Edit mode
3. **Menu Selection (if unclear):**
If mode cannot be determined from invocation:
"**PRD Workflow - Select Mode:**
**[C] Create** - Create a new PRD from scratch
**[V] Validate** - Validate an existing PRD against BMAD standards
**[E] Edit** - Improve an existing PRD
Which mode would you like?"
Wait for user selection.
### Route to Appropriate Workflow
**IF Create Mode:**
"**Create Mode: Creating a new PRD from scratch.**"
Read fully and follow: `{nextStep}` (steps-c/step-01-init.md)
**IF Validate Mode:**
"**Validate Mode: Validating an existing PRD against BMAD standards.**"
Prompt for PRD path: "Which PRD would you like to validate? Please provide the path to the PRD.md file."
Then read fully and follow: `{validateWorkflow}` (steps-v/step-v-01-discovery.md)
**IF Edit Mode:**
"**Edit Mode: Improving an existing PRD.**"
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
Then read fully and follow: `{editWorkflow}` (steps-e/step-e-01-discovery.md)
---
## 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, read fully and follow 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. Mode Determination
**Check if mode was specified in the command invocation:**
- If user invoked with "create prd" or "new prd" or "build prd" or "-c" or "--create" → Set mode to **create**
- If user invoked with "validate prd" or "review prd" or "check prd" or "-v" or "--validate" → Set mode to **validate**
- If user invoked with "edit prd" or "modify prd" or "improve prd" or "-e" or "--edit" → Set mode to **edit**
**If mode is still unclear, ask user:**
"**PRD Workflow - Select Mode:**
**[C] Create** - Create a new PRD from scratch
**[V] Validate** - Validate an existing PRD against BMAD standards
**[E] Edit** - Improve an existing PRD
Which mode would you like?"
Wait for user selection.
### 2. 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
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
### 3. Route to Appropriate Workflow
**IF mode == create:**
"**Create Mode: Creating a new PRD from scratch.**"
Read fully and follow: `{nextStep}` (steps-c/step-01-init.md)
**IF mode == validate:**
"**Validate Mode: Validating an existing PRD against BMAD standards.**"
Prompt for PRD path: "Which PRD would you like to validate? Please provide the path to the PRD.md file."
Then read fully and follow: `{validateWorkflow}` (steps-v/step-v-01-discovery.md)
**IF mode == edit:**
"**Edit Mode: Improving an existing PRD.**"
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
Then read fully and follow: `{editWorkflow}` (steps-e/step-e-01-discovery.md)

View File

@ -733,47 +733,15 @@ class ManifestGenerator {
async writeWorkflowManifest(cfgDir) { async writeWorkflowManifest(cfgDir) {
const csvPath = path.join(cfgDir, 'workflow-manifest.csv'); const csvPath = path.join(cfgDir, 'workflow-manifest.csv');
const escapeCsv = (value) => `"${String(value ?? '').replaceAll('"', '""')}"`; const escapeCsv = (value) => `"${String(value ?? '').replaceAll('"', '""')}"`;
const parseCsvLine = (line) => {
const columns = line.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g) || [];
return columns.map((c) => c.replaceAll(/^"|"$/g, ''));
};
// Read existing manifest to preserve entries
const existingEntries = new Map();
if (await fs.pathExists(csvPath)) {
const content = await fs.readFile(csvPath, 'utf8');
const lines = content.split('\n').filter((line) => line.trim());
// Skip header
for (let i = 1; i < lines.length; i++) {
const line = lines[i];
if (line) {
const parts = parseCsvLine(line);
if (parts.length >= 4) {
const [name, description, module, workflowPath] = parts;
existingEntries.set(`${module}:${name}`, {
name,
description,
module,
path: workflowPath,
});
}
}
}
}
// Create CSV header - standalone column removed, everything is canonicalized to 4 columns // Create CSV header - standalone column removed, everything is canonicalized to 4 columns
let csv = 'name,description,module,path\n'; let csv = 'name,description,module,path\n';
// Combine existing and new workflows // Build workflows map from discovered workflows only
// Old entries are NOT preserved - the manifest reflects what actually exists on disk
const allWorkflows = new Map(); const allWorkflows = new Map();
// Add existing entries // Only add workflows that were actually discovered in this scan
for (const [key, value] of existingEntries) {
allWorkflows.set(key, value);
}
// Add/update new workflows
for (const workflow of this.workflows) { for (const workflow of this.workflows) {
const key = `${workflow.module}:${workflow.name}`; const key = `${workflow.module}:${workflow.name}`;
allWorkflows.set(key, { allWorkflows.set(key, {