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
|
||||
- `create-architecture` - Produce a Scale Adaptive Architecture
|
||||
- `validate-architecture` - Validate architecture document
|
||||
- `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.
|
||||
|
|
@ -643,6 +644,7 @@ Many workflows have optional validation workflows that perform independent revie
|
|||
| Validation | Agent | Validates |
|
||||
| -------------------------- | ----------- | ------------------------------------------ |
|
||||
| `implementation-readiness` | Architect | PRD + Architecture + Epics + UX (optional) |
|
||||
| `validate-architecture` | Architect | Architecture document |
|
||||
| `validate-design` | UX Designer | UX specification and artifacts |
|
||||
| `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 |
|
||||
| **UX Designer** | 🎨 | 2 (Planning) | create-ux-design, validate-design | UX-heavy projects, design |
|
||||
| **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 |
|
||||
| **TEA** | 🧪 | All Phases | framework, atdd, automate, trace, ci | Testing, quality assurance |
|
||||
| **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
|
||||
- **PRD** (BMad Method) can't reference existing code → Designs incompatible features
|
||||
- **create-architecture** can't build on existing structure → Suggests conflicting patterns
|
||||
- **create-story** can't provide existing pattern context → Stories lack integration guidance
|
||||
- **architecture** can't build on existing structure → Suggests conflicting patterns
|
||||
- **story-context** can't inject existing patterns → Dev agent rewrites working code
|
||||
- **dev-story** invents implementations → Breaks existing integrations
|
||||
|
||||
### Key Principle
|
||||
|
|
@ -370,7 +370,7 @@ When workflow-init asks about your work:
|
|||
|
||||
### 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
|
||||
|
||||
|
|
@ -446,7 +446,7 @@ Document in tech-spec/architecture:
|
|||
- Analyzes existing auth patterns
|
||||
- Confirms conventions
|
||||
- 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
|
||||
4. **Review:** Load DEV → `code-review`
|
||||
|
||||
|
|
@ -512,9 +512,12 @@ Document in tech-spec/architecture:
|
|||
- `product-brief` - Strategic document
|
||||
3. **Plan:** Load PM → `prd` (comprehensive FRs/NFRs)
|
||||
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
|
||||
- `implementation-readiness` - Final validation before implementation
|
||||
- `implementation-readiness` - Executive approval
|
||||
5. **Implement:** Phased sprint-based (50+ stories)
|
||||
|
||||
**Time:** 3-6 months
|
||||
|
|
@ -561,7 +564,7 @@ Document in tech-spec/architecture:
|
|||
**Solution:**
|
||||
|
||||
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:
|
||||
- Which existing modules to modify
|
||||
- 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)
|
||||
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
|
||||
5. Run retrospective to identify deviations early
|
||||
|
||||
|
|
@ -623,9 +626,9 @@ prd # BMad Method/Enterprise tracks
|
|||
|
||||
# Phase 3: Solutioning (BMad Method/Enterprise)
|
||||
# Architect agent:
|
||||
create-architecture # Create/extend architecture
|
||||
architecture # Create/extend architecture
|
||||
create-epics-and-stories # Create epics and stories (after architecture)
|
||||
implementation-readiness # Final validation
|
||||
implementation-readiness # Final validation
|
||||
|
||||
# Phase 4: Implementation (All Tracks)
|
||||
# SM agent:
|
||||
|
|
|
|||
|
|
@ -193,9 +193,15 @@ PRDs are for Level 2-4 projects with multiple features requiring product-level c
|
|||
|
||||
## 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?
|
||||
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ backlog → drafted → ready-for-dev → in-progress → review → done
|
|||
|
||||
- **backlog** - Story exists in epic but not yet drafted
|
||||
- **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
|
||||
- **review** - Implementation complete, awaiting code-review
|
||||
- **done** - Completed with DoD met
|
||||
|
|
@ -238,7 +238,7 @@ Markdown file containing story details: description, acceptance criteria, techni
|
|||
|
||||
### 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
|
||||
|
||||
|
|
|
|||
|
|
@ -313,10 +313,11 @@ flowchart LR
|
|||
direction TB
|
||||
D1[Per Epic:<br/>epic context]
|
||||
D2[Per Story:<br/>create-story]
|
||||
D3[dev-story]
|
||||
D4[code-review]
|
||||
D5[SM, DEV]
|
||||
D1 ~~~ D2 ~~~ D3 ~~~ D4 ~~~ D5
|
||||
D3[story-context]
|
||||
D4[dev-story]
|
||||
D5[code-review]
|
||||
D6[SM, DEV]
|
||||
D1 ~~~ D2 ~~~ D3 ~~~ D4 ~~~ D5 ~~~ D6
|
||||
end
|
||||
|
||||
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:
|
||||
|
||||
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
|
||||
4. **DONE** - Accepted and complete
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
---
|
||||
stepsCompleted: []
|
||||
inputDocuments: []
|
||||
documentCounts:
|
||||
briefs: 0
|
||||
research: 0
|
||||
brainstorming: 0
|
||||
projectDocs: 0
|
||||
workflowType: 'prd'
|
||||
lastStep: 0
|
||||
---
|
||||
|
||||
# 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
|
||||
|
||||
**Progress: Step 1 of 11** - Next: Project Discovery
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Initialize the PRD workflow by detecting continuation state, discovering input documents, and setting up the document structure for collaborative product requirement discovery.
|
||||
**Progress: Step 1 of 10** - Next: Project Discovery
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
|
||||
- 📖 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
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a product-focused PM facilitator collaborating with an expert peer
|
||||
- ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus only on initialization and setup - no content generation yet
|
||||
- 🚫 FORBIDDEN to look ahead to future steps or assume knowledge from them
|
||||
- 💬 Approach: Systematic setup with clear reporting to user
|
||||
- 🚪 Detect existing workflow state and handle continuation properly
|
||||
- 💬 FOCUS on initialization and setup only - don't look ahead to future steps
|
||||
- 🚪 DETECT existing workflow state and handle continuation properly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis of current state before taking any action
|
||||
- 💾 Initialize document structure and update frontmatter appropriately
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 💾 Initialize document and update frontmatter
|
||||
- 📖 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:
|
||||
|
||||
- Available context: Variables from workflow.md are available in memory
|
||||
- Focus: Workflow initialization and document setup only
|
||||
- Limits: Don't assume knowledge from other steps or create content yet
|
||||
- Dependencies: Configuration loaded from workflow.md initialization
|
||||
- Variables from workflow.md are available in memory
|
||||
- Previous context = what's in output document + frontmatter
|
||||
- Don't assume knowledge from other steps
|
||||
- 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:
|
||||
|
||||
**Workflow State Detection:**
|
||||
|
||||
- Look for file at `{outputFile}`
|
||||
- Look for file at `{output_folder}/prd.md`
|
||||
- If exists, read the complete file including frontmatter
|
||||
- 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`:
|
||||
|
||||
**Continuation Protocol:**
|
||||
|
||||
- **STOP immediately** and load `{continueStepFile}`
|
||||
- **STOP here** and load `./step-01b-continue.md` immediately
|
||||
- Do not proceed with any initialization tasks
|
||||
- Let step-01b handle all continuation logic
|
||||
- This is an auto-proceed situation - no user choice needed
|
||||
- Let step-01b handle the continuation logic
|
||||
|
||||
### 3. Fresh Workflow Setup (If No Document)
|
||||
|
||||
|
|
@ -90,18 +55,7 @@ If no document exists or no `stepsCompleted` in frontmatter:
|
|||
|
||||
#### A. Input Document 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
|
||||
```
|
||||
Discover and load context documents using smart discovery:
|
||||
|
||||
**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`
|
||||
4. If sharded folder exists: Load EVERY file in that folder completely
|
||||
5. Add discovered files to `inputDocuments` frontmatter
|
||||
6. **Update briefCount with number of files found**
|
||||
|
||||
**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`
|
||||
4. Load useful research files completely
|
||||
5. Add discovered files to `inputDocuments` frontmatter
|
||||
6. **Update researchCount with number of files found**
|
||||
|
||||
**Brainstorming Documents (Priority: Analysis → Main):**
|
||||
|
||||
1. Check analysis folder: `{output_folder}/analysis/brainstorming/*brainstorming*.md`
|
||||
2. If no analysis files: Try main folder: `{output_folder}/*brainstorming*.md`
|
||||
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`
|
||||
2. CRITICAL: Load index.md to understand what project files are available
|
||||
3. Read available files from index to understand existing project context
|
||||
4. This provides essential context for extending existing project with new PRD
|
||||
5. Add discovered files to `inputDocuments` frontmatter
|
||||
6. **Update projectDocsCount with number of files found (including index.md)**
|
||||
|
||||
**Loading Rules:**
|
||||
|
||||
|
|
@ -146,20 +96,13 @@ projectDocsCount = 0
|
|||
|
||||
#### B. Create Initial Document
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Copy the template from `{prdTemplate}` to `{outputFile}`
|
||||
- Initialize frontmatter with proper structure including document counts:
|
||||
Copy the template from `{installed_path}/prd-template.md` to `{output_folder}/prd.md`
|
||||
Initialize frontmatter with:
|
||||
|
||||
```yaml
|
||||
---
|
||||
stepsCompleted: []
|
||||
inputDocuments: []
|
||||
documentCounts:
|
||||
briefs: { { briefCount } }
|
||||
research: { { researchCount } }
|
||||
brainstorming: { { brainstormingCount } }
|
||||
projectDocs: { { projectDocsCount } }
|
||||
workflowType: 'prd'
|
||||
lastStep: 0
|
||||
project_name: '{{project_name}}'
|
||||
|
|
@ -168,76 +111,51 @@ date: '{{date}}'
|
|||
---
|
||||
```
|
||||
|
||||
#### C. Present Initialization Results
|
||||
#### C. Complete Initialization and Report
|
||||
|
||||
**Setup Report to User:**
|
||||
|
||||
"Welcome {{user_name}}! I've set up your PRD workspace for {{project_name}}.
|
||||
Complete setup and report to user:
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Created: `{outputFile}` from template
|
||||
- Created: `{output_folder}/prd.md` from template
|
||||
- Initialized frontmatter with workflow state
|
||||
|
||||
**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}
|
||||
- Research: {{researchCount}} files {if researchCount > 0}✓ loaded{else}(none found){/if}
|
||||
- Brainstorming: {{brainstormingCount}} files {if brainstormingCount > 0}✓ loaded{else}(none found){/if}
|
||||
- Project docs: {{projectDocsCount}} files {if projectDocsCount > 0}✓ loaded (brownfield project){else}(none found - greenfield project){/if}
|
||||
**Documents Found:**
|
||||
|
||||
- Product brief: {number of brief files loaded or "None found"}
|
||||
- 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"}
|
||||
|
||||
{if projectDocsCount > 0}
|
||||
📋 **Note:** This is a **brownfield project**. Your existing project documentation has been loaded. In the next step, I'll ask specifically about what new features or changes you want to add to your existing system.
|
||||
{/if}
|
||||
Do you have any other documents you'd like me to include, or shall we continue to the next step?
|
||||
|
||||
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}
|
||||
- IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
|
||||
- IF user asks questions: Answer and redisplay menu
|
||||
❌ **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
|
||||
|
||||
#### EXECUTION RULES:
|
||||
## NEXT STEP:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [frontmatter properly updated with stepsCompleted: [1] and documentCounts], will you then load and read fully `{nextStepFile}` to execute and begin project discovery.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Existing workflow detected and properly handed off to step-01b
|
||||
- Fresh workflow initialized with template and proper frontmatter
|
||||
- Input documents discovered and loaded using sharded-first logic
|
||||
- All discovered files tracked in frontmatter `inputDocuments`
|
||||
- **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.
|
||||
After user selects [C] to continue, load `{installed_path}/step/step-02-discovery.md` to begin the project discovery phase.
|
||||
|
|
|
|||
|
|
@ -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 GOAL:
|
||||
|
||||
Resume the PRD workflow from where it was left off, ensuring smooth continuation with full context restoration.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
|
||||
- 📖 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
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a product-focused PM facilitator collaborating with an expert peer
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ Resume workflow from exact point where it was interrupted
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 💬 FOCUS on understanding where we left off and continuing appropriately
|
||||
- 🚫 FORBIDDEN to modify content completed in previous steps
|
||||
- 📖 Only reload documents that were already tracked in `inputDocuments`
|
||||
- 🚪 RESUME workflow from exact point where it was interrupted
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis of current state before taking action
|
||||
- 💾 Keep existing frontmatter `stepsCompleted` values
|
||||
- 📖 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:
|
||||
|
||||
- Available context: Current document and frontmatter are already loaded
|
||||
- Focus: Workflow state analysis and continuation logic only
|
||||
- Limits: Don't assume knowledge beyond what's in the document
|
||||
- Dependencies: Existing workflow state from previous session
|
||||
- Current document and frontmatter are already loaded
|
||||
- Previous context = complete document + existing frontmatter
|
||||
- Input documents listed in frontmatter were already processed
|
||||
- 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
|
||||
|
||||
**State Assessment:**
|
||||
Review the frontmatter to understand:
|
||||
|
||||
- `stepsCompleted`: Which steps are already done
|
||||
- `lastStep`: The most recently completed step number
|
||||
- `inputDocuments`: What context was already loaded
|
||||
- `documentCounts`: briefs, research, brainstorming, projectDocs counts
|
||||
- All other frontmatter variables
|
||||
|
||||
### 2. Restore Context Documents
|
||||
### 2. Load All Input Documents
|
||||
|
||||
**Context Reloading:**
|
||||
Reload the context documents listed in `inputDocuments`:
|
||||
|
||||
- For each document in `inputDocuments`, load the complete file
|
||||
- This ensures you have full context for continuation
|
||||
- Don't discover new documents - only reload what was previously processed
|
||||
|
||||
### 3. Present Current Progress
|
||||
### 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}}.
|
||||
|
||||
**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?"
|
||||
|
||||
### 4. Determine Continuation Path
|
||||
### 4. Determine Next Step
|
||||
|
||||
**Next Step Logic:**
|
||||
Based on `lastStep` value, determine which step to load next:
|
||||
|
||||
- If `lastStep = 1` → Load `./step-02-discovery.md`
|
||||
- If `lastStep = 2` → Load `./step-03-success.md`
|
||||
- If `lastStep = 3` → Load `./step-04-journeys.md`
|
||||
- If `lastStep = 4` → Load `./step-05-domain.md`
|
||||
- If `lastStep = 5` → Load `./step-06-innovation.md`
|
||||
- If `lastStep = 6` → Load `./step-07-project-type.md`
|
||||
- If `lastStep = 7` → Load `./step-08-scoping.md`
|
||||
- If `lastStep = 8` → Load `./step-09-functional.md`
|
||||
- If `lastStep = 9` → Load `./step-10-nonfunctional.md`
|
||||
- If `lastStep = 10` → Load `./step-11-complete.md`
|
||||
- If `lastStep = 11` → Workflow already complete
|
||||
- Continue this pattern for all steps
|
||||
- If `lastStep = 10` → 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}}.
|
||||
|
||||
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:
|
||||
|
||||
|
|
@ -123,43 +116,8 @@ Would you like me to:
|
|||
|
||||
What would be most helpful?"
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
## NEXT STEP:
|
||||
|
||||
**If workflow not complete:**
|
||||
Display: "Ready to continue with Step {nextStepNumber}?
|
||||
After user confirms they're ready to continue, load the appropriate next step file based on the `lastStep` value from frontmatter.
|
||||
|
||||
**Select an Option:** [C] Continue to next step"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Load, read entire file, then execute the appropriate next step file based on `lastStep`
|
||||
- IF Any other comments or queries: respond and redisplay menu
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the appropriate next step file to resume the workflow.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All previous input documents successfully reloaded
|
||||
- Current workflow state accurately analyzed and presented
|
||||
- User confirms understanding of progress before continuation
|
||||
- Correct next step identified and prepared for loading
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Discovering new input documents instead of reloading existing ones
|
||||
- Modifying content from already completed steps
|
||||
- Loading wrong next step based on `lastStep` value
|
||||
- Proceeding without user confirmation of current state
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
Remember: Do NOT load the next step until user explicitly selects [C] to continue!
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
**Progress: Step 2 of 11** - Next: Success Criteria Definition
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Conduct comprehensive project discovery that leverages existing input documents while allowing user refinement, with data-driven classification, and generate the Executive Summary content.
|
||||
**Progress: Step 2 of 10** - Next: Success Criteria Definition
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
|
||||
- 📖 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
|
||||
|
||||
### 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)
|
||||
- 💬 FOCUS on project classification and vision alignment only
|
||||
- 🎯 LOAD classification data BEFORE starting discovery conversation
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
|
@ -68,8 +31,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {advancedElicitationTask}
|
||||
- When 'P' selected: Execute {partyModeWorkflow}
|
||||
- When 'A' selected: Execute {project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml
|
||||
- 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
|
||||
- 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
|
||||
- Input documents already loaded are in memory (product briefs, research, brainstorming, project docs)
|
||||
- **Document counts available in frontmatter `documentCounts`**
|
||||
- Classification CSV data will be loaded in this step only
|
||||
- This will be the first content section appended to the document
|
||||
- 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:
|
||||
|
||||
```
|
||||
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
|
||||
### 1. Load Classification Data
|
||||
|
||||
Load and prepare CSV data for intelligent classification:
|
||||
|
||||
- Load `{projectTypesCSV}` completely
|
||||
- Load `{domainComplexityCSV}` completely
|
||||
- Load `{installed_path}/project-types.csv` completely
|
||||
- Load `{installed_path/domain-complexity.csv` completely
|
||||
- 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:**
|
||||
**Based on your product brief and research:**
|
||||
|
||||
**What you're building:**
|
||||
{{extracted_vision_from_brief}}
|
||||
|
|
@ -140,47 +87,9 @@ Load and prepare CSV data for intelligent classification:
|
|||
**What makes it special:**
|
||||
{{extracted_differentiator_from_brief}}
|
||||
|
||||
{if projectDocsCount > 0}I also see you have existing project documentation. This PRD will define how new features integrate with your existing system architecture.{/if}
|
||||
|
||||
**How does this align with your vision?** Should we refine any of these points or are there important aspects I'm missing?"
|
||||
|
||||
**AFTER this message, SKIP to Section 4.**
|
||||
|
||||
---
|
||||
|
||||
#### PATH B: No Brief but Has Project Docs - Brownfield (briefCount == 0 AND projectDocsCount > 0)
|
||||
|
||||
**Use this path when:** `briefCount == 0 AND projectDocsCount > 0`
|
||||
|
||||
**NOTE:** Extract the following from loaded project documentation (index.md, architecture.md, project-overview.md, etc.):
|
||||
|
||||
"As your PM peer, I've reviewed your existing project documentation from document-project.
|
||||
|
||||
**Your existing system includes:**
|
||||
|
||||
- **Tech Stack:** {analyze index.md and architecture.md for technologies used}
|
||||
- **Architecture:** {summarize architecture patterns from architecture.md}
|
||||
- **Key Components:** {list main components from source-tree-analysis.md or project-overview.md}
|
||||
|
||||
This PRD will define **new features or changes** to add to this existing codebase.
|
||||
|
||||
**Tell me about what you want to add or change:**
|
||||
|
||||
- What new capability or feature do you want to build?
|
||||
- What problem will this solve for your users?
|
||||
- How should it integrate with the existing system?
|
||||
- Is this adding new functionality, improving existing features, or fixing issues?
|
||||
|
||||
I'll help you create a PRD focused on these additions while respecting your existing patterns and architecture."
|
||||
|
||||
**AFTER this message, SKIP to Section 4.**
|
||||
|
||||
---
|
||||
|
||||
#### PATH C: No Documents - Greenfield (briefCount == 0 AND projectDocsCount == 0)
|
||||
|
||||
**Use this path when:** `briefCount == 0 AND projectDocsCount == 0`
|
||||
|
||||
**If No Input Documents:**
|
||||
"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:**
|
||||
|
|
@ -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."
|
||||
|
||||
**AFTER this message, continue to Section 4.**
|
||||
### 3. Listen for Classification Signals
|
||||
|
||||
---
|
||||
|
||||
### 4. Listen for Classification Signals
|
||||
|
||||
As the user describes their product/feature, listen for and match against:
|
||||
As the user describes their product, listen for and match against:
|
||||
|
||||
#### Project Type Signals
|
||||
|
||||
|
|
@ -217,14 +122,11 @@ Compare user description against `signals` from `domain-complexity.csv`:
|
|||
- Examples: "payment,banking,trading" → fintech
|
||||
- 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:**
|
||||
|
||||
---
|
||||
|
||||
#### IF PATH A was used (briefCount > 0):
|
||||
Leverage both user input and document analysis for classification:
|
||||
|
||||
**If Input Documents Exist:**
|
||||
"Based on your product brief and our discussion, I'm classifying this as:
|
||||
|
||||
- **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:
|
||||
{{classification_signals_from_brief}}
|
||||
|
||||
{if projectDocsCount > 0}Your existing project documentation also indicates:
|
||||
|
||||
- **Existing Tech Stack:** {from architecture.md or index.md}
|
||||
- **Architecture Pattern:** {from architecture.md}
|
||||
|
||||
I'll ensure the new features align with your existing system.{/if}
|
||||
|
||||
Combined with our conversation, this suggests the above classification. Does this sound right?"
|
||||
|
||||
---
|
||||
|
||||
#### IF PATH B was used (briefCount == 0 AND projectDocsCount > 0):
|
||||
|
||||
"Based on your existing project documentation and our discussion about new features:
|
||||
|
||||
- **Existing Project Type:** {detected from project docs - e.g., web_app, api_backend}
|
||||
- **Tech Stack:** {from architecture.md or index.md}
|
||||
- **New Feature Type:** {from user's description of what they want to add}
|
||||
- **Domain:** {detected_domain}
|
||||
- **Complexity:** {complexity_level}
|
||||
|
||||
I'll ensure the PRD aligns with your existing architecture patterns. Does this classification sound right?"
|
||||
|
||||
---
|
||||
|
||||
#### IF PATH C was used (briefCount == 0 AND projectDocsCount == 0):
|
||||
|
||||
**If No Input Documents:**
|
||||
Present your classifications for user validation:
|
||||
"Based on our conversation, I'm hearing this as:
|
||||
|
||||
- **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."
|
||||
|
||||
---
|
||||
### 5. Identify What Makes It Special
|
||||
|
||||
### 6. Identify What Makes It Special
|
||||
|
||||
**SELECT EXACTLY ONE DIFFERENTIATOR DISCOVERY based on document state:**
|
||||
|
||||
---
|
||||
|
||||
#### IF PATH A was used (briefCount > 0):
|
||||
Leverage input documents for initial understanding, then refine:
|
||||
|
||||
**If Input Documents Exist:**
|
||||
"From your product brief, I understand that what makes this special is:
|
||||
{{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?
|
||||
- **Evolution:** How has your thinking on this evolved since you wrote the brief?"
|
||||
|
||||
---
|
||||
|
||||
#### IF PATH B was used (briefCount == 0 AND projectDocsCount > 0):
|
||||
|
||||
"Your existing system already provides certain capabilities. Now let's define what makes these **new additions** special:
|
||||
|
||||
- What gap in your current system will this fill?
|
||||
- How will this improve the experience for your existing users?
|
||||
- What's the key insight that led you to prioritize this addition?
|
||||
- What would make users say 'finally, this is what we needed'?"
|
||||
|
||||
---
|
||||
|
||||
#### IF PATH C was used (briefCount == 0 AND projectDocsCount == 0):
|
||||
|
||||
**If No Input Documents:**
|
||||
Ask focused questions to capture the product's unique value:
|
||||
|
||||
- "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?"
|
||||
- "If this succeeds wildly, what changed for your users?"
|
||||
|
||||
---
|
||||
|
||||
### 7. Generate Executive Summary Content
|
||||
### 6. Generate Executive Summary Content
|
||||
|
||||
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}
|
||||
**Domain:** {domain}
|
||||
**Complexity:** {complexity_level}
|
||||
{if projectDocsCount > 0}**Project Context:** Brownfield - extending existing system{else}**Project Context:** Greenfield - new project{/if}
|
||||
|
||||
{project_classification_content}
|
||||
```
|
||||
|
||||
### 8. Present Content and Menu
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted our Executive Summary based on our conversation. This will be the first section of your PRD.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 7]
|
||||
[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
|
||||
[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
|
||||
- Ask user: "Accept these changes to the Executive Summary? (y/n)"
|
||||
- If yes: Update the content with improvements, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
#### 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
|
||||
- Ask user: "Accept these changes to the Executive Summary? (y/n)"
|
||||
- If yes: Update the content with improvements, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Append the final content to `{output_folder}/prd.md`
|
||||
- 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
|
||||
- Classification data loaded and used effectively
|
||||
- **Correct discovery path selected based on document counts**
|
||||
- Input documents analyzed and leveraged for head start
|
||||
- User classifications validated and confirmed
|
||||
- Product differentiator clearly identified and refined
|
||||
- Executive summary content generated collaboratively with document context
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Content properly appended to document when C selected
|
||||
- Frontmatter updated with stepsCompleted: [1, 2]
|
||||
❌ 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'
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- **Not reading documentCounts from frontmatter first**
|
||||
- **Executing multiple discovery paths instead of exactly one**
|
||||
- Skipping classification data loading and guessing classifications
|
||||
- Not leveraging existing input documents to accelerate discovery
|
||||
- Not validating classifications with user before proceeding
|
||||
- Generating executive summary without real user input
|
||||
- Missing the "what makes it special" discovery and refinement
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Appending content without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
❌ **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
|
||||
|
||||
## COMPLEXITY HANDLING:
|
||||
|
||||
|
|
@ -418,3 +267,9 @@ If `complexity_level = "high"`:
|
|||
- Note the `suggested_workflow` and `web_searches` from domain CSV
|
||||
- Consider mentioning domain research needs in classification section
|
||||
- Document complexity implications in project classification
|
||||
|
||||
## 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
|
||||
|
||||
**Progress: Step 3 of 11** - Next: User Journey Mapping
|
||||
**Progress: Step 3 of 10** - Next: User Journey Mapping
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
|
|
@ -222,7 +204,7 @@ Show the generated content and present choices:
|
|||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Let's dive deeper and refine these success metrics
|
||||
[P] Party Mode - Bring in different perspectives on success criteria
|
||||
[C] Continue - Save success criteria and move to User Journey Mapping (Step 4 of 11)"
|
||||
[C] Continue - Save success criteria and move to User Journey Mapping (Step 4 of 10)"
|
||||
|
||||
### 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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**Final Step - Complete the PRD**
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ Your choice [1/2/3]:
|
|||
|
||||
- Mode: {{workflow_mode}}
|
||||
- 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}}
|
||||
**Status Updated:**
|
||||
|
|
|
|||
Loading…
Reference in New Issue