Compare commits
No commits in common. "69386c4f4d70946abd31129747b54583cd9029f2" and "fcfa027758ee95b32e9eb60ddf96c0c8feeded2a" have entirely different histories.
69386c4f4d
...
fcfa027758
|
|
@ -144,6 +144,7 @@ The BMad Method Module (BMM) provides a comprehensive team of specialized AI age
|
||||||
|
|
||||||
- `workflow-status` - Check what to do next
|
- `workflow-status` - Check what to do next
|
||||||
- `create-architecture` - Produce a Scale Adaptive Architecture
|
- `create-architecture` - Produce a Scale Adaptive Architecture
|
||||||
|
- `validate-architecture` - Validate architecture document
|
||||||
- `implementation-readiness` - Validate PRD + Architecture + Epics + UX (optional)
|
- `implementation-readiness` - Validate PRD + Architecture + Epics + UX (optional)
|
||||||
|
|
||||||
**Communication Style:** Comprehensive yet pragmatic. Uses architectural metaphors. Balances technical depth with accessibility. Connects decisions to business value.
|
**Communication Style:** Comprehensive yet pragmatic. Uses architectural metaphors. Balances technical depth with accessibility. Connects decisions to business value.
|
||||||
|
|
@ -643,6 +644,7 @@ Many workflows have optional validation workflows that perform independent revie
|
||||||
| Validation | Agent | Validates |
|
| Validation | Agent | Validates |
|
||||||
| -------------------------- | ----------- | ------------------------------------------ |
|
| -------------------------- | ----------- | ------------------------------------------ |
|
||||||
| `implementation-readiness` | Architect | PRD + Architecture + Epics + UX (optional) |
|
| `implementation-readiness` | Architect | PRD + Architecture + Epics + UX (optional) |
|
||||||
|
| `validate-architecture` | Architect | Architecture document |
|
||||||
| `validate-design` | UX Designer | UX specification and artifacts |
|
| `validate-design` | UX Designer | UX specification and artifacts |
|
||||||
| `validate-create-story` | SM | Story draft |
|
| `validate-create-story` | SM | Story draft |
|
||||||
|
|
||||||
|
|
@ -974,7 +976,7 @@ Quick reference for agent selection:
|
||||||
| **PM** | 📋 | 2 (Planning) | prd, tech-spec, epics-stories | Planning, requirements docs |
|
| **PM** | 📋 | 2 (Planning) | prd, tech-spec, epics-stories | Planning, requirements docs |
|
||||||
| **UX Designer** | 🎨 | 2 (Planning) | create-ux-design, validate-design | UX-heavy projects, design |
|
| **UX Designer** | 🎨 | 2 (Planning) | create-ux-design, validate-design | UX-heavy projects, design |
|
||||||
| **Architect** | 🏗️ | 3 (Solutioning) | architecture, implementation-readiness | Technical design, architecture |
|
| **Architect** | 🏗️ | 3 (Solutioning) | architecture, implementation-readiness | Technical design, architecture |
|
||||||
| **SM** | 🏃 | 4 (Implementation) | sprint-planning, create-story | Story management, sprint coordination |
|
| **SM** | 🏃 | 4 (Implementation) | sprint-planning, create-story, story-context | Story management, sprint coordination |
|
||||||
| **DEV** | 💻 | 4 (Implementation) | develop-story, code-review | Implementation, coding |
|
| **DEV** | 💻 | 4 (Implementation) | develop-story, code-review | Implementation, coding |
|
||||||
| **TEA** | 🧪 | All Phases | framework, atdd, automate, trace, ci | Testing, quality assurance |
|
| **TEA** | 🧪 | All Phases | framework, atdd, automate, trace, ci | Testing, quality assurance |
|
||||||
| **Paige (Tech Writer)** | 📚 | All Phases | document-project, diagrams, validation | Documentation, diagrams |
|
| **Paige (Tech Writer)** | 📚 | All Phases | document-project, diagrams, validation | Documentation, diagrams |
|
||||||
|
|
|
||||||
|
|
@ -250,8 +250,8 @@ Without AI-optimized documentation, workflows fail:
|
||||||
|
|
||||||
- **tech-spec** (Quick Flow) can't auto-detect stack/patterns → Makes wrong assumptions
|
- **tech-spec** (Quick Flow) can't auto-detect stack/patterns → Makes wrong assumptions
|
||||||
- **PRD** (BMad Method) can't reference existing code → Designs incompatible features
|
- **PRD** (BMad Method) can't reference existing code → Designs incompatible features
|
||||||
- **create-architecture** can't build on existing structure → Suggests conflicting patterns
|
- **architecture** can't build on existing structure → Suggests conflicting patterns
|
||||||
- **create-story** can't provide existing pattern context → Stories lack integration guidance
|
- **story-context** can't inject existing patterns → Dev agent rewrites working code
|
||||||
- **dev-story** invents implementations → Breaks existing integrations
|
- **dev-story** invents implementations → Breaks existing integrations
|
||||||
|
|
||||||
### Key Principle
|
### Key Principle
|
||||||
|
|
@ -370,7 +370,7 @@ When workflow-init asks about your work:
|
||||||
|
|
||||||
### 4. Respect Existing Patterns
|
### 4. Respect Existing Patterns
|
||||||
|
|
||||||
Tech-spec and create-story workflows will detect conventions from existing documentation. Follow them unless explicitly modernizing.
|
Tech-spec and story-context will detect conventions. Follow them unless explicitly modernizing.
|
||||||
|
|
||||||
### 5. Plan Integration Points Explicitly
|
### 5. Plan Integration Points Explicitly
|
||||||
|
|
||||||
|
|
@ -446,7 +446,7 @@ Document in tech-spec/architecture:
|
||||||
- Analyzes existing auth patterns
|
- Analyzes existing auth patterns
|
||||||
- Confirms conventions
|
- Confirms conventions
|
||||||
- Creates tech-spec.md + epic + 3-5 stories
|
- Creates tech-spec.md + epic + 3-5 stories
|
||||||
3. **Implement:** Load SM → `sprint-planning` → `create-story`
|
3. **Implement:** Load SM → `sprint-planning` → `create-story` → `story-context`
|
||||||
Load DEV → `dev-story` for each story
|
Load DEV → `dev-story` for each story
|
||||||
4. **Review:** Load DEV → `code-review`
|
4. **Review:** Load DEV → `code-review`
|
||||||
|
|
||||||
|
|
@ -512,9 +512,12 @@ Document in tech-spec/architecture:
|
||||||
- `product-brief` - Strategic document
|
- `product-brief` - Strategic document
|
||||||
3. **Plan:** Load PM → `prd` (comprehensive FRs/NFRs)
|
3. **Plan:** Load PM → `prd` (comprehensive FRs/NFRs)
|
||||||
4. **Solution:**
|
4. **Solution:**
|
||||||
- `create-architecture` - Full system architecture including multi-tenancy design
|
- `create-architecture` - Full system architecture
|
||||||
|
- `integration-planning` - Phased migration strategy
|
||||||
|
- `create-architecture` - Multi-tenancy architecture
|
||||||
|
- `validate-architecture` - External review
|
||||||
- `create-epics-and-stories` - Create epics and stories
|
- `create-epics-and-stories` - Create epics and stories
|
||||||
- `implementation-readiness` - Final validation before implementation
|
- `implementation-readiness` - Executive approval
|
||||||
5. **Implement:** Phased sprint-based (50+ stories)
|
5. **Implement:** Phased sprint-based (50+ stories)
|
||||||
|
|
||||||
**Time:** 3-6 months
|
**Time:** 3-6 months
|
||||||
|
|
@ -561,7 +564,7 @@ Document in tech-spec/architecture:
|
||||||
**Solution:**
|
**Solution:**
|
||||||
|
|
||||||
1. Ensure `document-project` captured existing architecture
|
1. Ensure `document-project` captured existing architecture
|
||||||
2. Check story files created by `create-story` - should include integration context
|
2. Check `story-context` - should document integration points
|
||||||
3. In tech-spec/architecture - explicitly document:
|
3. In tech-spec/architecture - explicitly document:
|
||||||
- Which existing modules to modify
|
- Which existing modules to modify
|
||||||
- What APIs/services to integrate with
|
- What APIs/services to integrate with
|
||||||
|
|
@ -594,7 +597,7 @@ Document in tech-spec/architecture:
|
||||||
|
|
||||||
1. Check convention detection (Quick Spec Flow should detect patterns)
|
1. Check convention detection (Quick Spec Flow should detect patterns)
|
||||||
2. Review documentation - ensure `document-project` captured patterns
|
2. Review documentation - ensure `document-project` captured patterns
|
||||||
3. Use `create-story` workflow - it loads context from existing documentation
|
3. Use `story-context` - injects pattern guidance
|
||||||
4. Add to code-review checklist: pattern adherence, convention consistency
|
4. Add to code-review checklist: pattern adherence, convention consistency
|
||||||
5. Run retrospective to identify deviations early
|
5. Run retrospective to identify deviations early
|
||||||
|
|
||||||
|
|
@ -623,9 +626,9 @@ prd # BMad Method/Enterprise tracks
|
||||||
|
|
||||||
# Phase 3: Solutioning (BMad Method/Enterprise)
|
# Phase 3: Solutioning (BMad Method/Enterprise)
|
||||||
# Architect agent:
|
# Architect agent:
|
||||||
create-architecture # Create/extend architecture
|
architecture # Create/extend architecture
|
||||||
create-epics-and-stories # Create epics and stories (after architecture)
|
create-epics-and-stories # Create epics and stories (after architecture)
|
||||||
implementation-readiness # Final validation
|
implementation-readiness # Final validation
|
||||||
|
|
||||||
# Phase 4: Implementation (All Tracks)
|
# Phase 4: Implementation (All Tracks)
|
||||||
# SM agent:
|
# SM agent:
|
||||||
|
|
|
||||||
|
|
@ -193,9 +193,15 @@ PRDs are for Level 2-4 projects with multiple features requiring product-level c
|
||||||
|
|
||||||
## Implementation
|
## Implementation
|
||||||
|
|
||||||
### Q: Does create-story include implementation context?
|
### Q: Do I need story-context for every story?
|
||||||
|
|
||||||
**A:** Yes! The create-story workflow generates story files that include implementation-specific guidance, references existing patterns from your documentation, and provides technical context. The workflow loads your architecture, PRD, and existing project documentation to create comprehensive stories. For Quick Flow projects using tech-spec, the tech-spec itself is already comprehensive, so stories can be simpler.
|
**A:** Technically no, but it's recommended. story-context provides implementation-specific guidance, references existing patterns, and injects expertise. Skip it only if:
|
||||||
|
|
||||||
|
- Very simple story (self-explanatory)
|
||||||
|
- You're already expert in the area
|
||||||
|
- Time is extremely limited
|
||||||
|
|
||||||
|
For Level 0-1 using tech-spec, story-context is less critical because tech-spec is already comprehensive.
|
||||||
|
|
||||||
### Q: How do I mark a story as done?
|
### Q: How do I mark a story as done?
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@ backlog → drafted → ready-for-dev → in-progress → review → done
|
||||||
|
|
||||||
- **backlog** - Story exists in epic but not yet drafted
|
- **backlog** - Story exists in epic but not yet drafted
|
||||||
- **drafted** - Story file created by SM via create-story
|
- **drafted** - Story file created by SM via create-story
|
||||||
- **ready-for-dev** - Story drafted and reviewed, ready for DEV
|
- **ready-for-dev** - Story has context, ready for DEV via story-context
|
||||||
- **in-progress** - DEV is implementing via dev-story
|
- **in-progress** - DEV is implementing via dev-story
|
||||||
- **review** - Implementation complete, awaiting code-review
|
- **review** - Implementation complete, awaiting code-review
|
||||||
- **done** - Completed with DoD met
|
- **done** - Completed with DoD met
|
||||||
|
|
@ -238,7 +238,7 @@ Markdown file containing story details: description, acceptance criteria, techni
|
||||||
|
|
||||||
### Story Context
|
### Story Context
|
||||||
|
|
||||||
Implementation guidance embedded within story files during the create-story workflow. Provides implementation-specific context, references existing patterns, suggests approaches, and helps maintain consistency with established codebase conventions.
|
Technical guidance document created via story-context workflow that provides implementation-specific context, references existing patterns, suggests approaches, and injects expertise for the specific story.
|
||||||
|
|
||||||
### Sprint Planning
|
### Sprint Planning
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,10 +313,11 @@ flowchart LR
|
||||||
direction TB
|
direction TB
|
||||||
D1[Per Epic:<br/>epic context]
|
D1[Per Epic:<br/>epic context]
|
||||||
D2[Per Story:<br/>create-story]
|
D2[Per Story:<br/>create-story]
|
||||||
D3[dev-story]
|
D3[story-context]
|
||||||
D4[code-review]
|
D4[dev-story]
|
||||||
D5[SM, DEV]
|
D5[code-review]
|
||||||
D1 ~~~ D2 ~~~ D3 ~~~ D4 ~~~ D5
|
D6[SM, DEV]
|
||||||
|
D1 ~~~ D2 ~~~ D3 ~~~ D4 ~~~ D5 ~~~ D6
|
||||||
end
|
end
|
||||||
|
|
||||||
P1 --> P2
|
P1 --> P2
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ For a visual representation of the complete workflow, see: [workflow-method-gree
|
||||||
Stories move through these states in the sprint status file:
|
Stories move through these states in the sprint status file:
|
||||||
|
|
||||||
1. **TODO** - Story identified but not started
|
1. **TODO** - Story identified but not started
|
||||||
2. **IN PROGRESS** - Story being implemented (create-story → dev-story)
|
2. **IN PROGRESS** - Story being implemented (create-story → story-context → dev-story)
|
||||||
3. **READY FOR REVIEW** - Implementation complete, awaiting code review
|
3. **READY FOR REVIEW** - Implementation complete, awaiting code review
|
||||||
4. **DONE** - Accepted and complete
|
4. **DONE** - Accepted and complete
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,6 @@
|
||||||
---
|
---
|
||||||
stepsCompleted: []
|
stepsCompleted: []
|
||||||
inputDocuments: []
|
inputDocuments: []
|
||||||
documentCounts:
|
|
||||||
briefs: 0
|
|
||||||
research: 0
|
|
||||||
brainstorming: 0
|
|
||||||
projectDocs: 0
|
|
||||||
workflowType: 'prd'
|
|
||||||
lastStep: 0
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Product Requirements Document - {{project_name}}
|
# Product Requirements Document - {{project_name}}
|
||||||
|
|
|
||||||
|
|
@ -1,75 +1,43 @@
|
||||||
---
|
|
||||||
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_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Template References
|
|
||||||
prdTemplate: '{workflow_path}/prd-template.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 1: Workflow Initialization
|
# Step 1: Workflow Initialization
|
||||||
|
|
||||||
**Progress: Step 1 of 11** - Next: Project Discovery
|
**Progress: Step 1 of 10** - 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):
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||||
|
|
||||||
### Universal Rules:
|
|
||||||
|
|
||||||
- 🛑 NEVER generate content without user input
|
- 🛑 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
|
- 📖 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
|
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||||
|
- 💬 FOCUS on initialization and setup only - don't look ahead to future steps
|
||||||
### Role Reinforcement:
|
- 🚪 DETECT existing workflow state and handle continuation properly
|
||||||
|
|
||||||
- ✅ 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:
|
## EXECUTION PROTOCOLS:
|
||||||
|
|
||||||
- 🎯 Show your analysis of current state before taking any action
|
- 🎯 Show your analysis before taking any action
|
||||||
- 💾 Initialize document structure and update frontmatter appropriately
|
- 💾 Initialize document and update frontmatter
|
||||||
- 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
|
- 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
|
||||||
- 🚫 FORBIDDEN to load next step until user selects 'C' (Continue)
|
- 🚫 FORBIDDEN to load next step until setup is complete
|
||||||
|
|
||||||
## CONTEXT BOUNDARIES:
|
## CONTEXT BOUNDARIES:
|
||||||
|
|
||||||
- Available context: Variables from workflow.md are available in memory
|
- Variables from workflow.md are available in memory
|
||||||
- Focus: Workflow initialization and document setup only
|
- Previous context = what's in output document + frontmatter
|
||||||
- Limits: Don't assume knowledge from other steps or create content yet
|
- Don't assume knowledge from other steps
|
||||||
- Dependencies: Configuration loaded from workflow.md initialization
|
- Input document discovery happens in this step
|
||||||
|
|
||||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
## YOUR TASK:
|
||||||
|
|
||||||
### 1. Check for Existing Workflow State
|
Initialize the PRD workflow by detecting continuation state and setting up the document.
|
||||||
|
|
||||||
|
## INITIALIZATION SEQUENCE:
|
||||||
|
|
||||||
|
### 1. Check for Existing Workflow
|
||||||
|
|
||||||
First, check if the output document already exists:
|
First, check if the output document already exists:
|
||||||
|
|
||||||
**Workflow State Detection:**
|
- Look for file at `{output_folder}/prd.md`
|
||||||
|
|
||||||
- Look for file at `{outputFile}`
|
|
||||||
- If exists, read the complete file including frontmatter
|
- If exists, read the complete file including frontmatter
|
||||||
- If not exists, this is a fresh workflow
|
- If not exists, this is a fresh workflow
|
||||||
|
|
||||||
|
|
@ -77,12 +45,9 @@ First, check if the output document already exists:
|
||||||
|
|
||||||
If the document exists and has frontmatter with `stepsCompleted`:
|
If the document exists and has frontmatter with `stepsCompleted`:
|
||||||
|
|
||||||
**Continuation Protocol:**
|
- **STOP here** and load `./step-01b-continue.md` immediately
|
||||||
|
|
||||||
- **STOP immediately** and load `{continueStepFile}`
|
|
||||||
- Do not proceed with any initialization tasks
|
- Do not proceed with any initialization tasks
|
||||||
- Let step-01b handle all continuation logic
|
- Let step-01b handle the continuation logic
|
||||||
- This is an auto-proceed situation - no user choice needed
|
|
||||||
|
|
||||||
### 3. Fresh Workflow Setup (If No Document)
|
### 3. Fresh Workflow Setup (If No Document)
|
||||||
|
|
||||||
|
|
@ -90,18 +55,7 @@ If no document exists or no `stepsCompleted` in frontmatter:
|
||||||
|
|
||||||
#### A. Input Document Discovery
|
#### A. Input Document Discovery
|
||||||
|
|
||||||
Discover and load context documents using smart discovery.
|
Discover and load context documents using smart discovery:
|
||||||
|
|
||||||
**IMPORTANT: Track document counts as you discover files.**
|
|
||||||
|
|
||||||
Initialize counters:
|
|
||||||
|
|
||||||
```
|
|
||||||
briefCount = 0
|
|
||||||
researchCount = 0
|
|
||||||
brainstormingCount = 0
|
|
||||||
projectDocsCount = 0
|
|
||||||
```
|
|
||||||
|
|
||||||
**Product Brief (Priority: Analysis → Main → Sharded → Whole):**
|
**Product Brief (Priority: Analysis → Main → Sharded → Whole):**
|
||||||
|
|
||||||
|
|
@ -110,7 +64,6 @@ projectDocsCount = 0
|
||||||
3. If no main files: Check for sharded brief folder: `{output_folder}/*brief*/**/*.md`
|
3. If no main files: Check for sharded brief folder: `{output_folder}/*brief*/**/*.md`
|
||||||
4. If sharded folder exists: Load EVERY file in that folder completely
|
4. If sharded folder exists: Load EVERY file in that folder completely
|
||||||
5. Add discovered files to `inputDocuments` frontmatter
|
5. Add discovered files to `inputDocuments` frontmatter
|
||||||
6. **Update briefCount with number of files found**
|
|
||||||
|
|
||||||
**Research Documents (Priority: Analysis → Main → Sharded → Whole):**
|
**Research Documents (Priority: Analysis → Main → Sharded → Whole):**
|
||||||
|
|
||||||
|
|
@ -119,23 +72,20 @@ projectDocsCount = 0
|
||||||
3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
|
3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
|
||||||
4. Load useful research files completely
|
4. Load useful research files completely
|
||||||
5. Add discovered files to `inputDocuments` frontmatter
|
5. Add discovered files to `inputDocuments` frontmatter
|
||||||
6. **Update researchCount with number of files found**
|
|
||||||
|
|
||||||
**Brainstorming Documents (Priority: Analysis → Main):**
|
**Brainstorming Documents (Priority: Analysis → Main):**
|
||||||
|
|
||||||
1. Check analysis folder: `{output_folder}/analysis/brainstorming/*brainstorming*.md`
|
1. Check analysis folder: `{output_folder}/analysis/brainstorming/*brainstorming*.md`
|
||||||
2. If no analysis files: Try main folder: `{output_folder}/*brainstorming*.md`
|
2. If no analysis files: Try main folder: `{output_folder}/*brainstorming*.md`
|
||||||
3. Add discovered files to `inputDocuments` frontmatter
|
3. Add discovered files to `inputDocuments` frontmatter
|
||||||
4. **Update brainstormingCount with number of files found**
|
|
||||||
|
|
||||||
**Project Documentation (Existing Projects - Brownfield):**
|
**Project Documentation (Existing Projects):**
|
||||||
|
|
||||||
1. Look for index file: `{output_folder}/index.md`
|
1. Look for index file: `{output_folder}/index.md`
|
||||||
2. CRITICAL: Load index.md to understand what project files are available
|
2. CRITICAL: Load index.md to understand what project files are available
|
||||||
3. Read available files from index to understand existing project context
|
3. Read available files from index to understand existing project context
|
||||||
4. This provides essential context for extending existing project with new PRD
|
4. This provides essential context for extending existing project with new PRD
|
||||||
5. Add discovered files to `inputDocuments` frontmatter
|
5. Add discovered files to `inputDocuments` frontmatter
|
||||||
6. **Update projectDocsCount with number of files found (including index.md)**
|
|
||||||
|
|
||||||
**Loading Rules:**
|
**Loading Rules:**
|
||||||
|
|
||||||
|
|
@ -146,20 +96,13 @@ projectDocsCount = 0
|
||||||
|
|
||||||
#### B. Create Initial Document
|
#### B. Create Initial Document
|
||||||
|
|
||||||
**Document Setup:**
|
Copy the template from `{installed_path}/prd-template.md` to `{output_folder}/prd.md`
|
||||||
|
Initialize frontmatter with:
|
||||||
- Copy the template from `{prdTemplate}` to `{outputFile}`
|
|
||||||
- Initialize frontmatter with proper structure including document counts:
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
---
|
||||||
stepsCompleted: []
|
stepsCompleted: []
|
||||||
inputDocuments: []
|
inputDocuments: []
|
||||||
documentCounts:
|
|
||||||
briefs: { { briefCount } }
|
|
||||||
research: { { researchCount } }
|
|
||||||
brainstorming: { { brainstormingCount } }
|
|
||||||
projectDocs: { { projectDocsCount } }
|
|
||||||
workflowType: 'prd'
|
workflowType: 'prd'
|
||||||
lastStep: 0
|
lastStep: 0
|
||||||
project_name: '{{project_name}}'
|
project_name: '{{project_name}}'
|
||||||
|
|
@ -168,76 +111,51 @@ date: '{{date}}'
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
#### C. Present Initialization Results
|
#### C. Complete Initialization and Report
|
||||||
|
|
||||||
**Setup Report to User:**
|
Complete setup and report to user:
|
||||||
|
|
||||||
"Welcome {{user_name}}! I've set up your PRD workspace for {{project_name}}.
|
|
||||||
|
|
||||||
**Document Setup:**
|
**Document Setup:**
|
||||||
|
|
||||||
- Created: `{outputFile}` from template
|
- Created: `{output_folder}/prd.md` from template
|
||||||
- Initialized frontmatter with workflow state
|
- Initialized frontmatter with workflow state
|
||||||
|
|
||||||
**Input Documents Discovered:**
|
**Input Documents Discovered:**
|
||||||
|
Report what was found:
|
||||||
|
"Welcome {{user_name}}! I've set up your PRD workspace for {{project_name}}.
|
||||||
|
|
||||||
- Product briefs: {{briefCount}} files {if briefCount > 0}✓ loaded{else}(none found){/if}
|
**Documents Found:**
|
||||||
- Research: {{researchCount}} files {if researchCount > 0}✓ loaded{else}(none found){/if}
|
|
||||||
- Brainstorming: {{brainstormingCount}} files {if brainstormingCount > 0}✓ loaded{else}(none found){/if}
|
- Product brief: {number of brief files loaded or "None found"}
|
||||||
- Project docs: {{projectDocsCount}} files {if projectDocsCount > 0}✓ loaded (brownfield project){else}(none found - greenfield project){/if}
|
- Research: {number of research files loaded or "None found"}
|
||||||
|
- Project docs: {number of project files loaded or "None found"}
|
||||||
|
|
||||||
**Files loaded:** {list of specific file names or "No additional documents found"}
|
**Files loaded:** {list of specific file names or "No additional documents found"}
|
||||||
|
|
||||||
{if projectDocsCount > 0}
|
Do you have any other documents you'd like me to include, or shall we continue to the next step?
|
||||||
📋 **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?"
|
[C] Continue - Save this and move to Project Discovery (Step 2 of 10)
|
||||||
|
|
||||||
### 4. Present MENU OPTIONS
|
## SUCCESS METRICS:
|
||||||
|
|
||||||
Display menu after setup report:
|
✅ Existing workflow detected and handed off to step-01b correctly
|
||||||
|
✅ Fresh workflow initialized with template and frontmatter
|
||||||
|
✅ Input documents discovered and loaded using sharded-first logic
|
||||||
|
✅ All discovered files tracked in frontmatter `inputDocuments`
|
||||||
|
✅ User confirmed document setup and can proceed
|
||||||
|
|
||||||
"[C] Continue - Save this and move to Project Discovery (Step 2 of 11)"
|
## FAILURE MODES:
|
||||||
|
|
||||||
#### Menu Handling Logic:
|
❌ Proceeding with fresh initialization when existing workflow exists
|
||||||
|
❌ Not updating frontmatter with discovered input documents
|
||||||
|
❌ Creating document without proper template
|
||||||
|
❌ Not checking sharded folders first before whole files
|
||||||
|
❌ Not reporting what documents were found to user
|
||||||
|
|
||||||
- IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire file, then execute {nextStepFile}
|
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||||
- IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
|
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||||
- IF user asks questions: Answer and redisplay menu
|
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||||
|
|
||||||
#### EXECUTION RULES:
|
## NEXT STEP:
|
||||||
|
|
||||||
- ALWAYS halt and wait for user input after presenting menu
|
After user selects [C] to continue, load `{installed_path}/step/step-02-discovery.md` to begin the project discovery phase.
|
||||||
- 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`
|
|
||||||
- **Document counts stored in frontmatter `documentCounts`**
|
|
||||||
- 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.
|
|
||||||
|
|
|
||||||
|
|
@ -1,81 +1,56 @@
|
||||||
---
|
|
||||||
name: 'step-01b-continue'
|
|
||||||
description: 'Resume an interrupted PRD workflow from the last completed step'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd'
|
|
||||||
|
|
||||||
# File References
|
|
||||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
|
||||||
workflowFile: '{workflow_path}/workflow.md'
|
|
||||||
outputFile: '{output_folder}/prd.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 1B: Workflow Continuation
|
# 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):
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||||
|
|
||||||
### Universal Rules:
|
|
||||||
|
|
||||||
- 🛑 NEVER generate content without user input
|
- 🛑 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
|
- 📖 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
|
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||||
|
|
||||||
### 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
|
- 💬 FOCUS on understanding where we left off and continuing appropriately
|
||||||
- 🚫 FORBIDDEN to modify content completed in previous steps
|
- 🚪 RESUME workflow from exact point where it was interrupted
|
||||||
- 📖 Only reload documents that were already tracked in `inputDocuments`
|
|
||||||
|
|
||||||
## EXECUTION PROTOCOLS:
|
## EXECUTION PROTOCOLS:
|
||||||
|
|
||||||
- 🎯 Show your analysis of current state before taking action
|
- 🎯 Show your analysis of current state before taking action
|
||||||
- 💾 Keep existing frontmatter `stepsCompleted` values
|
- 💾 Keep existing frontmatter `stepsCompleted` values
|
||||||
- 📖 Only load documents that were already tracked in `inputDocuments`
|
- 📖 Only load documents that were already tracked in `inputDocuments`
|
||||||
- 🚫 FORBIDDEN to discover new input documents during continuation
|
- 🚫 FORBIDDEN to modify content completed in previous steps
|
||||||
|
|
||||||
## CONTEXT BOUNDARIES:
|
## CONTEXT BOUNDARIES:
|
||||||
|
|
||||||
- Available context: Current document and frontmatter are already loaded
|
- Current document and frontmatter are already loaded
|
||||||
- Focus: Workflow state analysis and continuation logic only
|
- Previous context = complete document + existing frontmatter
|
||||||
- Limits: Don't assume knowledge beyond what's in the document
|
- Input documents listed in frontmatter were already processed
|
||||||
- Dependencies: Existing workflow state from previous session
|
- Last completed step = `lastStep` value from frontmatter
|
||||||
|
|
||||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
## YOUR TASK:
|
||||||
|
|
||||||
|
Resume the PRD workflow from where it was left off, ensuring smooth continuation.
|
||||||
|
|
||||||
|
## CONTINUATION SEQUENCE:
|
||||||
|
|
||||||
### 1. Analyze Current State
|
### 1. Analyze Current State
|
||||||
|
|
||||||
**State Assessment:**
|
|
||||||
Review the frontmatter to understand:
|
Review the frontmatter to understand:
|
||||||
|
|
||||||
- `stepsCompleted`: Which steps are already done
|
- `stepsCompleted`: Which steps are already done
|
||||||
- `lastStep`: The most recently completed step number
|
- `lastStep`: The most recently completed step number
|
||||||
- `inputDocuments`: What context was already loaded
|
- `inputDocuments`: What context was already loaded
|
||||||
- `documentCounts`: briefs, research, brainstorming, projectDocs counts
|
|
||||||
- All other frontmatter variables
|
- All other frontmatter variables
|
||||||
|
|
||||||
### 2. Restore Context Documents
|
### 2. Load All Input Documents
|
||||||
|
|
||||||
**Context Reloading:**
|
Reload the context documents listed in `inputDocuments`:
|
||||||
|
|
||||||
- For each document in `inputDocuments`, load the complete file
|
- For each document in `inputDocuments`, load the complete file
|
||||||
- This ensures you have full context for continuation
|
- This ensures you have full context for continuation
|
||||||
- Don't discover new documents - only reload what was previously processed
|
- Don't discover new documents - only reload what was previously processed
|
||||||
|
|
||||||
### 3. Present Current Progress
|
### 3. Summarize Current Progress
|
||||||
|
|
||||||
**Progress Report to User:**
|
Welcome the user back and provide context:
|
||||||
"Welcome back {{user_name}}! I'm resuming our PRD collaboration for {{project_name}}.
|
"Welcome back {{user_name}}! I'm resuming our PRD collaboration for {{project_name}}.
|
||||||
|
|
||||||
**Current Progress:**
|
**Current Progress:**
|
||||||
|
|
@ -91,29 +66,47 @@ Review the frontmatter to understand:
|
||||||
|
|
||||||
Does this look right, or do you want to make any adjustments before we proceed?"
|
Does this look right, or do you want to make any adjustments before we proceed?"
|
||||||
|
|
||||||
### 4. Determine Continuation Path
|
### 4. Determine Next Step
|
||||||
|
|
||||||
**Next Step Logic:**
|
|
||||||
Based on `lastStep` value, determine which step to load next:
|
Based on `lastStep` value, determine which step to load next:
|
||||||
|
|
||||||
- If `lastStep = 1` → Load `./step-02-discovery.md`
|
- If `lastStep = 1` → Load `./step-02-discovery.md`
|
||||||
- If `lastStep = 2` → Load `./step-03-success.md`
|
- If `lastStep = 2` → Load `./step-03-success.md`
|
||||||
- If `lastStep = 3` → Load `./step-04-journeys.md`
|
- If `lastStep = 3` → Load `./step-04-journeys.md`
|
||||||
- If `lastStep = 4` → Load `./step-05-domain.md`
|
- Continue this pattern for all steps
|
||||||
- If `lastStep = 5` → Load `./step-06-innovation.md`
|
- If `lastStep = 10` → Workflow already complete
|
||||||
- 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
|
### 5. Present Continuation Options
|
||||||
|
|
||||||
**If workflow already complete (`lastStep = 11`):**
|
After presenting current progress, ask:
|
||||||
|
"Ready to continue with Step {nextStepNumber}: {nextStepTitle}?
|
||||||
|
|
||||||
|
[C] Continue to Step {nextStepNumber}"
|
||||||
|
|
||||||
|
## SUCCESS METRICS:
|
||||||
|
|
||||||
|
✅ All previous input documents successfully reloaded
|
||||||
|
✅ Current workflow state accurately analyzed and presented
|
||||||
|
✅ User confirms understanding of progress
|
||||||
|
✅ Correct next step identified and prepared for loading
|
||||||
|
|
||||||
|
## FAILURE MODES:
|
||||||
|
|
||||||
|
❌ 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
|
||||||
|
|
||||||
|
❌ **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 ALREADY COMPLETE?
|
||||||
|
|
||||||
|
If `lastStep = 10` (final step completed):
|
||||||
"Great news! It looks like we've already completed the PRD workflow for {{project_name}}.
|
"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.
|
The final document is ready at {output_folder}/prd.md with all sections completed through step 10.
|
||||||
|
|
||||||
Would you like me to:
|
Would you like me to:
|
||||||
|
|
||||||
|
|
@ -123,43 +116,8 @@ Would you like me to:
|
||||||
|
|
||||||
What would be most helpful?"
|
What would be most helpful?"
|
||||||
|
|
||||||
### 6. Present MENU OPTIONS
|
## NEXT STEP:
|
||||||
|
|
||||||
**If workflow not complete:**
|
After user confirms they're ready to continue, load the appropriate next step file based on the `lastStep` value from frontmatter.
|
||||||
Display: "Ready to continue with Step {nextStepNumber}?
|
|
||||||
|
|
||||||
**Select an Option:** [C] Continue to next step"
|
Remember: Do NOT load the next step until user explicitly selects [C] to continue!
|
||||||
|
|
||||||
#### 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.
|
|
||||||
|
|
|
||||||
|
|
@ -1,53 +1,16 @@
|
||||||
---
|
|
||||||
name: 'step-02-discovery'
|
|
||||||
description: 'Conduct project and domain discovery with data-driven classification'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Data Files
|
|
||||||
projectTypesCSV: '{workflow_path}/project-types.csv'
|
|
||||||
domainComplexityCSV: '{workflow_path}/domain-complexity.csv'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 2: Project & Domain Discovery
|
# Step 2: Project & Domain Discovery
|
||||||
|
|
||||||
**Progress: Step 2 of 11** - Next: Success Criteria Definition
|
**Progress: Step 2 of 10** - 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):
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||||
|
|
||||||
### Universal Rules:
|
|
||||||
|
|
||||||
- 🛑 NEVER generate content without user input
|
- 🛑 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
|
- 📖 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
|
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||||
|
- 💬 FOCUS on project classification and vision alignment only
|
||||||
### 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
|
- 🎯 LOAD classification data BEFORE starting discovery conversation
|
||||||
|
|
||||||
## EXECUTION PROTOCOLS:
|
## EXECUTION PROTOCOLS:
|
||||||
|
|
@ -68,8 +31,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {advancedElicitationTask}
|
- When 'A' selected: Execute {project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml
|
||||||
- When 'P' selected: Execute {partyModeWorkflow}
|
- When 'P' selected: Execute {project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -77,56 +40,40 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
- Current document and frontmatter from step 1 are available
|
- Current document and frontmatter from step 1 are available
|
||||||
- Input documents already loaded are in memory (product briefs, research, brainstorming, project docs)
|
- 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
|
- Classification CSV data will be loaded in this step only
|
||||||
- This will be the first content section appended to the document
|
- This will be the first content section appended to the document
|
||||||
|
- LEVERAGE existing input documents to accelerate discovery process
|
||||||
|
- installed_path = `{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd`
|
||||||
|
|
||||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
## YOUR TASK:
|
||||||
|
|
||||||
### 1. Read Document State from Frontmatter
|
Conduct comprehensive project discovery that leverages existing input documents while allowing user refinement, with data-driven classification and generate the first content section.
|
||||||
|
|
||||||
**CRITICAL FIRST ACTION:** Read the frontmatter from `{outputFile}` to get document counts.
|
## DISCOVERY SEQUENCE:
|
||||||
|
|
||||||
```
|
### 1. Load Classification Data
|
||||||
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 and prepare CSV data for intelligent classification:
|
||||||
|
|
||||||
- Load `{projectTypesCSV}` completely
|
- Load `{installed_path}/project-types.csv` completely
|
||||||
- Load `{domainComplexityCSV}` completely
|
- Load `{installed_path/domain-complexity.csv` completely
|
||||||
- Parse column structures and store in memory for this step only
|
- Parse column structures and store in memory for this step only
|
||||||
|
|
||||||
### 3. Begin Discovery Conversation
|
### 2. Leverage Input Documents for Head Start
|
||||||
|
|
||||||
**SELECT EXACTLY ONE DISCOVERY PATH based on document state:**
|
Analyze available input documents to provide informed discovery:
|
||||||
|
|
||||||
---
|
**Check Input Documents Available:**
|
||||||
|
|
||||||
#### PATH A: Has Product Brief (briefCount > 0)
|
- Product Briefs: {{number_of_briefs}} documents loaded
|
||||||
|
- Research Documents: {{number_of_research}} documents loaded
|
||||||
|
- Brainstorming Results: {{number_of_brainstorming}} documents loaded
|
||||||
|
- Project Documentation: {{number_of_project_docs}} documents loaded
|
||||||
|
|
||||||
**Use this path when:** `briefCount > 0`
|
**If Input Documents Exist:**
|
||||||
|
"As your PM peer, I've reviewed your existing project documentation and have a great starting point for our discovery. Let me share what I understand and you can refine or correct as needed.
|
||||||
|
|
||||||
"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 and research:**
|
||||||
|
|
||||||
**Based on your product brief:**
|
|
||||||
|
|
||||||
**What you're building:**
|
**What you're building:**
|
||||||
{{extracted_vision_from_brief}}
|
{{extracted_vision_from_brief}}
|
||||||
|
|
@ -140,47 +87,9 @@ Load and prepare CSV data for intelligent classification:
|
||||||
**What makes it special:**
|
**What makes it special:**
|
||||||
{{extracted_differentiator_from_brief}}
|
{{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?"
|
**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.**
|
**If No Input Documents:**
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
#### 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.
|
"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:**
|
**Tell me about what you want to create:**
|
||||||
|
|
@ -191,13 +100,9 @@ I'll help you create a PRD focused on these additions while respecting your exis
|
||||||
|
|
||||||
I'll be listening for signals to help us classify the project and domain so we can ask the right questions throughout our process."
|
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.**
|
### 3. Listen for Classification Signals
|
||||||
|
|
||||||
---
|
As the user describes their product, listen for and match against:
|
||||||
|
|
||||||
### 4. Listen for Classification Signals
|
|
||||||
|
|
||||||
As the user describes their product/feature, listen for and match against:
|
|
||||||
|
|
||||||
#### Project Type Signals
|
#### Project Type Signals
|
||||||
|
|
||||||
|
|
@ -217,14 +122,11 @@ Compare user description against `signals` from `domain-complexity.csv`:
|
||||||
- Examples: "payment,banking,trading" → fintech
|
- Examples: "payment,banking,trading" → fintech
|
||||||
- Store the matched `domain` and `complexity_level`
|
- Store the matched `domain` and `complexity_level`
|
||||||
|
|
||||||
### 5. Present Classification for Validation
|
### 4. Enhanced Classification with Document Context
|
||||||
|
|
||||||
**SELECT EXACTLY ONE CLASSIFICATION PRESENTATION based on document state:**
|
Leverage both user input and document analysis for classification:
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
#### IF PATH A was used (briefCount > 0):
|
|
||||||
|
|
||||||
|
**If Input Documents Exist:**
|
||||||
"Based on your product brief and our discussion, I'm classifying this as:
|
"Based on your product brief and our discussion, I'm classifying this as:
|
||||||
|
|
||||||
- **Project Type:** {project_type_from_brief_or_conversation}
|
- **Project Type:** {project_type_from_brief_or_conversation}
|
||||||
|
|
@ -234,33 +136,10 @@ Compare user description against `signals` from `domain-complexity.csv`:
|
||||||
From your brief, I detected these classification signals:
|
From your brief, I detected these classification signals:
|
||||||
{{classification_signals_from_brief}}
|
{{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?"
|
Combined with our conversation, this suggests the above classification. Does this sound right?"
|
||||||
|
|
||||||
---
|
**If No Input Documents:**
|
||||||
|
Present your classifications for user validation:
|
||||||
#### 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:
|
"Based on our conversation, I'm hearing this as:
|
||||||
|
|
||||||
- **Project Type:** {detected_project_type}
|
- **Project Type:** {detected_project_type}
|
||||||
|
|
@ -269,16 +148,11 @@ I'll ensure the PRD aligns with your existing architecture patterns. Does this c
|
||||||
|
|
||||||
Does this sound right to you? I want to make sure we're on the same page before diving deeper."
|
Does this sound right to you? I want to make sure we're on the same page before diving deeper."
|
||||||
|
|
||||||
---
|
### 5. Identify What Makes It Special
|
||||||
|
|
||||||
### 6. Identify What Makes It Special
|
Leverage input documents for initial understanding, then refine:
|
||||||
|
|
||||||
**SELECT EXACTLY ONE DIFFERENTIATOR DISCOVERY based on document state:**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
#### IF PATH A was used (briefCount > 0):
|
|
||||||
|
|
||||||
|
**If Input Documents Exist:**
|
||||||
"From your product brief, I understand that what makes this special is:
|
"From your product brief, I understand that what makes this special is:
|
||||||
{{extracted_differentiator_from_brief}}
|
{{extracted_differentiator_from_brief}}
|
||||||
|
|
||||||
|
|
@ -288,21 +162,7 @@ Let's explore this deeper:
|
||||||
- **Missing aspects:** Are there other differentiators that aren't captured in your brief?
|
- **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?"
|
- **Evolution:** How has your thinking on this evolved since you wrote the brief?"
|
||||||
|
|
||||||
---
|
**If No Input Documents:**
|
||||||
|
|
||||||
#### 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:
|
Ask focused questions to capture the product's unique value:
|
||||||
|
|
||||||
- "What would make users say 'this is exactly what I needed'?"
|
- "What would make users say 'this is exactly what I needed'?"
|
||||||
|
|
@ -310,9 +170,7 @@ Ask focused questions to capture the product's unique value:
|
||||||
- "What assumption about [problem space] are you challenging?"
|
- "What assumption about [problem space] are you challenging?"
|
||||||
- "If this succeeds wildly, what changed for your users?"
|
- "If this succeeds wildly, what changed for your users?"
|
||||||
|
|
||||||
---
|
### 6. Generate Executive Summary Content
|
||||||
|
|
||||||
### 7. Generate Executive Summary Content
|
|
||||||
|
|
||||||
Based on the conversation, prepare the content to append to the document:
|
Based on the conversation, prepare the content to append to the document:
|
||||||
|
|
||||||
|
|
@ -332,84 +190,75 @@ Based on the conversation, prepare the content to append to the document:
|
||||||
**Technical Type:** {project_type}
|
**Technical Type:** {project_type}
|
||||||
**Domain:** {domain}
|
**Domain:** {domain}
|
||||||
**Complexity:** {complexity_level}
|
**Complexity:** {complexity_level}
|
||||||
{if projectDocsCount > 0}**Project Context:** Brownfield - extending existing system{else}**Project Context:** Greenfield - new project{/if}
|
|
||||||
|
|
||||||
{project_classification_content}
|
{project_classification_content}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 8. Present Content and Menu
|
### 7. Present Content and Menu
|
||||||
|
|
||||||
Show the generated content to the user and present:
|
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.
|
"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:**
|
**Here's what I'll add to the document:**
|
||||||
|
|
||||||
[Show the complete markdown content from step 7]
|
[Show the complete markdown content from step 6]
|
||||||
|
|
||||||
**Select an Option:**
|
**What would you like to do?**
|
||||||
[A] Advanced Elicitation - Let's dive deeper and refine this content
|
[A] Advanced Elicitation - Let's dive deeper and refine this content
|
||||||
[P] Party Mode - Bring in different perspectives to improve this
|
[P] Party Mode - Bring in different perspectives to improve this
|
||||||
[C] Continue - Save this and move to Success Criteria Definition (Step 3 of 11)"
|
[C] Continue - Save this and move to Success Criteria Definition (Step 3 of 10)"
|
||||||
|
|
||||||
### 9. Handle Menu Selection
|
### 8. Handle Menu Selection
|
||||||
|
|
||||||
#### IF A (Advanced Elicitation):
|
#### If 'A' (Advanced Elicitation):
|
||||||
|
|
||||||
- Execute {advancedElicitationTask} with the current content
|
- Execute {project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml with the current content
|
||||||
- Process the enhanced content that comes back
|
- Process the enhanced content that comes back
|
||||||
- Ask user: "Accept these changes to the Executive Summary? (y/n)"
|
- 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 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 no: Keep original content, then return to A/P/C menu
|
||||||
|
|
||||||
#### IF P (Party Mode):
|
#### If 'P' (Party Mode):
|
||||||
|
|
||||||
- Execute {partyModeWorkflow} with the current content
|
- Execute {project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md with the current content
|
||||||
- Process the collaborative improvements that come back
|
- Process the collaborative improvements that come back
|
||||||
- Ask user: "Accept these changes to the Executive Summary? (y/n)"
|
- 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 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 no: Keep original content, then return to A/P/C menu
|
||||||
|
|
||||||
#### IF C (Continue):
|
#### If 'C' (Continue):
|
||||||
|
|
||||||
- Append the final content to `{outputFile}`
|
- Append the final content to `{output_folder}/prd.md`
|
||||||
- Update frontmatter: `stepsCompleted: [1, 2]`
|
- Update frontmatter: `stepsCompleted: [1, 2]`
|
||||||
- Load `{nextStepFile}`
|
- Load `./step-03-success.md`
|
||||||
|
|
||||||
## CRITICAL STEP COMPLETION NOTE
|
## APPEND TO DOCUMENT:
|
||||||
|
|
||||||
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.
|
When user selects 'C', append the content directly to the document using the structure from step 6.
|
||||||
|
|
||||||
---
|
## SUCCESS METRICS:
|
||||||
|
|
||||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
✅ Classification data loaded and used effectively
|
||||||
|
✅ 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
|
||||||
|
|
||||||
### ✅ SUCCESS:
|
## FAILURE MODES:
|
||||||
|
|
||||||
- Document counts read from frontmatter and announced
|
❌ Skipping classification data loading and guessing classifications
|
||||||
- Classification data loaded and used effectively
|
❌ Not leveraging existing input documents to accelerate discovery
|
||||||
- **Correct discovery path selected based on document counts**
|
❌ Not validating classifications with user before proceeding
|
||||||
- Input documents analyzed and leveraged for head start
|
❌ Generating executive summary without real user input
|
||||||
- User classifications validated and confirmed
|
❌ Missing the "what makes it special" discovery and refinement
|
||||||
- Product differentiator clearly identified and refined
|
❌ Not presenting A/P/C menu after content generation
|
||||||
- Executive summary content generated collaboratively with document context
|
❌ Appending content without user selecting 'C'
|
||||||
- A/P/C menu presented and handled correctly
|
|
||||||
- Content properly appended to document when C selected
|
|
||||||
- Frontmatter updated with stepsCompleted: [1, 2]
|
|
||||||
|
|
||||||
### ❌ SYSTEM FAILURE:
|
❌ **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
|
||||||
- **Not reading documentCounts from frontmatter first**
|
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||||
- **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:
|
## COMPLEXITY HANDLING:
|
||||||
|
|
||||||
|
|
@ -418,3 +267,9 @@ If `complexity_level = "high"`:
|
||||||
- Note the `suggested_workflow` and `web_searches` from domain CSV
|
- Note the `suggested_workflow` and `web_searches` from domain CSV
|
||||||
- Consider mentioning domain research needs in classification section
|
- Consider mentioning domain research needs in classification section
|
||||||
- Document complexity implications in project classification
|
- Document complexity implications in project classification
|
||||||
|
|
||||||
|
## NEXT STEP:
|
||||||
|
|
||||||
|
After user selects 'C' and content is saved to document, load `installed_path/steps/step-03-success.md` to define success criteria.
|
||||||
|
|
||||||
|
Remember: Do NOT proceed to step-03 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,6 @@
|
||||||
---
|
|
||||||
name: 'step-03-success'
|
|
||||||
description: 'Define comprehensive success criteria covering user, business, and technical success'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 3: Success Criteria Definition
|
# Step 3: Success Criteria Definition
|
||||||
|
|
||||||
**Progress: Step 3 of 11** - Next: User Journey Mapping
|
**Progress: Step 3 of 10** - Next: User Journey Mapping
|
||||||
|
|
||||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||||
|
|
||||||
|
|
@ -222,7 +204,7 @@ Show the generated content and present choices:
|
||||||
**What would you like to do?**
|
**What would you like to do?**
|
||||||
[A] Advanced Elicitation - Let's dive deeper and refine these success metrics
|
[A] Advanced Elicitation - Let's dive deeper and refine these success metrics
|
||||||
[P] Party Mode - Bring in different perspectives on success criteria
|
[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)"
|
[C] Continue - Save success criteria and move to User Journey Mapping (Step 4 of 10)"
|
||||||
|
|
||||||
### 9. Handle Menu Selection
|
### 9. Handle Menu Selection
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,3 @@
|
||||||
---
|
|
||||||
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_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 4: User Journey Mapping
|
# Step 4: User Journey Mapping
|
||||||
|
|
||||||
**Progress: Step 4 of 11** - Next: Domain Requirements
|
**Progress: Step 4 of 11** - Next: Domain Requirements
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-05-domain'
|
|
||||||
description: 'Explore domain-specific requirements for complex domains (optional step)'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Data Files
|
|
||||||
domainComplexityCSV: '{workflow_path}/domain-complexity.csv'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 5: Domain-Specific Exploration
|
# Step 5: Domain-Specific Exploration
|
||||||
|
|
||||||
**Progress: Step 5 of 11** - Next: Innovation Focus
|
**Progress: Step 5 of 11** - Next: Innovation Focus
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-06-innovation'
|
|
||||||
description: 'Detect and explore innovative aspects of the product (optional step)'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Data Files
|
|
||||||
projectTypesCSV: '{workflow_path}/project-types.csv'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 6: Innovation Discovery
|
# Step 6: Innovation Discovery
|
||||||
|
|
||||||
**Progress: Step 6 of 11** - Next: Project Type Analysis
|
**Progress: Step 6 of 11** - Next: Project Type Analysis
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-07-project-type'
|
|
||||||
description: 'Conduct project-type specific discovery using CSV-driven guidance'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Data Files
|
|
||||||
projectTypesCSV: '{workflow_path}/project-types.csv'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 7: Project-Type Deep Dive
|
# Step 7: Project-Type Deep Dive
|
||||||
|
|
||||||
**Progress: Step 7 of 11** - Next: Scoping
|
**Progress: Step 7 of 11** - Next: Scoping
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-08-scoping'
|
|
||||||
description: 'Define MVP boundaries and prioritize features across development phases'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 8: Scoping Exercise - MVP & Future Features
|
# Step 8: Scoping Exercise - MVP & Future Features
|
||||||
|
|
||||||
**Progress: Step 8 of 11** - Next: Functional Requirements
|
**Progress: Step 8 of 11** - Next: Functional Requirements
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-09-functional'
|
|
||||||
description: 'Synthesize all discovery into comprehensive functional requirements'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 9: Functional Requirements Synthesis
|
# Step 9: Functional Requirements Synthesis
|
||||||
|
|
||||||
**Progress: Step 9 of 11** - Next: Non-Functional Requirements
|
**Progress: Step 9 of 11** - Next: Non-Functional Requirements
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-10-nonfunctional'
|
|
||||||
description: 'Define quality attributes that matter for this specific product'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/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: '{output_folder}/prd.md'
|
|
||||||
|
|
||||||
# Task References
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 10: Non-Functional Requirements
|
# Step 10: Non-Functional Requirements
|
||||||
|
|
||||||
**Progress: Step 10 of 11** - Next: Complete PRD
|
**Progress: Step 10 of 11** - Next: Complete PRD
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,3 @@
|
||||||
---
|
|
||||||
name: 'step-11-complete'
|
|
||||||
description: 'Complete the PRD workflow, update status files, and suggest next steps'
|
|
||||||
|
|
||||||
# Path Definitions
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd'
|
|
||||||
|
|
||||||
# File References
|
|
||||||
thisStepFile: '{workflow_path}/steps/step-11-complete.md'
|
|
||||||
workflowFile: '{workflow_path}/workflow.md'
|
|
||||||
outputFile: '{output_folder}/prd.md'
|
|
||||||
---
|
|
||||||
|
|
||||||
# Step 11: Workflow Completion
|
# Step 11: Workflow Completion
|
||||||
|
|
||||||
**Final Step - Complete the PRD**
|
**Final Step - Complete the PRD**
|
||||||
|
|
|
||||||
|
|
@ -196,7 +196,7 @@ Your choice [1/2/3]:
|
||||||
|
|
||||||
- Mode: {{workflow_mode}}
|
- Mode: {{workflow_mode}}
|
||||||
- Scan Level: {{scan_level}}
|
- Scan Level: {{scan_level}}
|
||||||
- Output: {output_folder}/index.md and related files
|
- Output: {output_folder}/bmm-index.md and related files
|
||||||
|
|
||||||
{{#if status_file_found}}
|
{{#if status_file_found}}
|
||||||
**Status Updated:**
|
**Status Updated:**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue