mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-01-30 04:32:02 +00:00
Compare commits
9 Commits
e99a02f409
...
prd-standa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a49ec22c40 | ||
|
|
6b132f9778 | ||
|
|
7f7a83848b | ||
|
|
150d39ca77 | ||
|
|
3ec8409e70 | ||
|
|
259764c7d9 | ||
|
|
2b7e542a8f | ||
|
|
27538e6ff2 | ||
|
|
fac1308e97 |
@@ -6,8 +6,8 @@ description: 'Initialize quiz game with mode selection and category choice'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-q1.md'
|
||||
thisStepFile: './step-01-init.md'
|
||||
nextStepFile: './step-02-q1.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
csvTemplate: '{workflow_path}/templates/csv-headers.template'
|
||||
@@ -146,7 +146,7 @@ Display: **Starting your quiz adventure...**
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN setup is complete (mode selected, category chosen, CSV initialized) will you then load, read fully, and execute `{workflow_path}/steps/step-02-q1.md` to begin the first question.
|
||||
ONLY WHEN setup is complete (mode selected, category chosen, CSV initialized) will you then load, read fully, and execute `./step-02-q1.md` to begin the first question.
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 1 - Level 1 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-q1.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-q2.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-02-q1.md'
|
||||
nextStepFile: './step-03-q2.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
# Task References
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 2 - Level 2 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-q2.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-q3.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-03-q2.md'
|
||||
nextStepFile: './step-04-q3.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 3 - Level 3 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-q3.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-q3.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-04-q3.md'
|
||||
nextStepFile: './step-04-q3.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 4 - Level 4 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-q4.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-q4.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-05-q4.md'
|
||||
nextStepFile: './step-05-q4.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 5 - Level 5 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-q5.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-q5.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-06-q5.md'
|
||||
nextStepFile: './step-06-q5.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 6 - Level 6 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-q6.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-q6.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-07-q6.md'
|
||||
nextStepFile: './step-07-q6.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 7 - Level 7 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-q7.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-q7.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-08-q7.md'
|
||||
nextStepFile: './step-08-q7.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 8 - Level 8 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-09-q8.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-09-q8.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-09-q8.md'
|
||||
nextStepFile: './step-09-q8.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 9 - Level 9 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-10-q9.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-10-q9.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-10-q9.md'
|
||||
nextStepFile: './step-10-q9.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Question 10 - Level 10 difficulty'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-11-q10.md'
|
||||
nextStepFile: '{workflow_path}/steps/results.md'
|
||||
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
thisStepFile: './step-11-q10.md'
|
||||
nextStepFile: './results.md'
|
||||
resultsStepFile: './step-12-results.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
---
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Final results and celebration'
|
||||
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-12-results.md'
|
||||
initStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
thisStepFile: './step-12-results.md'
|
||||
initStepFile: './step-01-init.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
csvFile: '{project-root}/BMad-quiz-results.csv'
|
||||
# Task References
|
||||
|
||||
@@ -51,4 +51,4 @@ Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute {workflow_path}/steps/step-01-init.md to begin the workflow.
|
||||
Load, read the full file and then execute ./step-01-init.md to begin the workflow.
|
||||
|
||||
@@ -40,6 +40,10 @@ agent:
|
||||
exec: "{project-root}/_bmad/bmb/workflows/workflow/workflow.md"
|
||||
description: "[VW] Run validation check on BMAD workflows against best practices"
|
||||
|
||||
- trigger: MV or fuzzy match on validate-max-parallel-workflow
|
||||
exec: "{project-root}/_bmad/bmb/workflows/workflow/workflow.md"
|
||||
description: "[MV] Run validation checks in MAX-PARALLEL mode against a workflow (requires a tool that supports Parallel Sub-Processes)"
|
||||
|
||||
- trigger: RW or fuzzy match on convert-or-rework-workflow
|
||||
exec: "{project-root}/_bmad/bmb/workflows/workflow/workflow.md"
|
||||
description: "[RW] Rework a Workflow to a V6 Compliant Version"
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# Reference Examples
|
||||
|
||||
Reference models of best practices for agents, workflows, and whole modules.
|
||||
@@ -1,18 +0,0 @@
|
||||
category,restriction,considerations,alternatives,notes
|
||||
Allergy,Nuts,Severe allergy, check labels carefully,Seeds, sunflower seed butter
|
||||
Allergy,Shellfish,Cross-reactivity with some fish,Fin fish, vegetarian proteins
|
||||
Allergy,Dairy,Calcium and vitamin D needs,Almond milk, fortified plant milks
|
||||
Allergy,Soy,Protein source replacement,Legumes, quinoa, seitan
|
||||
Allergy,Gluten,Celiac vs sensitivity,Quinoa, rice, certified gluten-free
|
||||
Medical,Diabetes,Carbohydrate timing and type,Fiber-rich foods, low glycemic
|
||||
Medical,Hypertension,Sodium restriction,Herbs, spices, salt-free seasonings
|
||||
Medical,IBS,FODMAP triggers,Low FODMAP vegetables, soluble fiber
|
||||
Ethical,Vegetarian,Complete protein combinations,Quinoa, buckwheat, hemp seeds
|
||||
Ethical,Vegan,B12 supplementation mandatory,Nutritional yeast, fortified foods
|
||||
Ethical,Halal,Meat sourcing requirements,Halal-certified products
|
||||
Ethical,Kosher,Dairy-meat separation,Parve alternatives
|
||||
Intolerance,Lactose,Dairy digestion issues,Lactase pills, aged cheeses
|
||||
Intolerance,FODMAP,Carbohydrate malabsorption,Low FODMAP fruits/veg
|
||||
Preference,Dislikes,Texture/flavor preferences,Similar texture alternatives
|
||||
Preference,Budget,Cost-effective options,Bulk buying, seasonal produce
|
||||
Preference,Convenience,Time-saving options,Pre-cut vegetables, frozen produce
|
||||
|
@@ -1,16 +0,0 @@
|
||||
goal,activity_level,multiplier,protein_ratio,protein_min,protein_max,fat_ratio,carb_ratio
|
||||
weight_loss,sedentary,1.2,0.3,1.6,2.2,0.35,0.35
|
||||
weight_loss,light,1.375,0.35,1.8,2.5,0.30,0.35
|
||||
weight_loss,moderate,1.55,0.4,2.0,2.8,0.30,0.30
|
||||
weight_loss,active,1.725,0.4,2.2,3.0,0.25,0.35
|
||||
weight_loss,very_active,1.9,0.45,2.5,3.3,0.25,0.30
|
||||
maintenance,sedentary,1.2,0.25,0.8,1.2,0.35,0.40
|
||||
maintenance,light,1.375,0.25,1.0,1.4,0.35,0.40
|
||||
maintenance,moderate,1.55,0.3,1.2,1.6,0.35,0.35
|
||||
maintenance,active,1.725,0.3,1.4,1.8,0.30,0.40
|
||||
maintenance,very_active,1.9,0.35,1.6,2.2,0.30,0.35
|
||||
muscle_gain,sedentary,1.2,0.35,1.8,2.5,0.30,0.35
|
||||
muscle_gain,light,1.375,0.4,2.0,2.8,0.30,0.30
|
||||
muscle_gain,moderate,1.55,0.4,2.2,3.0,0.25,0.35
|
||||
muscle_gain,active,1.725,0.45,2.5,3.3,0.25,0.30
|
||||
muscle_gain,very_active,1.9,0.45,2.8,3.5,0.25,0.30
|
||||
|
@@ -1,28 +0,0 @@
|
||||
category,name,prep_time,cook_time,total_time,protein_per_serving,complexity,meal_type,restrictions_friendly,batch_friendly
|
||||
Protein,Grilled Chicken Breast,10,20,30,35,beginner,lunch/dinner,all,yes
|
||||
Protein,Baked Salmon,5,15,20,22,beginner,lunch/dinner,gluten-free,no
|
||||
Protein,Lentils,0,25,25,18,beginner,lunch/dinner,vegan,yes
|
||||
Protein,Ground Turkey,5,15,20,25,beginner,lunch/dinner,all,yes
|
||||
Protein,Tofu Stir-fry,10,15,25,20,intermediate,lunch/dinner,vegan,no
|
||||
Protein,Eggs Scrambled,5,5,10,12,beginner,breakfast,vegetarian,no
|
||||
Protein,Greek Yogurt,0,0,0,17,beginner,snack,vegetarian,no
|
||||
Carb,Quinoa,5,15,20,8,beginner,lunch/dinner,gluten-free,yes
|
||||
Carb,Brown Rice,5,40,45,5,beginner,lunch/dinner,gluten-free,yes
|
||||
Carb,Sweet Potato,5,45,50,4,beginner,lunch/dinner,all,yes
|
||||
Carb,Oatmeal,2,5,7,5,beginner,breakfast,gluten-free,yes
|
||||
Carb,Whole Wheat Pasta,2,10,12,7,beginner,lunch/dinner,vegetarian,no
|
||||
Veggie,Broccoli,5,10,15,3,beginner,lunch/dinner,all,yes
|
||||
Veggie,Spinach,2,3,5,3,beginner,lunch/dinner,all,no
|
||||
Veggie,Bell Peppers,5,10,15,1,beginner,lunch/dinner,all,no
|
||||
Veggie,Kale,5,5,10,3,beginner,lunch/dinner,all,no
|
||||
Veggie,Avocado,2,0,2,2,beginner,snack/lunch,all,no
|
||||
Snack,Almonds,0,0,0,6,beginner,snack,gluten-free,no
|
||||
Snack,Apple with PB,2,0,2,4,beginner,snack,vegetarian,no
|
||||
Snack,Protein Smoothie,5,0,5,25,beginner,snack,all,no
|
||||
Snack,Hard Boiled Eggs,0,12,12,6,beginner,snack,vegetarian,yes
|
||||
Breakfast,Overnight Oats,5,0,5,10,beginner,breakfast,vegan,yes
|
||||
Breakfast,Protein Pancakes,10,10,20,20,intermediate,breakfast,vegetarian,no
|
||||
Breakfast,Veggie Omelet,5,10,15,18,intermediate,breakfast,vegetarian,no
|
||||
Quick Meal,Chicken Salad,10,0,10,30,beginner,lunch,gluten-free,no
|
||||
Quick Meal,Tuna Wrap,5,0,5,20,beginner,lunch,gluten-free,no
|
||||
Quick Meal,Buddha Bowl,15,0,15,15,intermediate,lunch,vegan,no
|
||||
|
@@ -1,177 +0,0 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize the nutrition plan workflow by detecting continuation state and creating output document'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-profile.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
templateFile: '{workflow_path}/templates/nutrition-plan.md'
|
||||
continueFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
# Template References
|
||||
# This step doesn't use content templates, only the main template
|
||||
---
|
||||
|
||||
# Step 1: Workflow Initialization
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and structured planning, user brings their personal preferences and lifestyle constraints
|
||||
- ✅ Together we produce something better than the sum of our own parts
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on initialization and setup
|
||||
- 🚫 FORBIDDEN to look ahead to future steps
|
||||
- 💬 Handle initialization professionally
|
||||
- 🚪 DETECT existing workflow state and handle continuation properly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show 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 setup is complete
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- 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
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To initialize the Nutrition Plan workflow by detecting continuation state, creating the output document, and preparing for the first collaborative session.
|
||||
|
||||
## INITIALIZATION SEQUENCE:
|
||||
|
||||
### 1. Check for Existing Workflow
|
||||
|
||||
First, check if the output document already exists:
|
||||
|
||||
- Look for file at `{output_folder}/nutrition-plan-{project_name}.md`
|
||||
- If exists, read the complete file including frontmatter
|
||||
- If not exists, this is a fresh workflow
|
||||
|
||||
### 2. Handle Continuation (If Document Exists)
|
||||
|
||||
If the document exists and has frontmatter with `stepsCompleted`:
|
||||
|
||||
- **STOP here** and load `./step-01b-continue.md` immediately
|
||||
- Do not proceed with any initialization tasks
|
||||
- Let step-01b handle the continuation logic
|
||||
|
||||
### 3. Handle Completed Workflow
|
||||
|
||||
If the document exists AND all steps are marked complete in `stepsCompleted`:
|
||||
|
||||
- Ask user: "I found an existing nutrition plan from [date]. Would you like to:
|
||||
1. Create a new nutrition plan
|
||||
2. Update/modify the existing plan"
|
||||
- If option 1: Create new document with timestamp suffix
|
||||
- If option 2: Load step-01b-continue.md
|
||||
|
||||
### 4. Fresh Workflow Setup (If No Document)
|
||||
|
||||
If no document exists or no `stepsCompleted` in frontmatter:
|
||||
|
||||
#### A. Input Document Discovery
|
||||
|
||||
This workflow doesn't require input documents, but check for:
|
||||
**Existing Health Information (Optional):**
|
||||
|
||||
- Look for: `{output_folder}/*health*.md`
|
||||
- Look for: `{output_folder}/*goals*.md`
|
||||
- If found, load completely and add to `inputDocuments` frontmatter
|
||||
|
||||
#### B. Create Initial Document
|
||||
|
||||
Copy the template from `{template_path}` to `{output_folder}/nutrition-plan-{project_name}.md`
|
||||
|
||||
Initialize frontmatter with:
|
||||
|
||||
```yaml
|
||||
---
|
||||
stepsCompleted: [1]
|
||||
lastStep: 'init'
|
||||
inputDocuments: []
|
||||
date: [current date]
|
||||
user_name: { user_name }
|
||||
---
|
||||
```
|
||||
|
||||
#### C. Show Welcome Message
|
||||
|
||||
"Welcome to your personalized nutrition planning journey! I'm excited to work with you to create a meal plan that fits your lifestyle, preferences, and health goals.
|
||||
|
||||
Let's begin by getting to know you and your nutrition goals."
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- Document created from template
|
||||
- Frontmatter initialized with step 1 marked complete
|
||||
- User welcomed to the process
|
||||
- Ready to proceed to step 2
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Proceeding with step 2 without document initialization
|
||||
- Not checking for existing documents properly
|
||||
- Creating duplicate documents
|
||||
- Skipping welcome message
|
||||
|
||||
### 7. Present MENU OPTIONS
|
||||
|
||||
Display: **Proceeding to user profile collection...**
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- This is an initialization step with no user choices
|
||||
- Proceed directly to next step after setup
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- After setup completion, immediately load, read entire file, then execute `{workflow_path}/step-02-profile.md` to begin user profile collection
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Document created from template
|
||||
- update frontmatter `stepsCompleted` to add 4 at the end of the array before loading next step
|
||||
- Frontmatter initialized with `stepsCompleted: [1]`
|
||||
- User welcomed to the process
|
||||
- Ready to proceed to step 2
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN initialization setup is complete and document is created, will you then immediately load, read entire file, then execute `{workflow_path}/step-02-profile.md` to begin user profile collection.
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Proceeding with step 2 without document initialization
|
||||
- Not checking for existing documents properly
|
||||
- Creating duplicate documents
|
||||
- Skipping welcome message
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,121 +0,0 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Handle workflow continuation from previous session'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
---
|
||||
|
||||
# Step 1B: Workflow Continuation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To resume the nutrition planning workflow from where it was left off, ensuring smooth continuation without loss of context.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and structured planning, user brings their personal preferences and lifestyle constraints
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on analyzing and resuming workflow state
|
||||
- 🚫 FORBIDDEN to modify content during this step
|
||||
- 💬 Maintain continuity with previous sessions
|
||||
- 🚪 DETECT exact continuation point from frontmatter of incomplete file {outputFile}
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis of current state before taking action
|
||||
- 💾 Keep existing frontmatter `stepsCompleted` values
|
||||
- 📖 Review the template content already generated
|
||||
- 🚫 FORBIDDEN to modify content completed in previous steps
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Current nutrition-plan.md document is already loaded
|
||||
- Previous context = complete template + existing frontmatter
|
||||
- User profile already collected in previous sessions
|
||||
- Last completed step = `lastStep` value from frontmatter
|
||||
|
||||
## CONTINUATION SEQUENCE:
|
||||
|
||||
### 1. Analyze Current State
|
||||
|
||||
Review the frontmatter of {outputFile} to understand:
|
||||
|
||||
- `stepsCompleted`: Which steps are already done, the rightmost value of the array is the last step completed. For example stepsCompleted: [1, 2, 3] would mean that steps 1, then 2, and then 3 were finished.
|
||||
|
||||
### 2. Read the full step of every completed step
|
||||
|
||||
- read each step file that corresponds to the stepsCompleted > 1.
|
||||
|
||||
EXAMPLE: In the example `stepsCompleted: [1, 2, 3]` your would find the step 2 file by file name (step-02-profile.md) and step 3 file (step-03-assessment.md). the last file in the array is the last one completed, so you will follow the instruction to know what the next step to start processing is. reading that file would for example show that the next file is `steps/step-04-strategy.md`.
|
||||
|
||||
### 3. Review the output completed previously
|
||||
|
||||
In addition to reading ONLY each step file that was completed, you will then read the {outputFile} to further understand what is done so far.
|
||||
|
||||
### 4. Welcome Back Dialog
|
||||
|
||||
"Welcome back! I see we've completed [X] steps of your nutrition plan. We last worked on [brief description]. Are you ready to continue with [next step]?"
|
||||
|
||||
### 5. Resumption Protocols
|
||||
|
||||
- Briefly summarize progress made
|
||||
- Confirm any changes since last session
|
||||
- Validate that user is still aligned with goals
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
Display: **Resuming workflow - Select an Option:** [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: follow the suggestion of the last completed step reviewed to continue as it suggested
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and continuation analysis is complete, will you then update frontmatter and load, read entire file, then execute the appropriate next step file.
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Correctly identified last completed step
|
||||
- User confirmed readiness to continue
|
||||
- Frontmatter updated with continuation date
|
||||
- Workflow resumed at appropriate step
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping analysis of existing state
|
||||
- Modifying content from previous steps
|
||||
- Loading wrong next step
|
||||
- Not updating frontmatter properly
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,165 +0,0 @@
|
||||
---
|
||||
name: 'step-02-profile'
|
||||
description: 'Gather comprehensive user profile information through collaborative conversation'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
thisStepFile: '{workflow_path}/steps/step-02-profile.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-assessment.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
profileTemplate: '{workflow_path}/templates/profile-section.md'
|
||||
---
|
||||
|
||||
# Step 2: User Profile & Goals Collection
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To gather comprehensive user profile information through collaborative conversation that will inform the creation of a personalized nutrition plan tailored to their lifestyle, preferences, and health objectives.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and structured planning
|
||||
- ✅ User brings their personal preferences and lifestyle constraints
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on collecting profile and goal information
|
||||
- 🚫 FORBIDDEN to provide meal recommendations or nutrition advice in this step
|
||||
- 💬 Ask questions conversationally, not like a form
|
||||
- 🚫 DO NOT skip any profile section - each affects meal recommendations
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Engage in natural conversation to gather profile information
|
||||
- 💾 After collecting all information, append to {outputFile}
|
||||
- 📖 Update frontmatter `stepsCompleted` to add 2 at the end of the array before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until user selects 'C' and content is saved
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Document and frontmatter are already loaded from initialization
|
||||
- Focus ONLY on collecting user profile and goals
|
||||
- Don't provide meal recommendations in this step
|
||||
- This is about understanding, not prescribing
|
||||
|
||||
## PROFILE COLLECTION PROCESS:
|
||||
|
||||
### 1. Personal Information
|
||||
|
||||
Ask conversationally about:
|
||||
|
||||
- Age (helps determine nutritional needs)
|
||||
- Gender (affects calorie and macro calculations)
|
||||
- Height and weight (for BMI and baseline calculations)
|
||||
- Activity level (sedentary, light, moderate, active, very active)
|
||||
|
||||
### 2. Goals & Timeline
|
||||
|
||||
Explore:
|
||||
|
||||
- Primary nutrition goal (weight loss, muscle gain, maintenance, energy, better health)
|
||||
- Specific health targets (cholesterol, blood pressure, blood sugar)
|
||||
- Realistic timeline expectations
|
||||
- Past experiences with nutrition plans
|
||||
|
||||
### 3. Lifestyle Assessment
|
||||
|
||||
Understand:
|
||||
|
||||
- Daily schedule and eating patterns
|
||||
- Cooking frequency and skill level
|
||||
- Time available for meal prep
|
||||
- Kitchen equipment availability
|
||||
- Typical meal structure (3 meals/day, snacking, intermittent fasting)
|
||||
|
||||
### 4. Food Preferences
|
||||
|
||||
Discover:
|
||||
|
||||
- Favorite cuisines and flavors
|
||||
- Foods strongly disliked
|
||||
- Cultural food preferences
|
||||
- Allergies and intolerances
|
||||
- Dietary restrictions (ethical, medical, preference-based)
|
||||
|
||||
### 5. Practical Considerations
|
||||
|
||||
Discuss:
|
||||
|
||||
- Weekly grocery budget
|
||||
- Access to grocery stores
|
||||
- Family/household eating considerations
|
||||
- Social eating patterns
|
||||
|
||||
## CONTENT TO APPEND TO DOCUMENT:
|
||||
|
||||
After collecting all profile information, append to {outputFile}:
|
||||
|
||||
Load and append the content from {profileTemplate}
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated, will you then load, read entire file, then execute {nextStepFile} to execute and begin dietary needs assessment step.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Profile collected through conversation (not interrogation)
|
||||
- All user preferences documented
|
||||
- Content appended to {outputFile}
|
||||
- {outputFile} frontmatter updated with step completion
|
||||
- Menu presented after completing every other step first in order and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Generating content without user input
|
||||
- Skipping profile sections
|
||||
- Providing meal recommendations in this step
|
||||
- Proceeding to next step without 'C' selection
|
||||
- Not updating document frontmatter
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,154 +0,0 @@
|
||||
---
|
||||
name: 'step-03-assessment'
|
||||
description: 'Analyze nutritional requirements, identify restrictions, and calculate target macros'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-assessment.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-strategy.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Data References
|
||||
dietaryRestrictionsDB: '{workflow_path}/data/dietary-restrictions.csv'
|
||||
macroCalculatorDB: '{workflow_path}/data/macro-calculator.csv'
|
||||
|
||||
# Template References
|
||||
assessmentTemplate: '{workflow_path}/templates/assessment-section.md'
|
||||
---
|
||||
|
||||
# Step 3: Dietary Needs & Restrictions Assessment
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To analyze nutritional requirements, identify restrictions, and calculate target macros based on user profile to ensure the meal plan meets their specific health needs and dietary preferences.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and assessment knowledge, user brings their health context
|
||||
- ✅ Together we produce something better than the sum of our own parts
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 ALWAYS check for allergies and medical restrictions first
|
||||
- 🚫 DO NOT provide medical advice - always recommend consulting professionals
|
||||
- 💬 Explain the "why" behind nutritional recommendations
|
||||
- 📋 Load dietary-restrictions.csv and macro-calculator.csv for accurate analysis
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Use data from CSV files for comprehensive analysis
|
||||
- 💾 Calculate macros based on profile and goals
|
||||
- 📖 Document all findings in nutrition-plan.md
|
||||
- 📖 Update frontmatter `stepsCompleted` to add 3 at the end of the array before loading next step
|
||||
- 🚫 FORBIDDEN to prescribe medical nutrition therapy
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- User profile is already loaded from step 2
|
||||
- Focus ONLY on assessment and calculation
|
||||
- Refer medical conditions to professionals
|
||||
- Use data files for reference
|
||||
|
||||
## ASSESSMENT PROCESS:
|
||||
|
||||
### 1. Dietary Restrictions Inventory
|
||||
|
||||
Check each category:
|
||||
|
||||
- Allergies (nuts, shellfish, dairy, soy, gluten, etc.)
|
||||
- Medical conditions (diabetes, hypertension, IBS, etc.)
|
||||
- Ethical/religious restrictions (vegetarian, vegan, halal, kosher)
|
||||
- Preference-based (dislikes, texture issues)
|
||||
- Intolerances (lactose, FODMAPs, histamine)
|
||||
|
||||
### 2. Macronutrient Targets
|
||||
|
||||
Using macro-calculator.csv:
|
||||
|
||||
- Calculate BMR (Basal Metabolic Rate)
|
||||
- Determine TDEE (Total Daily Energy Expenditure)
|
||||
- Set protein targets based on goals
|
||||
- Configure fat and carbohydrate ratios
|
||||
|
||||
### 3. Micronutrient Focus Areas
|
||||
|
||||
Based on goals and restrictions:
|
||||
|
||||
- Iron (for plant-based diets)
|
||||
- Calcium (dairy-free)
|
||||
- Vitamin B12 (vegan diets)
|
||||
- Fiber (weight management)
|
||||
- Electrolytes (active individuals)
|
||||
|
||||
#### CONTENT TO APPEND TO DOCUMENT:
|
||||
|
||||
After assessment, append to {outputFile}:
|
||||
|
||||
Load and append the content from {assessmentTemplate}
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#4-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated, will you then load, read entire file, then execute `{workflow_path}/step-04-strategy.md` to execute and begin meal strategy creation step.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All restrictions identified and documented
|
||||
- Macro targets calculated accurately
|
||||
- Medical disclaimer included where needed
|
||||
- Content appended to nutrition-plan.md
|
||||
- Frontmatter updated with step completion
|
||||
- Menu presented and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Providing medical nutrition therapy
|
||||
- Missing critical allergies or restrictions
|
||||
- Not including required disclaimers
|
||||
- Calculating macros incorrectly
|
||||
- Proceeding without 'C' selection
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
@@ -1,183 +0,0 @@
|
||||
---
|
||||
name: 'step-04-strategy'
|
||||
description: 'Design a personalized meal strategy that meets nutritional needs and fits lifestyle'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-strategy.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-shopping.md'
|
||||
alternateNextStepFile: '{workflow_path}/steps/step-06-prep-schedule.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Data References
|
||||
recipeDatabase: '{workflow_path}/data/recipe-database.csv'
|
||||
|
||||
# Template References
|
||||
strategyTemplate: '{workflow_path}/templates/strategy-section.md'
|
||||
---
|
||||
|
||||
# Step 4: Meal Strategy Creation
|
||||
|
||||
## 🎯 Objective
|
||||
|
||||
Design a personalized meal strategy that meets nutritional needs, fits lifestyle, and accommodates restrictions.
|
||||
|
||||
## 📋 MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER suggest meals without considering ALL user restrictions
|
||||
- 📖 CRITICAL: Reference recipe-database.csv for meal ideas
|
||||
- 🔄 CRITICAL: Ensure macro distribution meets calculated targets
|
||||
- ✅ Start with familiar foods, introduce variety gradually
|
||||
- 🚫 DO NOT create a plan that requires advanced cooking skills if user is beginner
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### 1. Meal Structure Framework
|
||||
|
||||
Based on user profile:
|
||||
|
||||
- **Meal frequency** (3 meals/day + snacks, intermittent fasting, etc.)
|
||||
- **Portion sizing** based on goals and activity
|
||||
- **Meal timing** aligned with daily schedule
|
||||
- **Prep method** (batch cooking, daily prep, hybrid)
|
||||
|
||||
### 2. Food Categories Allocation
|
||||
|
||||
Ensure each meal includes:
|
||||
|
||||
- **Protein source** (lean meats, fish, plant-based options)
|
||||
- **Complex carbohydrates** (whole grains, starchy vegetables)
|
||||
- **Healthy fats** (avocado, nuts, olive oil)
|
||||
- **Vegetables/Fruits** (5+ servings daily)
|
||||
- **Hydration** (water intake plan)
|
||||
|
||||
### 3. Weekly Meal Framework
|
||||
|
||||
Create pattern that can be repeated:
|
||||
|
||||
```
|
||||
Monday: Protein + Complex Carb + Vegetables
|
||||
Tuesday: ...
|
||||
Wednesday: ...
|
||||
```
|
||||
|
||||
- Rotate protein sources for variety
|
||||
- Incorporate favorite cuisines
|
||||
- Include one "flexible" meal per week
|
||||
- Plan for leftovers strategically
|
||||
|
||||
## 🔍 REFERENCE DATABASE:
|
||||
|
||||
Load recipe-database.csv for:
|
||||
|
||||
- Quick meal ideas (<15 min)
|
||||
- Batch prep friendly recipes
|
||||
- Restriction-specific options
|
||||
- Macro-friendly alternatives
|
||||
|
||||
## 🎯 PERSONALIZATION FACTORS:
|
||||
|
||||
### For Beginners:
|
||||
|
||||
- Simple 3-ingredient meals
|
||||
- One-pan/one-pot recipes
|
||||
- Prep-ahead breakfast options
|
||||
- Healthy convenience meals
|
||||
|
||||
### For Busy Schedules:
|
||||
|
||||
- 30-minute or less meals
|
||||
- Grab-and-go options
|
||||
- Minimal prep breakfasts
|
||||
- Slow cooker/air fryer options
|
||||
|
||||
### For Budget Conscious:
|
||||
|
||||
- Bulk buying strategies
|
||||
- Seasonal produce focus
|
||||
- Protein budgeting
|
||||
- Minimize food waste
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- All nutritional targets met
|
||||
- Realistic for user's cooking skill level
|
||||
- Fits within time constraints
|
||||
- Respects budget limitations
|
||||
- Includes enjoyable foods
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Too complex for cooking skill level
|
||||
- Requires expensive specialty ingredients
|
||||
- Too much time required
|
||||
- Boring/repetitive meals
|
||||
- Doesn't account for eating out/social events
|
||||
|
||||
## 💬 SAMPLE DIALOG STYLE:
|
||||
|
||||
**✅ GOOD (Intent-based):**
|
||||
"Looking at your goals and love for Mediterranean flavors, we could create a weekly rotation featuring grilled chicken, fish, and plant proteins. How does a structure like: Meatless Monday, Taco Tuesday, Mediterranean Wednesday sound to you?"
|
||||
|
||||
**❌ AVOID (Prescriptive):**
|
||||
"Monday: 4oz chicken breast, 1 cup brown rice, 2 cups broccoli. Tuesday: 4oz salmon..."
|
||||
|
||||
## 📊 APPEND TO TEMPLATE:
|
||||
|
||||
Begin building nutrition-plan.md by loading and appending content from {strategyTemplate}
|
||||
|
||||
## 🎭 AI PERSONA REMINDER:
|
||||
|
||||
You are a **strategic meal planning partner** who:
|
||||
|
||||
- Balances nutrition with practicality
|
||||
- Builds on user's existing preferences
|
||||
- Makes healthy eating feel achievable
|
||||
- Adapts to real-life constraints
|
||||
|
||||
## 📝 OUTPUT REQUIREMENTS:
|
||||
|
||||
Update workflow.md frontmatter:
|
||||
|
||||
```yaml
|
||||
mealStrategy:
|
||||
structure: [meal pattern]
|
||||
proteinRotation: [list]
|
||||
prepMethod: [batch/daily/hybrid]
|
||||
cookingComplexity: [beginner/intermediate/advanced]
|
||||
```
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Meal Variety Optimization [P] Chef & Dietitian Collaboration [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- HALT and AWAIT ANSWER
|
||||
- IF A: Execute `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`
|
||||
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md` with a chef and dietitian expert also as part of the party
|
||||
- IF C: Save content to nutrition-plan.md, update frontmatter `stepsCompleted` to add 4 at the end of the array before loading next step, check cooking frequency:
|
||||
- IF cooking frequency > 2x/week: load, read entire file, then execute `{workflow_path}/step-05-shopping.md`
|
||||
- IF cooking frequency ≤ 2x/week: load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated:
|
||||
|
||||
- IF cooking frequency > 2x/week: load, read entire file, then execute `{workflow_path}/step-05-shopping.md` to generate shopping list
|
||||
- IF cooking frequency ≤ 2x/week: load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md` to skip shopping list
|
||||
@@ -1,168 +0,0 @@
|
||||
---
|
||||
name: 'step-05-shopping'
|
||||
description: 'Create a comprehensive shopping list that supports the meal strategy'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-shopping.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-prep-schedule.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
shoppingTemplate: '{workflow_path}/templates/shopping-section.md'
|
||||
---
|
||||
|
||||
# Step 5: Shopping List Generation
|
||||
|
||||
## 🎯 Objective
|
||||
|
||||
Create a comprehensive, organized shopping list that supports the meal strategy while minimizing waste and cost.
|
||||
|
||||
## 📋 MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 CRITICAL: This step is OPTIONAL - skip if user cooks <2x per week
|
||||
- 📖 CRITICAL: Cross-reference with existing pantry items
|
||||
- 🔄 CRITICAL: Organize by store section for efficient shopping
|
||||
- ✅ Include quantities based on serving sizes and meal frequency
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
- 🚫 DO NOT forget staples and seasonings
|
||||
Only proceed if:
|
||||
|
||||
```yaml
|
||||
cookingFrequency: "3-5x" OR "daily"
|
||||
```
|
||||
|
||||
Otherwise, skip to Step 5: Prep Schedule
|
||||
|
||||
## 📊 Shopping List Organization:
|
||||
|
||||
### 1. By Store Section
|
||||
|
||||
```
|
||||
PRODUCE:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
PROTEIN:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
DAIRY/ALTERNATIVES:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
GRAINS/STARCHES:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
FROZEN:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
PANTRY:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
```
|
||||
|
||||
### 2. Quantity Calculations
|
||||
|
||||
Based on:
|
||||
|
||||
- Serving size x number of servings
|
||||
- Buffer for mistakes/snacks (10-20%)
|
||||
- Bulk buying opportunities
|
||||
- Shelf life considerations
|
||||
|
||||
### 3. Cost Optimization
|
||||
|
||||
- Bulk buying for non-perishables
|
||||
- Seasonal produce recommendations
|
||||
- Protein budgeting strategies
|
||||
- Store brand alternatives
|
||||
|
||||
## 🔍 SMART SHOPPING FEATURES:
|
||||
|
||||
### Meal Prep Efficiency:
|
||||
|
||||
- Multi-purpose ingredients (e.g., spinach for salads AND smoothies)
|
||||
- Batch prep staples (grains, proteins)
|
||||
- Versatile seasonings
|
||||
|
||||
### Waste Reduction:
|
||||
|
||||
- "First to use" items for perishables
|
||||
- Flexible ingredient swaps
|
||||
- Portion planning
|
||||
|
||||
### Budget Helpers:
|
||||
|
||||
- Priority items (must-have vs nice-to-have)
|
||||
- Bulk vs fresh decisions
|
||||
- Seasonal substitutions
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- Complete list organized by store section
|
||||
- Quantities calculated accurately
|
||||
- Pantry items cross-referenced
|
||||
- Budget considerations addressed
|
||||
- Waste minimization strategies included
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Forgetting staples and seasonings
|
||||
- Buying too much of perishable items
|
||||
- Not organizing by store section
|
||||
- Ignoring user's budget constraints
|
||||
- Not checking existing pantry items
|
||||
|
||||
## 💬 SAMPLE DIALOG STYLE:
|
||||
|
||||
**✅ GOOD (Intent-based):**
|
||||
"Let's organize your shopping trip for maximum efficiency. I'll group items by store section. Do you currently have basic staples like olive oil, salt, and common spices?"
|
||||
|
||||
**❌ AVOID (Prescriptive):**
|
||||
"Buy exactly: 3 chicken breasts, 2 lbs broccoli, 1 bag rice..."
|
||||
|
||||
## 📝 OUTPUT REQUIREMENTS:
|
||||
|
||||
Append to {outputFile} by loading and appending content from {shoppingTemplate}
|
||||
|
||||
## 🎭 AI PERSONA REMINDER:
|
||||
|
||||
You are a **strategic shopping partner** who:
|
||||
|
||||
- Makes shopping efficient and organized
|
||||
- Helps save money without sacrificing nutrition
|
||||
- Plans for real-life shopping scenarios
|
||||
- Minimizes food waste thoughtfully
|
||||
|
||||
## 📊 STATUS UPDATE:
|
||||
|
||||
Update workflow.md frontmatter:
|
||||
|
||||
```yaml
|
||||
shoppingListGenerated: true
|
||||
budgetOptimized: [yes/partial/no]
|
||||
pantryChecked: [yes/no]
|
||||
```
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Budget Optimization Strategies [P] Shopping Perspectives [C] Continue to Prep Schedule
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- HALT and AWAIT ANSWER
|
||||
- IF A: Execute `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`
|
||||
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
|
||||
- IF C: Save content to nutrition-plan.md, update frontmatter `stepsCompleted` to add 5 at the end of the array before loading next step, then load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated, will you then load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md` to execute and begin meal prep schedule creation.
|
||||
@@ -1,195 +0,0 @@
|
||||
---
|
||||
name: 'step-06-prep-schedule'
|
||||
description: "Create a realistic meal prep schedule that fits the user's lifestyle"
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-prep-schedule.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
prepScheduleTemplate: '{workflow_path}/templates/prep-schedule-section.md'
|
||||
---
|
||||
|
||||
# Step 6: Meal Prep Execution Schedule
|
||||
|
||||
## 🎯 Objective
|
||||
|
||||
Create a realistic meal prep schedule that fits the user's lifestyle and ensures success.
|
||||
|
||||
## 📋 MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER suggest a prep schedule that requires more time than user has available
|
||||
- 📖 CRITICAL: Base schedule on user's actual cooking frequency
|
||||
- 🔄 CRITICAL: Include storage and reheating instructions
|
||||
- ✅ Start with a sustainable prep routine
|
||||
- 🚫 DO NOT overwhelm with too much at once
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### 1. Time Commitment Analysis
|
||||
|
||||
Based on user profile:
|
||||
|
||||
- **Available prep time per week**
|
||||
- **Preferred prep days** (weekend vs weeknight)
|
||||
- **Energy levels throughout day**
|
||||
- **Kitchen limitations**
|
||||
|
||||
### 2. Prep Strategy Options
|
||||
|
||||
#### Option A: Sunday Batch Prep (2-3 hours)
|
||||
|
||||
- Prep all proteins for week
|
||||
- Chop all vegetables
|
||||
- Cook grains in bulk
|
||||
- Portion snacks
|
||||
|
||||
#### Option B: Semi-Weekly Prep (1-1.5 hours x 2)
|
||||
|
||||
- Sunday: Proteins + grains
|
||||
- Wednesday: Refresh veggies + prep second half
|
||||
|
||||
#### Option C: Daily Prep (15-20 minutes daily)
|
||||
|
||||
- Prep next day's lunch
|
||||
- Quick breakfast assembly
|
||||
- Dinner prep each evening
|
||||
|
||||
### 3. Detailed Timeline Breakdown
|
||||
|
||||
```
|
||||
Sunday (2 hours):
|
||||
2:00-2:30: Preheat oven, marinate proteins
|
||||
2:30-3:15: Cook proteins (bake chicken, cook ground turkey)
|
||||
3:15-3:45: Cook grains (rice, quinoa)
|
||||
3:45-4:00: Chop vegetables and portion snacks
|
||||
4:00-4:15: Clean and organize refrigerator
|
||||
```
|
||||
|
||||
## 📦 Storage Guidelines:
|
||||
|
||||
### Protein Storage:
|
||||
|
||||
- Cooked chicken: 4 days refrigerated, 3 months frozen
|
||||
- Ground meat: 3 days refrigerated, 3 months frozen
|
||||
- Fish: Best fresh, 2 days refrigerated
|
||||
|
||||
### Vegetable Storage:
|
||||
|
||||
- Cut vegetables: 3-4 days in airtight containers
|
||||
- Hard vegetables: Up to 1 week (carrots, bell peppers)
|
||||
- Leafy greens: 2-3 days with paper towels
|
||||
|
||||
### Meal Assembly:
|
||||
|
||||
- Keep sauces separate until eating
|
||||
- Consider texture changes when reheating
|
||||
- Label with preparation date
|
||||
|
||||
## 🔧 ADAPTATION STRATEGIES:
|
||||
|
||||
### For Busy Weeks:
|
||||
|
||||
- Emergency freezer meals
|
||||
- Quick backup options
|
||||
- 15-minute meal alternatives
|
||||
|
||||
### For Low Energy Days:
|
||||
|
||||
- No-cook meal options
|
||||
- Smoothie packs
|
||||
- Assembly-only meals
|
||||
|
||||
### For Social Events:
|
||||
|
||||
- Flexible meal timing
|
||||
- Restaurant integration
|
||||
- "Off-plan" guilt-free guidelines
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- Realistic time commitment
|
||||
- Clear instructions for each prep session
|
||||
- Storage and reheating guidelines included
|
||||
- Backup plans for busy weeks
|
||||
- Sustainable long-term approach
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Overly ambitious prep schedule
|
||||
- Not accounting for cleaning time
|
||||
- Ignoring user's energy patterns
|
||||
- No flexibility for unexpected events
|
||||
- Complex instructions for beginners
|
||||
|
||||
## 💬 SAMPLE DIALOG STYLE:
|
||||
|
||||
**✅ GOOD (Intent-based):**
|
||||
"Based on your 2-hour Sunday availability, we could create a prep schedule that sets you up for the week. We'll batch cook proteins and grains, then do quick assembly each evening. How does that sound with your energy levels?"
|
||||
|
||||
**❌ AVOID (Prescriptive):**
|
||||
"You must prep every Sunday from 2-4 PM. No exceptions."
|
||||
|
||||
## 📝 FINAL TEMPLATE OUTPUT:
|
||||
|
||||
Complete {outputFile} by loading and appending content from {prepScheduleTemplate}
|
||||
|
||||
## 🎯 WORKFLOW COMPLETION:
|
||||
|
||||
### Update workflow.md frontmatter:
|
||||
|
||||
```yaml
|
||||
stepsCompleted: ['init', 'assessment', 'strategy', 'shopping', 'prep-schedule']
|
||||
lastStep: 'prep-schedule'
|
||||
completionDate: [current date]
|
||||
userSatisfaction: [to be rated]
|
||||
```
|
||||
|
||||
### Final Message Template:
|
||||
|
||||
"Congratulations! Your personalized nutrition plan is complete. Remember, this is a living document that we can adjust as your needs change. Check in weekly for the first month to fine-tune your approach!"
|
||||
|
||||
## 📊 NEXT STEPS FOR USER:
|
||||
|
||||
1. Review complete plan
|
||||
2. Shop for ingredients
|
||||
3. Execute first prep session
|
||||
4. Note any adjustments needed
|
||||
5. Schedule follow-up review
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Prep Techniques [P] Coach Perspectives [C] Complete Workflow
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- HALT and AWAIT ANSWER
|
||||
- IF A: Execute `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`
|
||||
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
|
||||
- IF C: update frontmatter `stepsCompleted` to add 6 at the end of the array before loading next step, mark workflow complete, display final message
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document:
|
||||
|
||||
1. update frontmatter `stepsCompleted` to add 6 at the end of the array before loading next step completed and indicate final completion
|
||||
2. Display final completion message
|
||||
3. End workflow session
|
||||
|
||||
**Final Message:** "Congratulations! Your personalized nutrition plan is complete. Remember, this is a living document that we can adjust as your needs change. Check in weekly for the first month to fine-tune your approach!"
|
||||
@@ -1,25 +0,0 @@
|
||||
## 📊 Daily Nutrition Targets
|
||||
|
||||
**Daily Calories:** [calculated amount]
|
||||
**Protein:** [grams]g ([percentage]% of calories)
|
||||
**Carbohydrates:** [grams]g ([percentage]% of calories)
|
||||
**Fat:** [grams]g ([percentage]% of calories)
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Dietary Considerations
|
||||
|
||||
### Allergies & Intolerances
|
||||
|
||||
- [List of identified restrictions]
|
||||
- [Cross-reactivity notes if applicable]
|
||||
|
||||
### Medical Considerations
|
||||
|
||||
- [Conditions noted with professional referral recommendation]
|
||||
- [Special nutritional requirements]
|
||||
|
||||
### Preferences
|
||||
|
||||
- [Cultural/ethical restrictions]
|
||||
- [Strong dislikes to avoid]
|
||||
@@ -1,68 +0,0 @@
|
||||
# Personalized Nutrition Plan
|
||||
|
||||
**Created:** {{date}}
|
||||
**Author:** {{user_name}}
|
||||
|
||||
---
|
||||
|
||||
## ✅ Progress Tracking
|
||||
|
||||
**Steps Completed:**
|
||||
|
||||
- [ ] Step 1: Workflow Initialization
|
||||
- [ ] Step 2: User Profile & Goals
|
||||
- [ ] Step 3: Dietary Assessment
|
||||
- [ ] Step 4: Meal Strategy
|
||||
- [ ] Step 5: Shopping List _(if applicable)_
|
||||
- [ ] Step 6: Meal Prep Schedule
|
||||
|
||||
**Last Updated:** {{date}}
|
||||
|
||||
---
|
||||
|
||||
## 📋 Executive Summary
|
||||
|
||||
**Primary Goal:** [To be filled in Step 1]
|
||||
|
||||
**Daily Nutrition Targets:**
|
||||
|
||||
- Calories: [To be calculated in Step 2]
|
||||
- Protein: [To be calculated in Step 2]g
|
||||
- Carbohydrates: [To be calculated in Step 2]g
|
||||
- Fat: [To be calculated in Step 2]g
|
||||
|
||||
**Key Considerations:** [To be filled in Step 2]
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Your Nutrition Goals
|
||||
|
||||
[Content to be added in Step 1]
|
||||
|
||||
---
|
||||
|
||||
## 🍽️ Meal Framework
|
||||
|
||||
[Content to be added in Step 3]
|
||||
|
||||
---
|
||||
|
||||
## 🛒 Shopping List
|
||||
|
||||
[Content to be added in Step 4 - if applicable]
|
||||
|
||||
---
|
||||
|
||||
## ⏰ Meal Prep Schedule
|
||||
|
||||
[Content to be added in Step 5]
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes & Next Steps
|
||||
|
||||
[Add any notes or adjustments as you progress]
|
||||
|
||||
---
|
||||
|
||||
**Medical Disclaimer:** This nutrition plan is for educational purposes only and is not medical advice. Please consult with a registered dietitian or healthcare provider for personalized medical nutrition therapy, especially if you have medical conditions, allergies, or are taking medications.
|
||||
@@ -1,29 +0,0 @@
|
||||
## Meal Prep Schedule
|
||||
|
||||
### [Chosen Prep Strategy]
|
||||
|
||||
### Weekly Prep Tasks
|
||||
|
||||
- [Day]: [Tasks] - [Time needed]
|
||||
- [Day]: [Tasks] - [Time needed]
|
||||
|
||||
### Daily Assembly
|
||||
|
||||
- Morning: [Quick tasks]
|
||||
- Evening: [Assembly instructions]
|
||||
|
||||
### Storage Guide
|
||||
|
||||
- Proteins: [Instructions]
|
||||
- Vegetables: [Instructions]
|
||||
- Grains: [Instructions]
|
||||
|
||||
### Success Tips
|
||||
|
||||
- [Personalized success strategies]
|
||||
|
||||
### Weekly Review Checklist
|
||||
|
||||
- [ ] Check weekend schedule
|
||||
- [ ] Review meal plan satisfaction
|
||||
- [ ] Adjust next week's plan
|
||||
@@ -1,47 +0,0 @@
|
||||
## 🎯 Your Nutrition Goals
|
||||
|
||||
### Primary Objective
|
||||
|
||||
[User's main goal and motivation]
|
||||
|
||||
### Target Timeline
|
||||
|
||||
[Realistic timeframe and milestones]
|
||||
|
||||
### Success Metrics
|
||||
|
||||
- [Specific measurable outcomes]
|
||||
- [Non-scale victories]
|
||||
- [Lifestyle improvements]
|
||||
|
||||
---
|
||||
|
||||
## 👤 Personal Profile
|
||||
|
||||
### Basic Information
|
||||
|
||||
- **Age:** [age]
|
||||
- **Gender:** [gender]
|
||||
- **Height:** [height]
|
||||
- **Weight:** [current weight]
|
||||
- **Activity Level:** [activity description]
|
||||
|
||||
### Lifestyle Factors
|
||||
|
||||
- **Daily Schedule:** [typical day structure]
|
||||
- **Cooking Frequency:** [how often they cook]
|
||||
- **Cooking Skill:** [beginner/intermediate/advanced]
|
||||
- **Available Time:** [time for meal prep]
|
||||
|
||||
### Food Preferences
|
||||
|
||||
- **Favorite Cuisines:** [list]
|
||||
- **Disliked Foods:** [list]
|
||||
- **Allergies:** [list]
|
||||
- **Dietary Restrictions:** [list]
|
||||
|
||||
### Budget & Access
|
||||
|
||||
- **Weekly Budget:** [range]
|
||||
- **Shopping Access:** [stores available]
|
||||
- **Special Considerations:** [family, social, etc.]
|
||||
@@ -1,37 +0,0 @@
|
||||
## Weekly Shopping List
|
||||
|
||||
### Check Pantry First
|
||||
|
||||
- [List of common staples to verify]
|
||||
|
||||
### Produce Section
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Protein
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Dairy/Alternatives
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Grains/Starches
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Frozen
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Pantry
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Money-Saving Tips
|
||||
|
||||
- [Personalized savings strategies]
|
||||
|
||||
### Flexible Swaps
|
||||
|
||||
- [Alternative options if items unavailable]
|
||||
@@ -1,18 +0,0 @@
|
||||
## Weekly Meal Framework
|
||||
|
||||
### Protein Rotation
|
||||
|
||||
- Monday: [Protein source]
|
||||
- Tuesday: [Protein source]
|
||||
- Wednesday: [Protein source]
|
||||
- Thursday: [Protein source]
|
||||
- Friday: [Protein source]
|
||||
- Saturday: [Protein source]
|
||||
- Sunday: [Protein source]
|
||||
|
||||
### Meal Timing
|
||||
|
||||
- Breakfast: [Time] - [Type]
|
||||
- Lunch: [Time] - [Type]
|
||||
- Dinner: [Time] - [Type]
|
||||
- Snacks: [As needed]
|
||||
@@ -1,60 +0,0 @@
|
||||
---
|
||||
name: Meal Prep & Nutrition Plan
|
||||
description: Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.
|
||||
web_bundle: true
|
||||
standalone: false
|
||||
---
|
||||
|
||||
# Meal Prep & Nutrition Plan Workflow
|
||||
|
||||
**Goal:** Create personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.
|
||||
|
||||
**Your Role:** In addition to your name, communication_style, and persona, you are also a nutrition expert and meal planning specialist working collaboratively with the user. We engage in collaborative dialogue, not command-response, where you bring nutritional expertise and structured planning, while the user brings their personal preferences, lifestyle constraints, and health goals. Work together to create a sustainable, enjoyable nutrition plan.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
|
||||
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
||||
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- 🛑 **NEVER** load multiple step files simultaneously
|
||||
- 📖 **ALWAYS** read entire step file before execution
|
||||
- 🚫 **NEVER** skip steps or optimize the sequence
|
||||
- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
||||
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
||||
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
||||
- 📋 **NEVER** create mental todo lists from future steps
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/_bmad/core/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute `{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md` to begin the workflow.
|
||||
@@ -91,8 +91,8 @@ workflow.md → step-01-init.md (detects existing) → step-01b-continue.md →
|
||||
### Standard (All Workflows)
|
||||
```yaml
|
||||
workflow_path: '{project-root}/_bmad/[module]/workflows/[name]'
|
||||
thisStepFile: '{workflow_path}/steps/step-[N]-[name].md'
|
||||
nextStepFile: '{workflow_path}/steps/step-[N+1]-[name].md'
|
||||
thisStepFile: './step-[N]-[name].md'
|
||||
nextStepFile: './step-[N+1]-[name].md'
|
||||
outputFile: '{output_folder}/[output].md'
|
||||
```
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
category,restriction,considerations,alternatives,notes
|
||||
Allergy,Nuts,Severe allergy, check labels carefully,Seeds, sunflower seed butter
|
||||
Allergy,Shellfish,Cross-reactivity with some fish,Fin fish, vegetarian proteins
|
||||
Allergy,Dairy,Calcium and vitamin D needs,Almond milk, fortified plant milks
|
||||
Allergy,Soy,Protein source replacement,Legumes, quinoa, seitan
|
||||
Allergy,Gluten,Celiac vs sensitivity,Quinoa, rice, certified gluten-free
|
||||
Medical,Diabetes,Carbohydrate timing and type,Fiber-rich foods, low glycemic
|
||||
Medical,Hypertension,Sodium restriction,Herbs, spices, salt-free seasonings
|
||||
Medical,IBS,FODMAP triggers,Low FODMAP vegetables, soluble fiber
|
||||
Ethical,Vegetarian,Complete protein combinations,Quinoa, buckwheat, hemp seeds
|
||||
Ethical,Vegan,B12 supplementation mandatory,Nutritional yeast, fortified foods
|
||||
Ethical,Halal,Meat sourcing requirements,Halal-certified products
|
||||
Ethical,Kosher,Dairy-meat separation,Parve alternatives
|
||||
Intolerance,Lactose,Dairy digestion issues,Lactase pills, aged cheeses
|
||||
Intolerance,FODMAP,Carbohydrate malabsorption,Low FODMAP fruits/veg
|
||||
Preference,Dislikes,Texture/flavor preferences,Similar texture alternatives
|
||||
Preference,Budget,Cost-effective options,Bulk buying, seasonal produce
|
||||
Preference,Convenience,Time-saving options,Pre-cut vegetables, frozen produce
|
||||
|
@@ -1,16 +0,0 @@
|
||||
goal,activity_level,multiplier,protein_ratio,protein_min,protein_max,fat_ratio,carb_ratio
|
||||
weight_loss,sedentary,1.2,0.3,1.6,2.2,0.35,0.35
|
||||
weight_loss,light,1.375,0.35,1.8,2.5,0.30,0.35
|
||||
weight_loss,moderate,1.55,0.4,2.0,2.8,0.30,0.30
|
||||
weight_loss,active,1.725,0.4,2.2,3.0,0.25,0.35
|
||||
weight_loss,very_active,1.9,0.45,2.5,3.3,0.25,0.30
|
||||
maintenance,sedentary,1.2,0.25,0.8,1.2,0.35,0.40
|
||||
maintenance,light,1.375,0.25,1.0,1.4,0.35,0.40
|
||||
maintenance,moderate,1.55,0.3,1.2,1.6,0.35,0.35
|
||||
maintenance,active,1.725,0.3,1.4,1.8,0.30,0.40
|
||||
maintenance,very_active,1.9,0.35,1.6,2.2,0.30,0.35
|
||||
muscle_gain,sedentary,1.2,0.35,1.8,2.5,0.30,0.35
|
||||
muscle_gain,light,1.375,0.4,2.0,2.8,0.30,0.30
|
||||
muscle_gain,moderate,1.55,0.4,2.2,3.0,0.25,0.35
|
||||
muscle_gain,active,1.725,0.45,2.5,3.3,0.25,0.30
|
||||
muscle_gain,very_active,1.9,0.45,2.8,3.5,0.25,0.30
|
||||
|
@@ -1,28 +0,0 @@
|
||||
category,name,prep_time,cook_time,total_time,protein_per_serving,complexity,meal_type,restrictions_friendly,batch_friendly
|
||||
Protein,Grilled Chicken Breast,10,20,30,35,beginner,lunch/dinner,all,yes
|
||||
Protein,Baked Salmon,5,15,20,22,beginner,lunch/dinner,gluten-free,no
|
||||
Protein,Lentils,0,25,25,18,beginner,lunch/dinner,vegan,yes
|
||||
Protein,Ground Turkey,5,15,20,25,beginner,lunch/dinner,all,yes
|
||||
Protein,Tofu Stir-fry,10,15,25,20,intermediate,lunch/dinner,vegan,no
|
||||
Protein,Eggs Scrambled,5,5,10,12,beginner,breakfast,vegetarian,no
|
||||
Protein,Greek Yogurt,0,0,0,17,beginner,snack,vegetarian,no
|
||||
Carb,Quinoa,5,15,20,8,beginner,lunch/dinner,gluten-free,yes
|
||||
Carb,Brown Rice,5,40,45,5,beginner,lunch/dinner,gluten-free,yes
|
||||
Carb,Sweet Potato,5,45,50,4,beginner,lunch/dinner,all,yes
|
||||
Carb,Oatmeal,2,5,7,5,beginner,breakfast,gluten-free,yes
|
||||
Carb,Whole Wheat Pasta,2,10,12,7,beginner,lunch/dinner,vegetarian,no
|
||||
Veggie,Broccoli,5,10,15,3,beginner,lunch/dinner,all,yes
|
||||
Veggie,Spinach,2,3,5,3,beginner,lunch/dinner,all,no
|
||||
Veggie,Bell Peppers,5,10,15,1,beginner,lunch/dinner,all,no
|
||||
Veggie,Kale,5,5,10,3,beginner,lunch/dinner,all,no
|
||||
Veggie,Avocado,2,0,2,2,beginner,snack/lunch,all,no
|
||||
Snack,Almonds,0,0,0,6,beginner,snack,gluten-free,no
|
||||
Snack,Apple with PB,2,0,2,4,beginner,snack,vegetarian,no
|
||||
Snack,Protein Smoothie,5,0,5,25,beginner,snack,all,no
|
||||
Snack,Hard Boiled Eggs,0,12,12,6,beginner,snack,vegetarian,yes
|
||||
Breakfast,Overnight Oats,5,0,5,10,beginner,breakfast,vegan,yes
|
||||
Breakfast,Protein Pancakes,10,10,20,20,intermediate,breakfast,vegetarian,no
|
||||
Breakfast,Veggie Omelet,5,10,15,18,intermediate,breakfast,vegetarian,no
|
||||
Quick Meal,Chicken Salad,10,0,10,30,beginner,lunch,gluten-free,no
|
||||
Quick Meal,Tuna Wrap,5,0,5,20,beginner,lunch,gluten-free,no
|
||||
Quick Meal,Buddha Bowl,15,0,15,15,intermediate,lunch,vegan,no
|
||||
|
@@ -1,170 +0,0 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize the nutrition plan workflow by detecting continuation state and creating output document'
|
||||
|
||||
nextStepFile: './step-02-profile.md'
|
||||
continueFile: './step-01b-continue.md'
|
||||
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
templateFile: '../templates/nutrition-plan.md'
|
||||
---
|
||||
|
||||
# Step 1: Workflow Initialization
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and structured planning, user brings their personal preferences and lifestyle constraints
|
||||
- ✅ Together we produce something better than the sum of our own parts
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on initialization and setup
|
||||
- 🚫 FORBIDDEN to look ahead to future steps
|
||||
- 💬 Handle initialization professionally
|
||||
- 🚪 DETECT existing workflow state and handle continuation properly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show 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 setup is complete
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- 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
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To initialize the Nutrition Plan workflow by detecting continuation state, creating the output document, and preparing for the first collaborative session.
|
||||
|
||||
## INITIALIZATION SEQUENCE:
|
||||
|
||||
### 1. Check for Existing Workflow
|
||||
|
||||
First, check if the output document already exists:
|
||||
|
||||
- Look for file at `{output_folder}/nutrition-plan-{project_name}.md`
|
||||
- If exists, read the complete file including frontmatter
|
||||
- If not exists, this is a fresh workflow
|
||||
|
||||
### 2. Handle Continuation (If Document Exists)
|
||||
|
||||
If the document exists and has frontmatter with `stepsCompleted`:
|
||||
|
||||
- **STOP here** and load `./step-01b-continue.md` immediately
|
||||
- Do not proceed with any initialization tasks
|
||||
- Let step-01b handle the continuation logic
|
||||
|
||||
### 3. Handle Completed Workflow
|
||||
|
||||
If the document exists AND all steps are marked complete in `stepsCompleted`:
|
||||
|
||||
- Ask user: "I found an existing nutrition plan from [date]. Would you like to:
|
||||
1. Create a new nutrition plan
|
||||
2. Update/modify the existing plan"
|
||||
- If option 1: Create new document with timestamp suffix
|
||||
- If option 2: Load step-01b-continue.md
|
||||
|
||||
### 4. Fresh Workflow Setup (If No Document)
|
||||
|
||||
If no document exists or no `stepsCompleted` in frontmatter:
|
||||
|
||||
#### A. Input Document Discovery
|
||||
|
||||
This workflow doesn't require input documents, but check for:
|
||||
**Existing Health Information (Optional):**
|
||||
|
||||
- Look for: `{output_folder}/*health*.md`
|
||||
- Look for: `{output_folder}/*goals*.md`
|
||||
- If found, load completely and add to `inputDocuments` frontmatter
|
||||
|
||||
#### B. Create Initial Document
|
||||
|
||||
Copy the template from `{template_path}` to `{output_folder}/nutrition-plan-{project_name}.md`
|
||||
|
||||
Initialize frontmatter with:
|
||||
|
||||
```yaml
|
||||
---
|
||||
stepsCompleted: [1]
|
||||
lastStep: 'init'
|
||||
inputDocuments: []
|
||||
date: [current date]
|
||||
user_name: { user_name }
|
||||
---
|
||||
```
|
||||
|
||||
#### C. Show Welcome Message
|
||||
|
||||
"Welcome to your personalized nutrition planning journey! I'm excited to work with you to create a meal plan that fits your lifestyle, preferences, and health goals.
|
||||
|
||||
Let's begin by getting to know you and your nutrition goals."
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- Document created from template
|
||||
- Frontmatter initialized with step 1 marked complete
|
||||
- User welcomed to the process
|
||||
- Ready to proceed to step 2
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Proceeding with step 2 without document initialization
|
||||
- Not checking for existing documents properly
|
||||
- Creating duplicate documents
|
||||
- Skipping welcome message
|
||||
|
||||
### 7. Present MENU OPTIONS
|
||||
|
||||
Display: **Proceeding to user profile collection...**
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- This is an initialization step with no user choices
|
||||
- Proceed directly to next step after setup
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- After setup completion, immediately load, read entire file, then execute `{workflow_path}/step-02-profile.md` to begin user profile collection
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Document created from template
|
||||
- Frontmatter initialized with step 1 marked complete
|
||||
- User welcomed to the process
|
||||
- Ready to proceed to step 2
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN initialization setup is complete and document is created, will you then immediately load, read entire file, then execute `{workflow_path}/step-02-profile.md` to begin user profile collection.
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Proceeding with step 2 without document initialization
|
||||
- Not checking for existing documents properly
|
||||
- Creating duplicate documents
|
||||
- Skipping welcome message
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
@@ -1,142 +0,0 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Handle workflow continuation from previous session'
|
||||
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
---
|
||||
|
||||
# Step 1B: Workflow Continuation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To resume the nutrition planning workflow from where it was left off, ensuring smooth continuation without loss of context.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and structured planning, user brings their personal preferences and lifestyle constraints
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on analyzing and resuming workflow state
|
||||
- 🚫 FORBIDDEN to modify content completed in previous steps
|
||||
- 💬 Maintain continuity with previous sessions
|
||||
- 🚪 DETECT exact continuation point from frontmatter
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis of current state before taking action
|
||||
- 💾 Keep existing frontmatter `stepsCompleted` values
|
||||
- 📖 Review the template content already generated
|
||||
- 🚫 FORBIDDEN to modify content completed in previous steps
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Current nutrition-plan.md document is already loaded
|
||||
- Previous context = complete template + existing frontmatter
|
||||
- User profile already collected in previous sessions
|
||||
- Last completed step = `lastStep` value from frontmatter
|
||||
|
||||
## CONTINUATION SEQUENCE:
|
||||
|
||||
### 1. Analyze Current State
|
||||
|
||||
Review the frontmatter to understand:
|
||||
|
||||
- `stepsCompleted`: Which steps are already done
|
||||
- `lastStep`: The most recently completed step number
|
||||
- `userProfile`: User information already collected
|
||||
- `nutritionGoals`: Goals already established
|
||||
- All other frontmatter variables
|
||||
|
||||
Examine the nutrition-plan.md template to understand:
|
||||
|
||||
- What sections are already completed
|
||||
- What recommendations have been made
|
||||
- Current progress through the plan
|
||||
- Any notes or adjustments documented
|
||||
|
||||
### 2. Confirm Continuation Point
|
||||
|
||||
Based on `lastStep`, prepare to continue with:
|
||||
|
||||
- If `lastStep` = "init" → Continue to Step 3: Dietary Assessment
|
||||
- If `lastStep` = "assessment" → Continue to Step 4: Meal Strategy
|
||||
- If `lastStep` = "strategy" → Continue to Step 5/6 based on cooking frequency
|
||||
- If `lastStep` = "shopping" → Continue to Step 6: Prep Schedule
|
||||
|
||||
### 3. Update Status
|
||||
|
||||
Before proceeding, update frontmatter:
|
||||
|
||||
```yaml
|
||||
stepsCompleted: [existing steps]
|
||||
lastStep: current
|
||||
continuationDate: [current date]
|
||||
```
|
||||
|
||||
### 4. Welcome Back Dialog
|
||||
|
||||
"Welcome back! I see we've completed [X] steps of your nutrition plan. We last worked on [brief description]. Are you ready to continue with [next step]?"
|
||||
|
||||
### 5. Resumption Protocols
|
||||
|
||||
- Briefly summarize progress made
|
||||
- Confirm any changes since last session
|
||||
- Validate that user is still aligned with goals
|
||||
- Proceed to next appropriate step
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
Display: **Resuming workflow - Select an Option:** [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Update frontmatter with continuation info, then load, read entire file, then execute appropriate next step based on `lastStep`
|
||||
- IF lastStep = "init": load ./step-03-assessment.md
|
||||
- IF lastStep = "assessment": load ./step-04-strategy.md
|
||||
- IF lastStep = "strategy": check cooking frequency, then load load ./step-04-shopping.md
|
||||
- IF lastStep = "shopping": load ./step-06-prep-schedule.md
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and continuation analysis is complete, will you then update frontmatter and load, read entire file, then execute the appropriate next step file as outlined in menu handling logic.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Correctly identified last completed step
|
||||
- User confirmed readiness to continue
|
||||
- Frontmatter updated with continuation date
|
||||
- Workflow resumed at appropriate step
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping analysis of existing state
|
||||
- Modifying content from previous steps
|
||||
- Loading wrong next step
|
||||
- Not updating frontmatter properly
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,158 +0,0 @@
|
||||
---
|
||||
name: 'step-02-profile'
|
||||
description: 'Gather comprehensive user profile information through collaborative conversation'
|
||||
|
||||
nextStepFile: './step-03-assessment.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
profileTemplate: '../templates/profile-section.md'
|
||||
---
|
||||
|
||||
# Step 2: User Profile & Goals Collection
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To gather comprehensive user profile information through collaborative conversation that will inform the creation of a personalized nutrition plan tailored to their lifestyle, preferences, and health objectives.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and structured planning
|
||||
- ✅ User brings their personal preferences and lifestyle constraints
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on collecting profile and goal information
|
||||
- 🚫 FORBIDDEN to provide meal recommendations or nutrition advice in this step
|
||||
- 💬 Ask questions conversationally, not like a form
|
||||
- 🚫 DO NOT skip any profile section - each affects meal recommendations
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Engage in natural conversation to gather profile information
|
||||
- 💾 After collecting all information, append to {outputFile}
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until user selects 'C' and content is saved
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Document and frontmatter are already loaded from initialization
|
||||
- Focus ONLY on collecting user profile and goals
|
||||
- Don't provide meal recommendations in this step
|
||||
- This is about understanding, not prescribing
|
||||
|
||||
## PROFILE COLLECTION PROCESS:
|
||||
|
||||
### 1. Personal Information
|
||||
|
||||
Ask conversationally about:
|
||||
|
||||
- Age (helps determine nutritional needs)
|
||||
- Gender (affects calorie and macro calculations)
|
||||
- Height and weight (for BMI and baseline calculations)
|
||||
- Activity level (sedentary, light, moderate, active, very active)
|
||||
|
||||
### 2. Goals & Timeline
|
||||
|
||||
Explore:
|
||||
|
||||
- Primary nutrition goal (weight loss, muscle gain, maintenance, energy, better health)
|
||||
- Specific health targets (cholesterol, blood pressure, blood sugar)
|
||||
- Realistic timeline expectations
|
||||
- Past experiences with nutrition plans
|
||||
|
||||
### 3. Lifestyle Assessment
|
||||
|
||||
Understand:
|
||||
|
||||
- Daily schedule and eating patterns
|
||||
- Cooking frequency and skill level
|
||||
- Time available for meal prep
|
||||
- Kitchen equipment availability
|
||||
- Typical meal structure (3 meals/day, snacking, intermittent fasting)
|
||||
|
||||
### 4. Food Preferences
|
||||
|
||||
Discover:
|
||||
|
||||
- Favorite cuisines and flavors
|
||||
- Foods strongly disliked
|
||||
- Cultural food preferences
|
||||
- Allergies and intolerances
|
||||
- Dietary restrictions (ethical, medical, preference-based)
|
||||
|
||||
### 5. Practical Considerations
|
||||
|
||||
Discuss:
|
||||
|
||||
- Weekly grocery budget
|
||||
- Access to grocery stores
|
||||
- Family/household eating considerations
|
||||
- Social eating patterns
|
||||
|
||||
## CONTENT TO APPEND TO DOCUMENT:
|
||||
|
||||
After collecting all profile information, append to {outputFile}:
|
||||
|
||||
Load and append the content from {profileTemplate}
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated, will you then load, read entire file, then execute {nextStepFile} to execute and begin dietary needs assessment step.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Profile collected through conversation (not interrogation)
|
||||
- All user preferences documented
|
||||
- Content appended to {outputFile}
|
||||
- {outputFile} frontmatter updated with step completion
|
||||
- Menu presented after completing every other step first in order and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Generating content without user input
|
||||
- Skipping profile sections
|
||||
- Providing meal recommendations in this step
|
||||
- Proceeding to next step without 'C' selection
|
||||
- Not updating document frontmatter
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,146 +0,0 @@
|
||||
---
|
||||
name: 'step-03-assessment'
|
||||
description: 'Analyze nutritional requirements, identify restrictions, and calculate target macros'
|
||||
|
||||
nextStepFile: './step-04-strategy.md'\
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Data References
|
||||
dietaryRestrictionsDB: '../data/dietary-restrictions.csv'
|
||||
macroCalculatorDB: '../data/macro-calculator.csv'
|
||||
|
||||
# Template References
|
||||
assessmentTemplate: '../templates/assessment-section.md'
|
||||
---
|
||||
|
||||
# Step 3: Dietary Needs & Restrictions Assessment
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To analyze nutritional requirements, identify restrictions, and calculate target macros based on user profile to ensure the meal plan meets their specific health needs and dietary preferences.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a nutrition expert and meal planning specialist
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring nutritional expertise and assessment knowledge, user brings their health context
|
||||
- ✅ Together we produce something better than the sum of our own parts
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 ALWAYS check for allergies and medical restrictions first
|
||||
- 🚫 DO NOT provide medical advice - always recommend consulting professionals
|
||||
- 💬 Explain the "why" behind nutritional recommendations
|
||||
- 📋 Load dietary-restrictions.csv and macro-calculator.csv for accurate analysis
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Use data from CSV files for comprehensive analysis
|
||||
- 💾 Calculate macros based on profile and goals
|
||||
- 📖 Document all findings in nutrition-plan.md
|
||||
- 🚫 FORBIDDEN to prescribe medical nutrition therapy
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- User profile is already loaded from step 2
|
||||
- Focus ONLY on assessment and calculation
|
||||
- Refer medical conditions to professionals
|
||||
- Use data files for reference
|
||||
|
||||
## ASSESSMENT PROCESS:
|
||||
|
||||
### 1. Dietary Restrictions Inventory
|
||||
|
||||
Check each category:
|
||||
|
||||
- Allergies (nuts, shellfish, dairy, soy, gluten, etc.)
|
||||
- Medical conditions (diabetes, hypertension, IBS, etc.)
|
||||
- Ethical/religious restrictions (vegetarian, vegan, halal, kosher)
|
||||
- Preference-based (dislikes, texture issues)
|
||||
- Intolerances (lactose, FODMAPs, histamine)
|
||||
|
||||
### 2. Macronutrient Targets
|
||||
|
||||
Using macro-calculator.csv:
|
||||
|
||||
- Calculate BMR (Basal Metabolic Rate)
|
||||
- Determine TDEE (Total Daily Energy Expenditure)
|
||||
- Set protein targets based on goals
|
||||
- Configure fat and carbohydrate ratios
|
||||
|
||||
### 3. Micronutrient Focus Areas
|
||||
|
||||
Based on goals and restrictions:
|
||||
|
||||
- Iron (for plant-based diets)
|
||||
- Calcium (dairy-free)
|
||||
- Vitamin B12 (vegan diets)
|
||||
- Fiber (weight management)
|
||||
- Electrolytes (active individuals)
|
||||
|
||||
#### CONTENT TO APPEND TO DOCUMENT:
|
||||
|
||||
After assessment, append to {outputFile}:
|
||||
|
||||
Load and append the content from {assessmentTemplate}
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#4-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated, will you then load, read entire file, then execute `{workflow_path}/step-04-strategy.md` to execute and begin meal strategy creation step.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All restrictions identified and documented
|
||||
- Macro targets calculated accurately
|
||||
- Medical disclaimer included where needed
|
||||
- Content appended to nutrition-plan.md
|
||||
- Frontmatter updated with step completion
|
||||
- Menu presented and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Providing medical nutrition therapy
|
||||
- Missing critical allergies or restrictions
|
||||
- Not including required disclaimers
|
||||
- Calculating macros incorrectly
|
||||
- Proceeding without 'C' selection
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
@@ -1,176 +0,0 @@
|
||||
---
|
||||
name: 'step-04-strategy'
|
||||
description: 'Design a personalized meal strategy that meets nutritional needs and fits lifestyle'
|
||||
|
||||
nextStepFile: './step-05-shopping.md'
|
||||
alternateNextStepFile: './step-06-prep-schedule.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Data References
|
||||
recipeDatabase: '../data/recipe-database.csv'
|
||||
|
||||
# Template References
|
||||
strategyTemplate: '../templates/strategy-section.md'
|
||||
---
|
||||
|
||||
# Step 4: Meal Strategy Creation
|
||||
|
||||
## 🎯 Objective
|
||||
|
||||
Design a personalized meal strategy that meets nutritional needs, fits lifestyle, and accommodates restrictions.
|
||||
|
||||
## 📋 MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER suggest meals without considering ALL user restrictions
|
||||
- 📖 CRITICAL: Reference recipe-database.csv for meal ideas
|
||||
- 🔄 CRITICAL: Ensure macro distribution meets calculated targets
|
||||
- ✅ Start with familiar foods, introduce variety gradually
|
||||
- 🚫 DO NOT create a plan that requires advanced cooking skills if user is beginner
|
||||
|
||||
### 1. Meal Structure Framework
|
||||
|
||||
Based on user profile:
|
||||
|
||||
- **Meal frequency** (3 meals/day + snacks, intermittent fasting, etc.)
|
||||
- **Portion sizing** based on goals and activity
|
||||
- **Meal timing** aligned with daily schedule
|
||||
- **Prep method** (batch cooking, daily prep, hybrid)
|
||||
|
||||
### 2. Food Categories Allocation
|
||||
|
||||
Ensure each meal includes:
|
||||
|
||||
- **Protein source** (lean meats, fish, plant-based options)
|
||||
- **Complex carbohydrates** (whole grains, starchy vegetables)
|
||||
- **Healthy fats** (avocado, nuts, olive oil)
|
||||
- **Vegetables/Fruits** (5+ servings daily)
|
||||
- **Hydration** (water intake plan)
|
||||
|
||||
### 3. Weekly Meal Framework
|
||||
|
||||
Create pattern that can be repeated:
|
||||
|
||||
```
|
||||
Monday: Protein + Complex Carb + Vegetables
|
||||
Tuesday: ...
|
||||
Wednesday: ...
|
||||
```
|
||||
|
||||
- Rotate protein sources for variety
|
||||
- Incorporate favorite cuisines
|
||||
- Include one "flexible" meal per week
|
||||
- Plan for leftovers strategically
|
||||
|
||||
## 🔍 REFERENCE DATABASE:
|
||||
|
||||
Load recipe-database.csv for:
|
||||
|
||||
- Quick meal ideas (<15 min)
|
||||
- Batch prep friendly recipes
|
||||
- Restriction-specific options
|
||||
- Macro-friendly alternatives
|
||||
|
||||
## 🎯 PERSONALIZATION FACTORS:
|
||||
|
||||
### For Beginners:
|
||||
|
||||
- Simple 3-ingredient meals
|
||||
- One-pan/one-pot recipes
|
||||
- Prep-ahead breakfast options
|
||||
- Healthy convenience meals
|
||||
|
||||
### For Busy Schedules:
|
||||
|
||||
- 30-minute or less meals
|
||||
- Grab-and-go options
|
||||
- Minimal prep breakfasts
|
||||
- Slow cooker/air fryer options
|
||||
|
||||
### For Budget Conscious:
|
||||
|
||||
- Bulk buying strategies
|
||||
- Seasonal produce focus
|
||||
- Protein budgeting
|
||||
- Minimize food waste
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- All nutritional targets met
|
||||
- Realistic for user's cooking skill level
|
||||
- Fits within time constraints
|
||||
- Respects budget limitations
|
||||
- Includes enjoyable foods
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Too complex for cooking skill level
|
||||
- Requires expensive specialty ingredients
|
||||
- Too much time required
|
||||
- Boring/repetitive meals
|
||||
- Doesn't account for eating out/social events
|
||||
|
||||
## 💬 SAMPLE DIALOG STYLE:
|
||||
|
||||
**✅ GOOD (Intent-based):**
|
||||
"Looking at your goals and love for Mediterranean flavors, we could create a weekly rotation featuring grilled chicken, fish, and plant proteins. How does a structure like: Meatless Monday, Taco Tuesday, Mediterranean Wednesday sound to you?"
|
||||
|
||||
**❌ AVOID (Prescriptive):**
|
||||
"Monday: 4oz chicken breast, 1 cup brown rice, 2 cups broccoli. Tuesday: 4oz salmon..."
|
||||
|
||||
## 📊 APPEND TO TEMPLATE:
|
||||
|
||||
Begin building nutrition-plan.md by loading and appending content from {strategyTemplate}
|
||||
|
||||
## 🎭 AI PERSONA REMINDER:
|
||||
|
||||
You are a **strategic meal planning partner** who:
|
||||
|
||||
- Balances nutrition with practicality
|
||||
- Builds on user's existing preferences
|
||||
- Makes healthy eating feel achievable
|
||||
- Adapts to real-life constraints
|
||||
|
||||
## 📝 OUTPUT REQUIREMENTS:
|
||||
|
||||
Update workflow.md frontmatter:
|
||||
|
||||
```yaml
|
||||
mealStrategy:
|
||||
structure: [meal pattern]
|
||||
proteinRotation: [list]
|
||||
prepMethod: [batch/daily/hybrid]
|
||||
cookingComplexity: [beginner/intermediate/advanced]
|
||||
```
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Meal Variety Optimization [P] Chef & Dietitian Collaboration [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- HALT and AWAIT ANSWER
|
||||
- IF A: Execute `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`
|
||||
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
|
||||
- IF C: Save content to nutrition-plan.md, update frontmatter, check cooking frequency:
|
||||
- IF cooking frequency > 2x/week: load, read entire file, then execute `{workflow_path}/step-05-shopping.md`
|
||||
- IF cooking frequency ≤ 2x/week: load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated:
|
||||
|
||||
- IF cooking frequency > 2x/week: load, read entire file, then execute `{workflow_path}/step-05-shopping.md` to generate shopping list
|
||||
- IF cooking frequency ≤ 2x/week: load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md` to skip shopping list
|
||||
@@ -1,161 +0,0 @@
|
||||
---
|
||||
name: 'step-05-shopping'
|
||||
description: 'Create a comprehensive shopping list that supports the meal strategy'
|
||||
|
||||
nextStepFile: './step-06-prep-schedule.md'
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
shoppingTemplate: '../templates/shopping-section.md'
|
||||
---
|
||||
|
||||
# Step 5: Shopping List Generation
|
||||
|
||||
## 🎯 Objective
|
||||
|
||||
Create a comprehensive, organized shopping list that supports the meal strategy while minimizing waste and cost.
|
||||
|
||||
## 📋 MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 CRITICAL: This step is OPTIONAL - skip if user cooks <2x per week
|
||||
- 📖 CRITICAL: Cross-reference with existing pantry items
|
||||
- 🔄 CRITICAL: Organize by store section for efficient shopping
|
||||
- ✅ Include quantities based on serving sizes and meal frequency
|
||||
- 🚫 DO NOT forget staples and seasonings
|
||||
Only proceed if:
|
||||
|
||||
```yaml
|
||||
cookingFrequency: "3-5x" OR "daily"
|
||||
```
|
||||
|
||||
Otherwise, skip to Step 5: Prep Schedule
|
||||
|
||||
## 📊 Shopping List Organization:
|
||||
|
||||
### 1. By Store Section
|
||||
|
||||
```
|
||||
PRODUCE:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
PROTEIN:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
DAIRY/ALTERNATIVES:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
GRAINS/STARCHES:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
FROZEN:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
PANTRY:
|
||||
- [Item] - [Quantity] - [Meal(s) used in]
|
||||
```
|
||||
|
||||
### 2. Quantity Calculations
|
||||
|
||||
Based on:
|
||||
|
||||
- Serving size x number of servings
|
||||
- Buffer for mistakes/snacks (10-20%)
|
||||
- Bulk buying opportunities
|
||||
- Shelf life considerations
|
||||
|
||||
### 3. Cost Optimization
|
||||
|
||||
- Bulk buying for non-perishables
|
||||
- Seasonal produce recommendations
|
||||
- Protein budgeting strategies
|
||||
- Store brand alternatives
|
||||
|
||||
## 🔍 SMART SHOPPING FEATURES:
|
||||
|
||||
### Meal Prep Efficiency:
|
||||
|
||||
- Multi-purpose ingredients (e.g., spinach for salads AND smoothies)
|
||||
- Batch prep staples (grains, proteins)
|
||||
- Versatile seasonings
|
||||
|
||||
### Waste Reduction:
|
||||
|
||||
- "First to use" items for perishables
|
||||
- Flexible ingredient swaps
|
||||
- Portion planning
|
||||
|
||||
### Budget Helpers:
|
||||
|
||||
- Priority items (must-have vs nice-to-have)
|
||||
- Bulk vs fresh decisions
|
||||
- Seasonal substitutions
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- Complete list organized by store section
|
||||
- Quantities calculated accurately
|
||||
- Pantry items cross-referenced
|
||||
- Budget considerations addressed
|
||||
- Waste minimization strategies included
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Forgetting staples and seasonings
|
||||
- Buying too much of perishable items
|
||||
- Not organizing by store section
|
||||
- Ignoring user's budget constraints
|
||||
- Not checking existing pantry items
|
||||
|
||||
## 💬 SAMPLE DIALOG STYLE:
|
||||
|
||||
**✅ GOOD (Intent-based):**
|
||||
"Let's organize your shopping trip for maximum efficiency. I'll group items by store section. Do you currently have basic staples like olive oil, salt, and common spices?"
|
||||
|
||||
**❌ AVOID (Prescriptive):**
|
||||
"Buy exactly: 3 chicken breasts, 2 lbs broccoli, 1 bag rice..."
|
||||
|
||||
## 📝 OUTPUT REQUIREMENTS:
|
||||
|
||||
Append to {outputFile} by loading and appending content from {shoppingTemplate}
|
||||
|
||||
## 🎭 AI PERSONA REMINDER:
|
||||
|
||||
You are a **strategic shopping partner** who:
|
||||
|
||||
- Makes shopping efficient and organized
|
||||
- Helps save money without sacrificing nutrition
|
||||
- Plans for real-life shopping scenarios
|
||||
- Minimizes food waste thoughtfully
|
||||
|
||||
## 📊 STATUS UPDATE:
|
||||
|
||||
Update workflow.md frontmatter:
|
||||
|
||||
```yaml
|
||||
shoppingListGenerated: true
|
||||
budgetOptimized: [yes/partial/no]
|
||||
pantryChecked: [yes/no]
|
||||
```
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Budget Optimization Strategies [P] Shopping Perspectives [C] Continue to Prep Schedule
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- HALT and AWAIT ANSWER
|
||||
- IF A: Execute `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`
|
||||
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
|
||||
- IF C: Save content to nutrition-plan.md, update frontmatter, then load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document and frontmatter is updated, will you then load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md` to execute and begin meal prep schedule creation.
|
||||
@@ -1,188 +0,0 @@
|
||||
---
|
||||
name: 'step-06-prep-schedule'
|
||||
description: "Create a realistic meal prep schedule that fits the user's lifestyle"
|
||||
|
||||
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
prepScheduleTemplate: '../templates/prep-schedule-section.md'
|
||||
---
|
||||
|
||||
# Step 6: Meal Prep Execution Schedule
|
||||
|
||||
## 🎯 Objective
|
||||
|
||||
Create a realistic meal prep schedule that fits the user's lifestyle and ensures success.
|
||||
|
||||
## 📋 MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER suggest a prep schedule that requires more time than user has available
|
||||
- 📖 CRITICAL: Base schedule on user's actual cooking frequency
|
||||
- 🔄 CRITICAL: Include storage and reheating instructions
|
||||
- ✅ Start with a sustainable prep routine
|
||||
- 🚫 DO NOT overwhelm with too much at once
|
||||
|
||||
### 1. Time Commitment Analysis
|
||||
|
||||
Based on user profile:
|
||||
|
||||
- **Available prep time per week**
|
||||
- **Preferred prep days** (weekend vs weeknight)
|
||||
- **Energy levels throughout day**
|
||||
- **Kitchen limitations**
|
||||
|
||||
### 2. Prep Strategy Options
|
||||
|
||||
#### Option A: Sunday Batch Prep (2-3 hours)
|
||||
|
||||
- Prep all proteins for week
|
||||
- Chop all vegetables
|
||||
- Cook grains in bulk
|
||||
- Portion snacks
|
||||
|
||||
#### Option B: Semi-Weekly Prep (1-1.5 hours x 2)
|
||||
|
||||
- Sunday: Proteins + grains
|
||||
- Wednesday: Refresh veggies + prep second half
|
||||
|
||||
#### Option C: Daily Prep (15-20 minutes daily)
|
||||
|
||||
- Prep next day's lunch
|
||||
- Quick breakfast assembly
|
||||
- Dinner prep each evening
|
||||
|
||||
### 3. Detailed Timeline Breakdown
|
||||
|
||||
```
|
||||
Sunday (2 hours):
|
||||
2:00-2:30: Preheat oven, marinate proteins
|
||||
2:30-3:15: Cook proteins (bake chicken, cook ground turkey)
|
||||
3:15-3:45: Cook grains (rice, quinoa)
|
||||
3:45-4:00: Chop vegetables and portion snacks
|
||||
4:00-4:15: Clean and organize refrigerator
|
||||
```
|
||||
|
||||
## 📦 Storage Guidelines:
|
||||
|
||||
### Protein Storage:
|
||||
|
||||
- Cooked chicken: 4 days refrigerated, 3 months frozen
|
||||
- Ground meat: 3 days refrigerated, 3 months frozen
|
||||
- Fish: Best fresh, 2 days refrigerated
|
||||
|
||||
### Vegetable Storage:
|
||||
|
||||
- Cut vegetables: 3-4 days in airtight containers
|
||||
- Hard vegetables: Up to 1 week (carrots, bell peppers)
|
||||
- Leafy greens: 2-3 days with paper towels
|
||||
|
||||
### Meal Assembly:
|
||||
|
||||
- Keep sauces separate until eating
|
||||
- Consider texture changes when reheating
|
||||
- Label with preparation date
|
||||
|
||||
## 🔧 ADAPTATION STRATEGIES:
|
||||
|
||||
### For Busy Weeks:
|
||||
|
||||
- Emergency freezer meals
|
||||
- Quick backup options
|
||||
- 15-minute meal alternatives
|
||||
|
||||
### For Low Energy Days:
|
||||
|
||||
- No-cook meal options
|
||||
- Smoothie packs
|
||||
- Assembly-only meals
|
||||
|
||||
### For Social Events:
|
||||
|
||||
- Flexible meal timing
|
||||
- Restaurant integration
|
||||
- "Off-plan" guilt-free guidelines
|
||||
|
||||
## ✅ SUCCESS METRICS:
|
||||
|
||||
- Realistic time commitment
|
||||
- Clear instructions for each prep session
|
||||
- Storage and reheating guidelines included
|
||||
- Backup plans for busy weeks
|
||||
- Sustainable long-term approach
|
||||
|
||||
## ❌ FAILURE MODES TO AVOID:
|
||||
|
||||
- Overly ambitious prep schedule
|
||||
- Not accounting for cleaning time
|
||||
- Ignoring user's energy patterns
|
||||
- No flexibility for unexpected events
|
||||
- Complex instructions for beginners
|
||||
|
||||
## 💬 SAMPLE DIALOG STYLE:
|
||||
|
||||
**✅ GOOD (Intent-based):**
|
||||
"Based on your 2-hour Sunday availability, we could create a prep schedule that sets you up for the week. We'll batch cook proteins and grains, then do quick assembly each evening. How does that sound with your energy levels?"
|
||||
|
||||
**❌ AVOID (Prescriptive):**
|
||||
"You must prep every Sunday from 2-4 PM. No exceptions."
|
||||
|
||||
## 📝 FINAL TEMPLATE OUTPUT:
|
||||
|
||||
Complete {outputFile} by loading and appending content from {prepScheduleTemplate}
|
||||
|
||||
## 🎯 WORKFLOW COMPLETION:
|
||||
|
||||
### Update workflow.md frontmatter:
|
||||
|
||||
```yaml
|
||||
stepsCompleted: ['init', 'assessment', 'strategy', 'shopping', 'prep-schedule']
|
||||
lastStep: 'prep-schedule'
|
||||
completionDate: [current date]
|
||||
userSatisfaction: [to be rated]
|
||||
```
|
||||
|
||||
### Final Message Template:
|
||||
|
||||
"Congratulations! Your personalized nutrition plan is complete. Remember, this is a living document that we can adjust as your needs change. Check in weekly for the first month to fine-tune your approach!"
|
||||
|
||||
## 📊 NEXT STEPS FOR USER:
|
||||
|
||||
1. Review complete plan
|
||||
2. Shop for ingredients
|
||||
3. Execute first prep session
|
||||
4. Note any adjustments needed
|
||||
5. Schedule follow-up review
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Prep Techniques [P] Coach Perspectives [C] Complete Workflow
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
- Use menu handling logic section below
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- HALT and AWAIT ANSWER
|
||||
- IF A: Execute `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`
|
||||
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
|
||||
- IF C: Update frontmatter with all steps completed, mark workflow complete, display final message
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and content is saved to document:
|
||||
|
||||
1. Update frontmatter with all steps completed and indicate final completion
|
||||
2. Display final completion message
|
||||
3. End workflow session
|
||||
|
||||
**Final Message:** "Congratulations! Your personalized nutrition plan is complete. Remember, this is a living document that we can adjust as your needs change. Check in weekly for the first month to fine-tune your approach!"
|
||||
@@ -1,25 +0,0 @@
|
||||
## 📊 Daily Nutrition Targets
|
||||
|
||||
**Daily Calories:** [calculated amount]
|
||||
**Protein:** [grams]g ([percentage]% of calories)
|
||||
**Carbohydrates:** [grams]g ([percentage]% of calories)
|
||||
**Fat:** [grams]g ([percentage]% of calories)
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Dietary Considerations
|
||||
|
||||
### Allergies & Intolerances
|
||||
|
||||
- [List of identified restrictions]
|
||||
- [Cross-reactivity notes if applicable]
|
||||
|
||||
### Medical Considerations
|
||||
|
||||
- [Conditions noted with professional referral recommendation]
|
||||
- [Special nutritional requirements]
|
||||
|
||||
### Preferences
|
||||
|
||||
- [Cultural/ethical restrictions]
|
||||
- [Strong dislikes to avoid]
|
||||
@@ -1,68 +0,0 @@
|
||||
# Personalized Nutrition Plan
|
||||
|
||||
**Created:** {{date}}
|
||||
**Author:** {{user_name}}
|
||||
|
||||
---
|
||||
|
||||
## ✅ Progress Tracking
|
||||
|
||||
**Steps Completed:**
|
||||
|
||||
- [ ] Step 1: Workflow Initialization
|
||||
- [ ] Step 2: User Profile & Goals
|
||||
- [ ] Step 3: Dietary Assessment
|
||||
- [ ] Step 4: Meal Strategy
|
||||
- [ ] Step 5: Shopping List _(if applicable)_
|
||||
- [ ] Step 6: Meal Prep Schedule
|
||||
|
||||
**Last Updated:** {{date}}
|
||||
|
||||
---
|
||||
|
||||
## 📋 Executive Summary
|
||||
|
||||
**Primary Goal:** [To be filled in Step 1]
|
||||
|
||||
**Daily Nutrition Targets:**
|
||||
|
||||
- Calories: [To be calculated in Step 2]
|
||||
- Protein: [To be calculated in Step 2]g
|
||||
- Carbohydrates: [To be calculated in Step 2]g
|
||||
- Fat: [To be calculated in Step 2]g
|
||||
|
||||
**Key Considerations:** [To be filled in Step 2]
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Your Nutrition Goals
|
||||
|
||||
[Content to be added in Step 1]
|
||||
|
||||
---
|
||||
|
||||
## 🍽️ Meal Framework
|
||||
|
||||
[Content to be added in Step 3]
|
||||
|
||||
---
|
||||
|
||||
## 🛒 Shopping List
|
||||
|
||||
[Content to be added in Step 4 - if applicable]
|
||||
|
||||
---
|
||||
|
||||
## ⏰ Meal Prep Schedule
|
||||
|
||||
[Content to be added in Step 5]
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes & Next Steps
|
||||
|
||||
[Add any notes or adjustments as you progress]
|
||||
|
||||
---
|
||||
|
||||
**Medical Disclaimer:** This nutrition plan is for educational purposes only and is not medical advice. Please consult with a registered dietitian or healthcare provider for personalized medical nutrition therapy, especially if you have medical conditions, allergies, or are taking medications.
|
||||
@@ -1,29 +0,0 @@
|
||||
## Meal Prep Schedule
|
||||
|
||||
### [Chosen Prep Strategy]
|
||||
|
||||
### Weekly Prep Tasks
|
||||
|
||||
- [Day]: [Tasks] - [Time needed]
|
||||
- [Day]: [Tasks] - [Time needed]
|
||||
|
||||
### Daily Assembly
|
||||
|
||||
- Morning: [Quick tasks]
|
||||
- Evening: [Assembly instructions]
|
||||
|
||||
### Storage Guide
|
||||
|
||||
- Proteins: [Instructions]
|
||||
- Vegetables: [Instructions]
|
||||
- Grains: [Instructions]
|
||||
|
||||
### Success Tips
|
||||
|
||||
- [Personalized success strategies]
|
||||
|
||||
### Weekly Review Checklist
|
||||
|
||||
- [ ] Check weekend schedule
|
||||
- [ ] Review meal plan satisfaction
|
||||
- [ ] Adjust next week's plan
|
||||
@@ -1,47 +0,0 @@
|
||||
## 🎯 Your Nutrition Goals
|
||||
|
||||
### Primary Objective
|
||||
|
||||
[User's main goal and motivation]
|
||||
|
||||
### Target Timeline
|
||||
|
||||
[Realistic timeframe and milestones]
|
||||
|
||||
### Success Metrics
|
||||
|
||||
- [Specific measurable outcomes]
|
||||
- [Non-scale victories]
|
||||
- [Lifestyle improvements]
|
||||
|
||||
---
|
||||
|
||||
## 👤 Personal Profile
|
||||
|
||||
### Basic Information
|
||||
|
||||
- **Age:** [age]
|
||||
- **Gender:** [gender]
|
||||
- **Height:** [height]
|
||||
- **Weight:** [current weight]
|
||||
- **Activity Level:** [activity description]
|
||||
|
||||
### Lifestyle Factors
|
||||
|
||||
- **Daily Schedule:** [typical day structure]
|
||||
- **Cooking Frequency:** [how often they cook]
|
||||
- **Cooking Skill:** [beginner/intermediate/advanced]
|
||||
- **Available Time:** [time for meal prep]
|
||||
|
||||
### Food Preferences
|
||||
|
||||
- **Favorite Cuisines:** [list]
|
||||
- **Disliked Foods:** [list]
|
||||
- **Allergies:** [list]
|
||||
- **Dietary Restrictions:** [list]
|
||||
|
||||
### Budget & Access
|
||||
|
||||
- **Weekly Budget:** [range]
|
||||
- **Shopping Access:** [stores available]
|
||||
- **Special Considerations:** [family, social, etc.]
|
||||
@@ -1,37 +0,0 @@
|
||||
## Weekly Shopping List
|
||||
|
||||
### Check Pantry First
|
||||
|
||||
- [List of common staples to verify]
|
||||
|
||||
### Produce Section
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Protein
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Dairy/Alternatives
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Grains/Starches
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Frozen
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Pantry
|
||||
|
||||
- [Item] - [Quantity] - [Used in]
|
||||
|
||||
### Money-Saving Tips
|
||||
|
||||
- [Personalized savings strategies]
|
||||
|
||||
### Flexible Swaps
|
||||
|
||||
- [Alternative options if items unavailable]
|
||||
@@ -1,18 +0,0 @@
|
||||
## Weekly Meal Framework
|
||||
|
||||
### Protein Rotation
|
||||
|
||||
- Monday: [Protein source]
|
||||
- Tuesday: [Protein source]
|
||||
- Wednesday: [Protein source]
|
||||
- Thursday: [Protein source]
|
||||
- Friday: [Protein source]
|
||||
- Saturday: [Protein source]
|
||||
- Sunday: [Protein source]
|
||||
|
||||
### Meal Timing
|
||||
|
||||
- Breakfast: [Time] - [Type]
|
||||
- Lunch: [Time] - [Type]
|
||||
- Dinner: [Time] - [Type]
|
||||
- Snacks: [As needed]
|
||||
@@ -1,59 +0,0 @@
|
||||
---
|
||||
name: Meal Prep & Nutrition Plan
|
||||
description: Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.
|
||||
web_bundle: true
|
||||
standalone: false
|
||||
---
|
||||
|
||||
# Meal Prep & Nutrition Plan Workflow
|
||||
|
||||
**Goal:** Create personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.
|
||||
|
||||
**Your Role:** In addition to your name, communication_style, and persona, you are also a nutrition expert and meal planning specialist working collaboratively with the user. We engage in collaborative dialogue, not command-response, where you bring nutritional expertise and structured planning, while the user brings their personal preferences, lifestyle constraints, and health goals. Work together to create a sustainable, enjoyable nutrition plan.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
|
||||
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
||||
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- 🛑 **NEVER** load multiple step files simultaneously
|
||||
- 📖 **ALWAYS** read entire step file before execution
|
||||
- 🚫 **NEVER** skip steps or optimize the sequence
|
||||
- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
||||
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
||||
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
||||
- 📋 **NEVER** create mental todo lists from future steps
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the workflow.
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
## Standard Variables (Always Available)
|
||||
|
||||
| Variable | Example Value |
|
||||
| ----------------- | -------------------------------------- |
|
||||
| `{project-root}` | `/Users/user/dev/BMAD-METHOD` |
|
||||
| `{project_name}` | `my-project` |
|
||||
| `{output_folder}` | `/Users/user/dev/BMAD-METHOD/output` |
|
||||
| `{user_name}` | `Brian` |
|
||||
| `{communication_language}` | `english` |
|
||||
| `{document_output_language}` | `english` |
|
||||
| Variable | Example Value |
|
||||
| ---------------------------- | ------------------------------------ |
|
||||
| `{project-root}` | `/Users/user/dev/BMAD-METHOD` |
|
||||
| `{project_name}` | `my-project` |
|
||||
| `{output_folder}` | `/Users/user/dev/BMAD-METHOD/output` |
|
||||
| `{user_name}` | `Brian` |
|
||||
| `{communication_language}` | `english` |
|
||||
| `{document_output_language}` | `english` |
|
||||
|
||||
---
|
||||
|
||||
@@ -101,7 +101,7 @@ nextStepFile: './step-02-foo.md'
|
||||
### 1. Step to Step (SAME folder) = ./filename.md
|
||||
```yaml
|
||||
# ❌ WRONG
|
||||
nextStepFile: '{workflow_path}/steps/step-02.md'
|
||||
nextStepFile: './step-02.md'
|
||||
nextStepFile: '{project-root}/_bmad/bmm/workflows/foo/steps/step-02.md'
|
||||
|
||||
# ✅ CORRECT
|
||||
@@ -145,14 +145,14 @@ outputFile: '{output_folder}/output.md'
|
||||
|
||||
These patterns are **NEVER ALLOWED** in workflow step frontmatter:
|
||||
|
||||
| Pattern | Why It's Wrong |
|
||||
|---------|----------------|
|
||||
| `workflow_path: '{project-root}/...'` | Use relative paths instead |
|
||||
| `thisStepFile: './step-XX.md'` | Almost never used - remove unless actually referenced |
|
||||
| `workflowFile: './workflow.md'` | Almost never used - remove unless actually referenced |
|
||||
| `{workflow_path}/steps/...` | Use `./step-XX.md` (same folder) |
|
||||
| `{workflow_path}/templates/...` | Use `../template.md` (parent folder) |
|
||||
| `{workflow_path}/data/...` | Use `./data/file.md` (subfolder) |
|
||||
| Pattern | Why It's Wrong |
|
||||
| ------------------------------------- | ----------------------------------------------------- |
|
||||
| `workflow_path: '{project-root}/...'` | Use relative paths instead |
|
||||
| `thisStepFile: './step-XX.md'` | Almost never used - remove unless actually referenced |
|
||||
| `workflowFile: './workflow.md'` | Almost never used - remove unless actually referenced |
|
||||
| `./...` | Use `./step-XX.md` (same folder) |
|
||||
| `{workflow_path}/templates/...` | Use `../template.md` (parent folder) |
|
||||
| `{workflow_path}/data/...` | Use `./data/file.md` (subfolder) |
|
||||
|
||||
---
|
||||
|
||||
@@ -160,13 +160,13 @@ These patterns are **NEVER ALLOWED** in workflow step frontmatter:
|
||||
|
||||
Use `snake_case` with descriptive prefixes:
|
||||
|
||||
| Pattern | Usage | Example |
|
||||
| --------- | ---------------------- | -------------------------- |
|
||||
| `{*_File}` | File references | `outputFile`, `nextStepFile` |
|
||||
| `{*_Task}` | Task references | `advancedElicitationTask` |
|
||||
| `{*_Workflow}` | Workflow references | `partyModeWorkflow` |
|
||||
| `{*_Template}` | Templates | `productBriefTemplate` |
|
||||
| `{*_Data}` | Data files | `dietaryData` |
|
||||
| Pattern | Usage | Example |
|
||||
| -------------- | ------------------- | ---------------------------- |
|
||||
| `{*_File}` | File references | `outputFile`, `nextStepFile` |
|
||||
| `{*_Task}` | Task references | `advancedElicitationTask` |
|
||||
| `{*_Workflow}` | Workflow references | `partyModeWorkflow` |
|
||||
| `{*_Template}` | Templates | `productBriefTemplate` |
|
||||
| `{*_Data}` | Data files | `dietaryData` |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ All steps share this skeleton:
|
||||
---
|
||||
name: 'step-[N]-[name]'
|
||||
description: '[what it does]'
|
||||
[file references - ONLY used variables]
|
||||
[file references - relative path and only if used in this steps file]
|
||||
---
|
||||
|
||||
# Step [N]: [Name]
|
||||
@@ -76,10 +76,9 @@ description: '[what it does]'
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize [workflow]'
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-[name].md'
|
||||
nextStepFile: './step-02-[name].md'
|
||||
outputFile: '{output_folder}/[output].md'
|
||||
templateFile: '{workflow_path}/templates/[template].md'
|
||||
templateFile: '../templates/[template].md'
|
||||
---
|
||||
```
|
||||
|
||||
@@ -97,7 +96,7 @@ templateFile: '{workflow_path}/templates/[template].md'
|
||||
|
||||
**Frontmatter:** Add `continueFile` reference
|
||||
```yaml
|
||||
continueFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
continueFile: './step-01b-continue.md'
|
||||
```
|
||||
|
||||
**Logic:**
|
||||
@@ -140,7 +139,7 @@ workflowFile: '{workflow_path}/workflow.md'
|
||||
```yaml
|
||||
---
|
||||
name: 'step-[N]-[name]'
|
||||
nextStepFile: '{workflow_path}/steps/step-[N+1]-[name].md'
|
||||
nextStepFile: './step-[N+1]-[name].md'
|
||||
outputFile: '{output_folder}/[output].md'
|
||||
advancedElicitationTask: '{project-root}/.../advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/.../party-mode/workflow.md'
|
||||
@@ -161,8 +160,8 @@ partyModeWorkflow: '{project-root}/.../party-mode/workflow.md'
|
||||
|
||||
**Frontmatter:**
|
||||
```yaml
|
||||
nextStepFile: '{workflow_path}/steps/step-[default].md'
|
||||
altStepFile: '{workflow_path}/steps/step-[alternate].md'
|
||||
nextStepFile: './step-[default].md'
|
||||
altStepFile: './step-[alternate].md'
|
||||
```
|
||||
|
||||
**Menu:** Custom letters (L/R/etc.) with branching logic
|
||||
@@ -297,16 +296,16 @@ Mark workflow complete
|
||||
|
||||
## Step Size Guidelines
|
||||
|
||||
| Type | Recommended | Maximum |
|
||||
| ------------------------ | ----------- | ------- |
|
||||
| Init | < 100 | 150 |
|
||||
| Init (with discovery) | < 150 | 200 |
|
||||
| Continuation | < 150 | 200 |
|
||||
| Middle (simple) | < 150 | 200 |
|
||||
| Middle (complex) | < 200 | 250 |
|
||||
| Branch | < 150 | 200 |
|
||||
| Validation sequence | < 100 | 150 |
|
||||
| Final polish | < 150 | 200 |
|
||||
| Final | < 150 | 200 |
|
||||
| Type | Recommended | Maximum |
|
||||
| --------------------- | ----------- | ------- |
|
||||
| Init | < 100 | 150 |
|
||||
| Init (with discovery) | < 150 | 200 |
|
||||
| Continuation | < 150 | 200 |
|
||||
| Middle (simple) | < 150 | 200 |
|
||||
| Middle (complex) | < 200 | 250 |
|
||||
| Branch | < 150 | 200 |
|
||||
| Validation sequence | < 100 | 150 |
|
||||
| Final polish | < 150 | 200 |
|
||||
| Final | < 150 | 200 |
|
||||
|
||||
**If exceeded:** Split into multiple steps or extract to `/data/` files.
|
||||
|
||||
@@ -0,0 +1,386 @@
|
||||
# Subprocess Optimization Patterns
|
||||
|
||||
**Purpose:** Context-saving and performance patterns for subprocess/subagent usage in BMAD workflows.
|
||||
|
||||
---
|
||||
|
||||
## Golden Rules
|
||||
|
||||
1. **Subprocess when operations benefit from parallelization or context isolation**
|
||||
2. **Return ONLY findings to parent, not full file contents** (massive context savings)
|
||||
3. **Always provide graceful fallback** for LLMs without subprocess capability
|
||||
4. **Match pattern to operation type** - grep/regex, deep analysis, or data operations
|
||||
|
||||
---
|
||||
|
||||
## The Three Patterns
|
||||
|
||||
### Pattern 1: Single Subprocess for Grep/Regex Across Many Files
|
||||
|
||||
**Use when:** You can run one command across many files and just need matches/failures
|
||||
|
||||
**Context savings:** Massive - returns only matching lines, not full file contents
|
||||
|
||||
**Template:**
|
||||
```markdown
|
||||
**Launch a subprocess that:**
|
||||
|
||||
1. Runs grep/regex across all target files
|
||||
2. Extracts only matching lines or failures
|
||||
3. Returns structured findings to parent
|
||||
|
||||
```bash
|
||||
# Example: Find hardcoded paths across all files
|
||||
for file in steps-c/*.md; do
|
||||
grep -n "{project-root}/" "$file" || echo "No matches in: $file"
|
||||
done
|
||||
```
|
||||
|
||||
**Subprocess returns to parent:**
|
||||
```json
|
||||
{
|
||||
"violations": [
|
||||
{"file": "step-02.md", "line": 45, "match": "{project-root}/_bmad/bmb/..."}
|
||||
],
|
||||
"summary": {"total_files_checked": 10, "violations_found": 3}
|
||||
}
|
||||
```
|
||||
|
||||
**❌ BAD - Loads all files into parent:**
|
||||
```markdown
|
||||
"For EACH file, load the file and search for {project-root}/"
|
||||
# Parent context gets 10 full files × 200 lines = 2000 lines loaded
|
||||
```
|
||||
|
||||
**✅ GOOD - Single subprocess returns only matches:**
|
||||
```markdown
|
||||
"Launch a subprocess to grep all files for {project-root}/, return only matches"
|
||||
# Parent context gets only matching lines = ~50 lines returned
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Pattern 2: Separate Subprocess Per File for Deep Analysis
|
||||
|
||||
**Use when:** You need to read and understand each file's prose, logic, quality, or flow
|
||||
|
||||
**Context savings:** High - each subprocess returns analysis, not full content
|
||||
|
||||
**Template:**
|
||||
```markdown
|
||||
**DO NOT BE LAZY - For EACH file, launch a subprocess that:**
|
||||
|
||||
1. Loads that file
|
||||
2. Reads and analyzes content deeply (prose, logic, flow, quality)
|
||||
3. Returns structured analysis findings to parent for aggregation
|
||||
|
||||
**Subprocess returns to parent:**
|
||||
```json
|
||||
{
|
||||
"file": "step-03-inquiry.md",
|
||||
"analysis": {
|
||||
"instruction_style": "Intent-based ✅",
|
||||
"collaborative_quality": "Good - asks 1-2 questions at a time",
|
||||
"issues": ["Line 67: Laundry list of 7 questions detected"]
|
||||
},
|
||||
"optimization_opportunities": ["Could use Pattern 1 for menu validation checks"]
|
||||
}
|
||||
```
|
||||
|
||||
**Example use cases:**
|
||||
- Instruction style validation (read prose, classify intent vs prescriptive)
|
||||
- Collaborative quality assessment (analyze question patterns)
|
||||
- Frontmatter compliance (check each variable is used)
|
||||
- Step type validation (verify step follows its type pattern)
|
||||
|
||||
**❌ BAD - Parent loads all files:**
|
||||
```markdown
|
||||
"Load every step file and analyze its instruction style"
|
||||
# Parent context: 10 files × 200 lines = 2000 lines
|
||||
```
|
||||
|
||||
**✅ GOOD - Per-file subprocess returns analysis:**
|
||||
```markdown
|
||||
"DO NOT BE LAZY - For EACH step file, launch a subprocess to analyze instruction style, return findings"
|
||||
# Parent context: 10 structured analysis objects = ~200 lines
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Pattern 3: Subprocess for Data File Operations
|
||||
|
||||
**Use when:** Loading reference data, finding fuzzy/best matches, summarizing key findings from large datasets
|
||||
|
||||
**Context savings:** Massive - returns only matching rows or summaries, not entire data file
|
||||
|
||||
**Template:**
|
||||
```markdown
|
||||
**Launch a subprocess that:**
|
||||
|
||||
1. Loads the data file (reference docs, CSV, knowledge base)
|
||||
2. Performs lookup, matching, or summarization
|
||||
3. Returns ONLY relevant rows or key findings to parent
|
||||
|
||||
**Subprocess returns to parent:**
|
||||
```json
|
||||
{
|
||||
"matches": [
|
||||
{"row": 42, "rule": "Frontmatter variables must be used in body", "applies": true},
|
||||
{"row": 87, "rule": "Relative paths for same-folder refs", "applies": true}
|
||||
],
|
||||
"summary": {"total_rules": 150, "applicable_rules": 2}
|
||||
}
|
||||
```
|
||||
|
||||
**Example use cases:**
|
||||
- **Reference rules lookup**: Load 500-line standards file, return only applicable rules
|
||||
- **CSV fuzzy matching**: Load product database, find best matching category
|
||||
- **Document summarization**: Review 10 documents, extract only key requirements
|
||||
- **Knowledge base search**: Search large knowledge base, return only top matches
|
||||
|
||||
**❌ BAD - Parent loads entire data file:**
|
||||
```markdown
|
||||
"Load {dataFile} with 500 rules and find applicable ones"
|
||||
# Parent context: All 500 rules loaded (5000+ lines)
|
||||
```
|
||||
|
||||
**✅ GOOD - Subprocess returns only matches:**
|
||||
```markdown
|
||||
"Launch subprocess to load {dataFile}, find applicable rules, return only those"
|
||||
# Parent context: Only 2 applicable rules returned (~50 lines)
|
||||
```
|
||||
|
||||
**Advanced example - Document review:**
|
||||
```markdown
|
||||
**Review 10 requirement documents to extract key details:**
|
||||
|
||||
"DO NOT BE LAZY - For EACH document, launch a subprocess that:
|
||||
1. Loads that document
|
||||
2. Extracts key requirements, decisions, constraints
|
||||
3. Returns structured summary to parent
|
||||
|
||||
**Subprocess returns:**
|
||||
```json
|
||||
{
|
||||
"document": "prd-requirements.md",
|
||||
"key_findings": {
|
||||
"requirements": ["User auth", "Data export", "API integration"],
|
||||
"decisions": ["Use JWT", "PostgreSQL", "REST API"],
|
||||
"constraints": ["HIPAA compliant", "Max 100ms response"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# Parent gets summaries, not 10 full documents
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Pattern 4: Parallel Execution Opportunities
|
||||
|
||||
**Use when:** Multiple independent operations could run simultaneously
|
||||
|
||||
**Performance gain:** Reduced total execution time via parallelization
|
||||
|
||||
**Template:**
|
||||
```markdown
|
||||
**Launch subprocesses in parallel that:**
|
||||
|
||||
1. Each subprocess handles one independent operation
|
||||
2. All subprocesses run simultaneously
|
||||
3. Parent aggregates results when all complete
|
||||
|
||||
**Example:**
|
||||
```markdown
|
||||
# Instead of sequential (3× time):
|
||||
"Check frontmatter, then check menu, then check step types"
|
||||
|
||||
# Use parallel (1× time):
|
||||
"Launch 3 subprocesses in parallel:
|
||||
- Subprocess 1: Check frontmatter compliance
|
||||
- Subprocess 2: Check menu compliance
|
||||
- Subprocess 3: Check step type compliance
|
||||
Aggregate all findings"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Graceful Fallback Pattern
|
||||
|
||||
**CRITICAL:** Always ensure LLMs without subprocess capability can still execute
|
||||
|
||||
**Universal Rule:**
|
||||
```markdown
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
||||
```
|
||||
|
||||
**Implementation:**
|
||||
```markdown
|
||||
### Step-Specific Rules:
|
||||
- 🎯 Use subprocess optimization when available - [pattern description]
|
||||
- 💬 If subprocess unavailable, perform operations in main thread
|
||||
|
||||
### Execution:
|
||||
- LLMs with subprocess: Launch subprocess, aggregate findings
|
||||
- LLMs without subprocess: Perform same operations sequentially in main context
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Return Pattern for Subprocesses
|
||||
|
||||
**Subprocesses must either:**
|
||||
|
||||
**Option A: Update report directly**
|
||||
```markdown
|
||||
"Subprocess loads validation report, appends findings, saves"
|
||||
# Parent doesn't need to aggregate
|
||||
```
|
||||
|
||||
**Option B: Return structured findings to parent**
|
||||
```markdown
|
||||
"Subprocess returns JSON findings to parent for aggregation"
|
||||
# Parent compiles all subprocess results into report
|
||||
```
|
||||
|
||||
**✅ GOOD - Structured return:**
|
||||
```json
|
||||
{
|
||||
"file": "step-02.md",
|
||||
"violations": ["..."],
|
||||
"opportunities": ["..."],
|
||||
"priority": "HIGH"
|
||||
}
|
||||
```
|
||||
|
||||
**❌ BAD - Returns full content:**
|
||||
```markdown
|
||||
"Subprocess loads file and returns full content to parent"
|
||||
# Defeats purpose - parent gets full context anyway
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## When to Use Each Pattern
|
||||
|
||||
| Pattern | Use When | Context Savings | Example |
|
||||
| -------- | -------- | --------------- | ------- |
|
||||
| **Pattern 1: Single subprocess for grep/regex** | Finding patterns across many files | Massive (1000:1 ratio) | Validate frontmatter across all steps |
|
||||
| **Pattern 2: Per-file subprocess for deep analysis** | Understanding prose, logic, quality | High (10:1 ratio) | Instruction style validation |
|
||||
| **Pattern 3: Data file operations** | Loading reference data, matching, summarizing | Massive (100:1 ratio) | Find applicable rules from standards |
|
||||
| **Pattern 4: Parallel execution** | Independent operations that can run simultaneously | Performance gain | Frontmatter + Menu + Step type checks |
|
||||
|
||||
---
|
||||
|
||||
## Step File Integration
|
||||
|
||||
**How to add subprocess patterns to step files:**
|
||||
|
||||
### 1. Universal Rule (add to all steps)
|
||||
```markdown
|
||||
### Universal Rules:
|
||||
- ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
||||
```
|
||||
|
||||
### 2. Step-Specific Rules (pattern-specific)
|
||||
```markdown
|
||||
### Step-Specific Rules:
|
||||
- 🎯 [Brief: which pattern applies]
|
||||
- 💬 Subprocess must either update report OR return findings to parent
|
||||
- 🚫 DO NOT BE LAZY - [specific "do not be lazy" guidance if applicable]
|
||||
```
|
||||
|
||||
### 3. Command Sequence (detailed pattern)
|
||||
```markdown
|
||||
### 1. [Operation Name]
|
||||
|
||||
**[Appropriate subprocess directive]:**
|
||||
|
||||
For [Pattern 1 - grep/regex]:
|
||||
"Launch a subprocess that runs [command] across all files, returns [results]"
|
||||
|
||||
For [Pattern 2 - per-file analysis]:
|
||||
"DO NOT BE LAZY - For EACH file, launch a subprocess that [analyzes], returns [findings]"
|
||||
|
||||
For [Pattern 3 - data ops]:
|
||||
"Launch a subprocess that loads [data file], performs [operation], returns [results]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Subprocess Loading Reference Data (Meta-Pattern!)
|
||||
|
||||
**Context-saving optimization:**
|
||||
|
||||
When a step needs to understand subprocess patterns with examples, load this reference file in a subprocess:
|
||||
|
||||
```markdown
|
||||
### Step-Specific Rules:
|
||||
- 🎯 Analyze subprocess optimization opportunities - use subprocess to load reference patterns for detailed examples
|
||||
- 💬 Subprocess loads {subprocessPatterns} to understand patterns deeply, returns specific opportunities
|
||||
- 🚫 If subprocess unavailable: Load {subprocessPatterns} in main context
|
||||
|
||||
**Execution:**
|
||||
- With subprocess: Launch subprocess to load this file, understand patterns, identify opportunities
|
||||
- Without subprocess: Load this file in main context (larger context but still functional)
|
||||
```
|
||||
|
||||
**This step file (step-08b) demonstrates this pattern!**
|
||||
|
||||
---
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
For subprocess optimization in step files:
|
||||
|
||||
- [ ] Universal fallback rule present
|
||||
- [ ] Step-specific rules mention which pattern applies
|
||||
- [ ] Command sequence uses appropriate subprocess directive
|
||||
- [ ] "DO NOT BE LAZY" language included for Pattern 2
|
||||
- [ ] Return pattern specified (update report OR return to parent)
|
||||
- [ ] Graceful fallback addressed
|
||||
- [ ] Context savings estimated (if applicable)
|
||||
- [ ] Pattern matches operation type (grep/regex, deep analysis, or data ops)
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns to Avoid
|
||||
|
||||
### ❌ Loading full files into parent
|
||||
```markdown
|
||||
"For EACH file, load the file, analyze it, and add to report"
|
||||
# Defeats purpose - parent gets full context
|
||||
```
|
||||
|
||||
### ❌ Subprocess returns raw content
|
||||
```markdown
|
||||
"Subprocess loads file and returns content to parent"
|
||||
# Parent gets full content anyway
|
||||
```
|
||||
|
||||
### ❌ No graceful fallback
|
||||
```markdown
|
||||
"Use subprocess to [operation]"
|
||||
# LLMs without subprocess cannot proceed
|
||||
```
|
||||
|
||||
### ❌ Wrong pattern for operation
|
||||
```markdown
|
||||
"Launch a subprocess per file to grep for pattern"
|
||||
# Should use Pattern 1 (single subprocess for all files)
|
||||
```
|
||||
|
||||
### ❌ Missing return specification
|
||||
```markdown
|
||||
"Launch a subprocess to analyze files"
|
||||
# Unclear what subprocess returns to parent
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## See Also
|
||||
|
||||
- `step-file-rules.md` - When to extract content to data files
|
||||
- `step-08b-subprocess-optimization.md` - Validation step that identifies optimization opportunities
|
||||
- `../steps-v/step-02b-path-violations.md` - Example of Pattern 1 (grep across files)
|
||||
- `../steps-v/step-08b-subprocess-optimization.md` - Example of Pattern 2 (per-file analysis)
|
||||
@@ -0,0 +1,3 @@
|
||||
# TODO - THIS IS A PLACE HOLDER NOT IMPLEMENTED YET IN THIS FLOW
|
||||
|
||||
<attention-llm>YOU CAN CALL OUT AS A WARNING IN ANY VALIDATION CHECKS of this specific workflow - but this is a known pending todo to implement.</attention-llm>
|
||||
@@ -15,6 +15,7 @@ outputFormatStandards: '../data/output-format-standards.md'
|
||||
inputDiscoveryStandards: '../data/input-discovery-standards.md'
|
||||
workflowChainingStandards: '../data/workflow-chaining-standards.md'
|
||||
trimodalWorkflowStructure: '../data/trimodal-workflow-structure.md'
|
||||
subprocessPatterns: '../data/subprocess-optimization-patterns.md'
|
||||
---
|
||||
|
||||
# Step 6: Workflow Structure Design
|
||||
@@ -66,7 +67,7 @@ To collaboratively design the workflow structure, step sequence, and interaction
|
||||
|
||||
## DESIGN REFERENCE MATERIALS:
|
||||
|
||||
When designing, you may load these data standards as needed:
|
||||
When designing, you will load these data standards as needed (ideally within subprocesses that can return the relevant insights during the design step):
|
||||
|
||||
- {stepTemplate} - Step file structure template
|
||||
- {stepTypePatterns} - Templates for different step types (init, middle, branch, validation, final)
|
||||
@@ -77,8 +78,7 @@ When designing, you may load these data standards as needed:
|
||||
- {workflowChainingStandards} - How workflows connect in sequences
|
||||
- {trimodalWorkflowStructure} - Tri-modal workflow patterns (if applicable)
|
||||
|
||||
Example workflow:
|
||||
- `{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md`
|
||||
Example [Workflow.md](../workflow.md) for reference of a perfect workflow.md with some complex options (not all workflows will offer multiple next step options like this one - most will just auto route right to a step 1 file)
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
@@ -175,6 +175,47 @@ Design quality assurance:
|
||||
- How can users recover from errors?
|
||||
- What constitutes successful completion?
|
||||
|
||||
### 6a. Subprocess Optimization Design
|
||||
|
||||
Load {subprocessPatterns} to understand subprocess optimization patterns that can save context and improve performance during workflow execution.
|
||||
|
||||
Ask the user:
|
||||
|
||||
"**Should we design this workflow to leverage subprocess optimization patterns?** Consider:
|
||||
|
||||
- **Pattern 1 (Grep/Regex):** Will any step search across many files or documents for patterns?
|
||||
- **Pattern 2 (Deep Analysis):** Will any step analyze multiple files for prose, logic, quality, or flow?
|
||||
- **Pattern 3 (Data Operations):** Will any step load large reference data, knowledge bases, or datasets?
|
||||
- **Pattern 4 (Parallel Execution):** Can any validation or analysis checks run in parallel instead of sequentially?
|
||||
|
||||
If **YES** to any of these, we should design those steps with subprocess optimization in mind."
|
||||
|
||||
**If subprocess optimization is applicable:**
|
||||
|
||||
For each step that could benefit from subprocesses:
|
||||
- Identify which pattern(s) apply (Pattern 1, 2, 3, or 4)
|
||||
- Design what the subprocess should return (findings only, not full content)
|
||||
- Plan graceful fallback for LLMs without subprocess capability
|
||||
- Document optimization strategy in the build plan
|
||||
|
||||
**Example subprocess integration:**
|
||||
|
||||
```markdown
|
||||
### Step-Specific Rules:
|
||||
- 🎯 Analyze X files for Y - use subprocess per file (Pattern 2)
|
||||
- 💬 Subprocess returns structured findings, not full content
|
||||
- ⚙️ If subprocess unavailable: Perform analysis in main thread
|
||||
```
|
||||
|
||||
**Document in the plan:**
|
||||
|
||||
For each step identified for subprocess optimization, record:
|
||||
- Step number and name
|
||||
- Pattern type(s) to apply
|
||||
- What the subprocess will analyze
|
||||
- Expected return structure
|
||||
- Fallback approach
|
||||
|
||||
### 7. Special Features Design
|
||||
|
||||
Identify unique requirements:
|
||||
|
||||
@@ -11,6 +11,7 @@ frontmatterStandards: '../data/frontmatter-standards.md'
|
||||
menuHandlingStandards: '../data/menu-handling-standards.md'
|
||||
outputFormatStandards: '../data/output-format-standards.md'
|
||||
inputDiscoveryStandards: '../data/input-discovery-standards.md'
|
||||
subprocessPatterns: '../data/subprocess-optimization-patterns.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
@@ -266,6 +267,49 @@ Display continuation status and offer to proceed.
|
||||
|
||||
**If supporting files are needed, create them in `data/` folder and update step-01 frontmatter to reference them.**
|
||||
|
||||
### 5a. Apply Subprocess Optimization (If Designed)
|
||||
|
||||
**Check the approved design from step 6:** Was subprocess optimization identified for step-01?
|
||||
|
||||
**If YES, apply the appropriate pattern(s):**
|
||||
|
||||
Load {subprocessPatterns} and implement the subprocess optimization:
|
||||
|
||||
1. **Identify the pattern(s) from the design:**
|
||||
- Pattern 1: Single subprocess for grep/regex across many files
|
||||
- Pattern 2: Per-file subprocess for deep analysis
|
||||
- Pattern 3: Subprocess for data file operations
|
||||
- Pattern 4: Parallel execution of independent operations
|
||||
|
||||
2. **Add subprocess-specific Step-Specific Rules:**
|
||||
```markdown
|
||||
### Step-Specific Rules:
|
||||
- 🎯 [Brief description of which pattern applies]
|
||||
- 💬 Subprocess must either update report OR return findings to parent
|
||||
- 🚫 DO NOT BE LAZY - [specific guidance if Pattern 2]
|
||||
- ⚙️ TOOL/SUBPROCESS FALLBACK: If subprocess unavailable, perform in main thread
|
||||
```
|
||||
|
||||
3. **Implement subprocess directives in the MANDATORY SEQUENCE:**
|
||||
- Use appropriate subprocess language:
|
||||
- Pattern 1: "Launch a subprocess that runs [command] across all files, returns [results]"
|
||||
- Pattern 2: "DO NOT BE LAZY - For EACH file, launch a subprocess that [analyzes], returns [findings]"
|
||||
- Pattern 3: "Launch a subprocess that loads [data file], performs [operation], returns [results]"
|
||||
- Pattern 4: "Launch subprocesses in parallel that [operations], aggregate results"
|
||||
|
||||
4. **Ensure return patterns are specified:**
|
||||
- Subprocess updates report directly OR
|
||||
- Subprocess returns structured findings to parent for aggregation
|
||||
|
||||
5. **Verify graceful fallback is documented:**
|
||||
- Universal fallback rule in Universal Rules
|
||||
- Step-specific fallback in Step-Specific Rules
|
||||
- Clear instructions for LLMs without subprocess capability
|
||||
|
||||
**If NO subprocess optimization was designed for step-01:**
|
||||
|
||||
Skip this section and proceed to document build in plan.
|
||||
|
||||
### 6. Document Build in Plan
|
||||
|
||||
Append to {workflowPlanFile}:
|
||||
|
||||
@@ -11,6 +11,7 @@ frontmatterStandards: '../data/frontmatter-standards.md'
|
||||
menuHandlingStandards: '../data/menu-handling-standards.md'
|
||||
outputFormatStandards: '../data/output-format-standards.md'
|
||||
csvDataFileStandards: '../data/csv-data-file-standards.md'
|
||||
subprocessPatterns: '../data/subprocess-optimization-patterns.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
@@ -97,6 +98,49 @@ Confirm: "The next step to build is **step-{N}-{name}** which is a [step type].
|
||||
|
||||
**Load {outputFormatStandards}** if this step outputs to document.
|
||||
|
||||
### 2a. Apply Subprocess Optimization (If Designed for This Step)
|
||||
|
||||
**Check the approved design from step 6:** Was subprocess optimization identified for this step?
|
||||
|
||||
**If YES, apply the appropriate pattern(s):**
|
||||
|
||||
Load {subprocessPatterns} and implement the subprocess optimization for this step:
|
||||
|
||||
1. **Identify the pattern(s) from the design for this step:**
|
||||
- Pattern 1: Single subprocess for grep/regex across many files
|
||||
- Pattern 2: Per-file subprocess for deep analysis
|
||||
- Pattern 3: Subprocess for data file operations
|
||||
- Pattern 4: Parallel execution of independent operations
|
||||
|
||||
2. **Add subprocess-specific Step-Specific Rules to this step:**
|
||||
```markdown
|
||||
### Step-Specific Rules:
|
||||
- 🎯 [Brief description of which pattern applies]
|
||||
- 💬 Subprocess must either update report OR return findings to parent
|
||||
- 🚫 DO NOT BE LAZY - [specific guidance if Pattern 2]
|
||||
- ⚙️ TOOL/SUBPROCESS FALLBACK: If subprocess unavailable, perform in main thread
|
||||
```
|
||||
|
||||
3. **Implement subprocess directives in the MANDATORY SEQUENCE:**
|
||||
- Use appropriate subprocess language:
|
||||
- Pattern 1: "Launch a subprocess that runs [command] across all files, returns [results]"
|
||||
- Pattern 2: "DO NOT BE LAZY - For EACH file, launch a subprocess that [analyzes], returns [findings]"
|
||||
- Pattern 3: "Launch a subprocess that loads [data file], performs [operation], returns [results]"
|
||||
- Pattern 4: "Launch subprocesses in parallel that [operations], aggregate results"
|
||||
|
||||
4. **Ensure return patterns are specified:**
|
||||
- Subprocess updates report directly OR
|
||||
- Subprocess returns structured findings to parent for aggregation
|
||||
|
||||
5. **Verify graceful fallback is documented:**
|
||||
- Universal fallback rule in Universal Rules
|
||||
- Step-specific fallback in Step-Specific Rules
|
||||
- Clear instructions for LLMs without subprocess capability
|
||||
|
||||
**If NO subprocess optimization was designed for this step:**
|
||||
|
||||
Skip this section and proceed to build the step file.
|
||||
|
||||
### 3. Build the Step File
|
||||
|
||||
**Load {stepTemplate}** for base structure.
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
---
|
||||
name: 'step-01-validate'
|
||||
description: 'Initialize validation: create report and check file structure & size'
|
||||
|
||||
parallel-steps: ['./step-01b-structure.md', './step-02-frontmatter-validation.md', './step-02b-path-violations.md', './step-03-menu-validation.md' './step-04-step-type-validation.md', './step-05-output-format-validation.md', './step-06-validation-design-check.md', './step-07-instruction-style-check.md', './step-08-collaborative-experience-check.md', './step-08b-subprocess-optimization.md', './step-09-cohesive-review.md']
|
||||
nextStep: './step-10-report-complete.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
partialValidationFragmentFile: '{workflow_folder_path}/validation-report-{step-name}.md'
|
||||
stepFileRules: '../data/step-file-rules.md'
|
||||
---
|
||||
|
||||
# Validation Step 1: File Structure & Size
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To create the validation report that all parallel tasks that this will kick off will be able to report to.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 DO NOT BE LAZY - LOAD AND REVIEW EVERY FILE
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Create validation report with header structure using subprocess optimization when available
|
||||
- 🚫 DO NOT skip checking any file - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load and check EVERY file in the workflow using subprocess optimization when available - single subprocess for bash/grep operations, separate subprocess per file for size analysis
|
||||
- 💾 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
- 📖 Save report before loading next validation step
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip or shortcut. IF there is no subprocess type tool available that can achieve running a process in a subprocess and handle starting multiple - let the user know they need to restart validation specifically NOT using max-parallel mode and HALT and end this workflow!
|
||||
|
||||
### 1. Create Validation Report
|
||||
|
||||
Create {validationReportFile} with header structure:
|
||||
|
||||
```markdown
|
||||
---
|
||||
validationDate: [current date]
|
||||
workflowName: {new_workflow_name}
|
||||
workflowPath: {workflow_folder_path}
|
||||
validationStatus: IN_PROGRESS
|
||||
---
|
||||
|
||||
# Validation Report: {new_workflow_name}
|
||||
|
||||
**Validation Started:** [current date]
|
||||
**Validator:** BMAD Workflow Validation System
|
||||
**Standards Version:** BMAD Workflow Standards
|
||||
|
||||
{{TOC}}
|
||||
|
||||
{{#each parallel-steps}}
|
||||
## {{title}}
|
||||
|
||||
{{results}}
|
||||
|
||||
{{/each}}
|
||||
|
||||
```
|
||||
|
||||
Save the file (without the handlebars output of course) before proceeding.
|
||||
|
||||
### 2. Launch Mass Parallelization and consolidate results!
|
||||
|
||||
Utilizing a subprocess for each step file in {parallel-steps} - complete all of these - with the caveat indication to the subprocess that at the end of the specific step it will not on its own proceed to the nextStep file!
|
||||
|
||||
Critically - instruct that instructions to write out or return results within each subprocess for a step file in the array MUST ensure that it writes it to {partialValidationFragmentFile} file name even though the step file it loads might indicate otherwise!
|
||||
|
||||
Once every process has completed - there should be a separate validation file for each given step. Also - each step should return JUST its results and recommendations to you also.
|
||||
|
||||
### 3. CRITICAL WRITES to the report.
|
||||
|
||||
You MUST now ensure that all results are added to the final cohesive {validationReportFile} following the indicated handlebars sequence - and then after appending each subprocess report to a level 2 section - and the TOC to accurately reflect the documents state using proper markdown linking conventions to the actual heading names you created.
|
||||
|
||||
IF a file is missing or empty from a given subprocess - but it did return to you results - you will append those results - ONLY do this if you cannot access the specific steps file produced or it is empty though. IE File from subprocess is primary, results returned from step complete are backup insurance.
|
||||
|
||||
### 4. Proceed to Completion Step
|
||||
|
||||
ONLY after ensuring all has been written to the final report, let the user know about the final report that is a consolidation - and they can ignore or remove the smaller files or use them as they like to focus on a specific validation (but its all in the master doc), and then proceed to {nextStep}, ensuring that in the {nextStep} it is focused on the {validationReportFile}
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Validation report created with header structure
|
||||
- EVERY section of the template is filled in with content from a subprocess that added the results of its area of expertise
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Output Report does not exist with content all filled in
|
||||
- EVERY step listed in {parallel-steps} was not executed in a subprocess and completed with its results captured in output
|
||||
@@ -3,9 +3,9 @@ name: 'step-01-validate'
|
||||
description: 'Initialize validation: create report and check file structure & size'
|
||||
|
||||
nextStepFile: './step-02-frontmatter-validation.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
stepFileRules: '../data/step-file-rules.md'
|
||||
---
|
||||
|
||||
@@ -23,28 +23,22 @@ To create the validation report and check that the workflow has correct file str
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Create validation report with header structure
|
||||
- 🚫 DO NOT skip checking any file
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🎯 Create validation report with header structure using subprocess optimization when available
|
||||
- 🚫 DO NOT skip checking any file - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load and check EVERY file in the workflow
|
||||
- 💾 Append findings to validation report
|
||||
- 🎯 Load and check EVERY file in the workflow using subprocess optimization when available - single subprocess for bash/grep operations, separate subprocess per file for size analysis
|
||||
- 💾 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
- 📖 Save report before loading next validation step
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Workflow has been built in steps-c/
|
||||
- Check the entire folder structure
|
||||
- Verify all required files exist
|
||||
- Check file sizes against limits
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip or shortcut.
|
||||
@@ -57,7 +51,7 @@ Create {validationReportFile} with header structure:
|
||||
---
|
||||
validationDate: [current date]
|
||||
workflowName: {new_workflow_name}
|
||||
workflowPath: {targetWorkflowPath}
|
||||
workflowPath: {workflow_folder_path}
|
||||
validationStatus: IN_PROGRESS
|
||||
---
|
||||
|
||||
@@ -76,6 +70,9 @@ validationStatus: IN_PROGRESS
|
||||
## Frontmatter Validation
|
||||
*Pending...*
|
||||
|
||||
## Critical Path Violations
|
||||
*Pending...*
|
||||
|
||||
## Menu Handling Validation
|
||||
*Pending...*
|
||||
|
||||
@@ -94,9 +91,15 @@ validationStatus: IN_PROGRESS
|
||||
## Collaborative Experience Check
|
||||
*Pending...*
|
||||
|
||||
## Subprocess Optimization Opportunities
|
||||
*Pending...*
|
||||
|
||||
## Cohesive Review
|
||||
*Pending...*
|
||||
|
||||
## Plan Quality Validation
|
||||
*Pending...*
|
||||
|
||||
## Summary
|
||||
*Pending...*
|
||||
```
|
||||
@@ -110,19 +113,27 @@ Load {stepFileRules} to understand:
|
||||
|
||||
### 3. Check Folder Structure
|
||||
|
||||
**DO NOT BE LAZY - List EVERY folder and file:**
|
||||
**Launch a single subprocess that:**
|
||||
|
||||
Use bash commands to list the entire structure:
|
||||
1. Lists the entire folder structure using bash commands
|
||||
2. Verifies all required folders and files exist
|
||||
3. Returns structured findings to parent for aggregation
|
||||
|
||||
```bash
|
||||
# List folder structure
|
||||
find {targetWorkflowPath} -type f -name "*.md" | sort
|
||||
```
|
||||
|
||||
**Expected structure:**
|
||||
```
|
||||
{targetWorkflowPath}/
|
||||
├── workflow.md
|
||||
├── steps-c/
|
||||
├── steps*/ potentially more than one folder like this (such as steps-v, steps-c - the folder name is not critical but should make sense)
|
||||
│ ├── step-01-init.md
|
||||
│ ├── step-01b-continue.md (if continuable)
|
||||
│ ├── step-02-*.md
|
||||
│ └── ...
|
||||
├── steps-v/
|
||||
│ └── [this validation]
|
||||
├── */ # any other random files - critical will be later ensure its all used - aside from potential documentation for user later.
|
||||
├── data/
|
||||
│ └── [as needed]
|
||||
└── templates/
|
||||
@@ -131,53 +142,34 @@ Use bash commands to list the entire structure:
|
||||
|
||||
**Check:**
|
||||
- ✅ workflow.md exists
|
||||
- ✅ steps-c/ folder exists with all step files
|
||||
- ✅ data/ folder exists (may be empty)
|
||||
- ✅ templates/ folder exists (may be empty)
|
||||
- ✅ No unexpected files
|
||||
- ✅ Folder names follow conventions
|
||||
- ✅ step files are in a well organized folder
|
||||
- ✅ non step reference files are organized in other folders such as data, templates, or others that make sense for the workflow
|
||||
- ✅ Folder names make sense
|
||||
|
||||
### 4. Check File Sizes
|
||||
|
||||
**DO NOT BE LAZY - Check EVERY step file:**
|
||||
**DO NOT BE LAZY - For EACH step file in steps-c/, launch a subprocess that:**
|
||||
|
||||
For each file in `steps-c/`:
|
||||
1. Read the file
|
||||
2. Count lines
|
||||
3. Check against limits:
|
||||
- < 200 lines: ✅ Good
|
||||
- 200-250 lines: ⚠️ Approaching limit
|
||||
- > 250 lines: ❌ Exceeds limit
|
||||
1. Loads that step file
|
||||
2. Counts lines and checks against size limits
|
||||
3. Returns structured findings to parent for aggregation
|
||||
|
||||
**Check for Large Data Files:**
|
||||
**Limits:**
|
||||
- < 200 lines: ✅ Good
|
||||
- 200-250 lines: ⚠️ Approaching limit
|
||||
- > 250 lines: ❌ Exceeds limit
|
||||
|
||||
For each file in `data/` folder:
|
||||
1. Check file size in lines
|
||||
2. If > 500 lines: ⚠️ WARNING - Large data file detected
|
||||
3. If > 1000 lines: ❌ ERROR - Data file too large for direct loading
|
||||
**Subprocess returns:** File name, line count, status (Good/Approaching limit/Exceeds limit), and any issues found.
|
||||
|
||||
**For large data files, recommend:**
|
||||
- Create an index/csv/yaml so LLM knows what's available and can load specific sections
|
||||
- Use sharding technique (core module has sharding tool) to split large files
|
||||
- Consider if all data is needed or if lookup/reference pattern would work better
|
||||
**Subprocess must either:**
|
||||
- Update validation report directly with findings, OR
|
||||
- Return structured findings to parent for aggregation into report
|
||||
|
||||
**Report format:**
|
||||
```markdown
|
||||
### File Size Check
|
||||
|
||||
| File | Lines | Status |
|
||||
|------|-------|--------|
|
||||
| step-01-init.md | 180 | ✅ Good |
|
||||
| step-02-*.md | 245 | ⚠️ Approaching limit |
|
||||
| step-03-*.md | 267 | ❌ Exceeds limit - should split |
|
||||
|
||||
### Data File Size Check
|
||||
|
||||
| Data File | Lines | Status |
|
||||
|-----------|-------|--------|
|
||||
| reference-data.csv | 150 | ✅ Good |
|
||||
| large-data.md | 2500 | ❌ Too large - use sharding or create index |
|
||||
```
|
||||
**Document findings in validation report:**
|
||||
- List all step files checked with their line counts
|
||||
- Note any files approaching or exceeding size limits (<200 recommended, 250 max)
|
||||
- Check data and reference files for size issues (large files should be sharded or indexed)
|
||||
- Identify specific size violations and recommendations
|
||||
|
||||
### 5. Verify File Presence
|
||||
|
||||
@@ -191,28 +183,12 @@ From the design in {workflowPlanFile}, verify:
|
||||
|
||||
Replace the "## File Structure & Size" section in {validationReportFile} with actual findings:
|
||||
|
||||
```markdown
|
||||
## File Structure & Size
|
||||
|
||||
### Folder Structure
|
||||
[Report findings - is structure correct?]
|
||||
|
||||
### Files Present
|
||||
[Report findings - are all required files present?]
|
||||
|
||||
### File Size Check
|
||||
[Table as shown above]
|
||||
|
||||
### Issues Found
|
||||
[List any issues:
|
||||
- Missing files
|
||||
- Extra files
|
||||
- Size violations
|
||||
- Naming convention violations]
|
||||
|
||||
### Status
|
||||
✅ PASS / ❌ FAIL / ⚠️ WARNINGS
|
||||
```
|
||||
**Document the following:**
|
||||
- Folder structure assessment
|
||||
- Required files presence check
|
||||
- File size analysis results
|
||||
- List of any issues found (missing files, extra files, size violations, naming issues)
|
||||
- Overall validation status (PASS/FAIL/WARNINGS)
|
||||
|
||||
### 7. Save Report and Auto-Proceed
|
||||
|
||||
|
||||
152
src/modules/bmb/workflows/workflow/steps-v/step-01b-structure.md
Normal file
152
src/modules/bmb/workflows/workflow/steps-v/step-01b-structure.md
Normal file
@@ -0,0 +1,152 @@
|
||||
---
|
||||
name: 'step-01-validate'
|
||||
description: 'Initialize validation: create report and check file structure & size'
|
||||
|
||||
nextStepFile: './step-02-frontmatter-validation.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
stepFileRules: '../data/step-file-rules.md'
|
||||
---
|
||||
|
||||
# Validation Step 1: File Structure & Size
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To create the validation report and check that the workflow has correct file structure and all step files are within size limits.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 DO NOT BE LAZY - LOAD AND REVIEW EVERY FILE
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Create validation report with header structure using subprocess optimization when available
|
||||
- 🚫 DO NOT skip checking any file - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load and check EVERY file in the workflow using subprocess optimization when available - single subprocess for bash/grep operations, separate subprocess per file for size analysis
|
||||
- 💾 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
- 📖 Save report before loading next validation step
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip or shortcut.
|
||||
|
||||
### 1. Check Folder Structure
|
||||
|
||||
**Launch a single subprocess that will do all of the following for items:**
|
||||
|
||||
1. Load {stepFileRules} to understand:
|
||||
- File size limits (<200 recommended, 250 max)
|
||||
- Required folder structure
|
||||
- Required files
|
||||
2. Lists the entire folder structure using bash commands
|
||||
3. Verifies all required folders and files exist
|
||||
4. Returns structured findings to parent for aggregation
|
||||
|
||||
```bash
|
||||
# List folder structure
|
||||
find {targetWorkflowPath} -type f -name "*.md" | sort
|
||||
```
|
||||
|
||||
**Expected structure:**
|
||||
```
|
||||
{targetWorkflowPath}/
|
||||
├── workflow.md
|
||||
├── steps*/ potentially more than one folder like this (such as steps-v, steps-c - the folder name is not critical but should make sense)
|
||||
│ ├── step-01-init.md
|
||||
│ ├── step-01b-continue.md (if continuable)
|
||||
│ ├── step-02-*.md
|
||||
│ └── ...
|
||||
├── */ # any other random files - critical will be later ensure its all used - aside from potential documentation for user later.
|
||||
├── data/
|
||||
│ └── [as needed]
|
||||
└── templates/
|
||||
└── [as needed]
|
||||
```
|
||||
|
||||
**Check:**
|
||||
- ✅ workflow.md exists
|
||||
- ✅ step files are in a well organized folder
|
||||
- ✅ non step reference files are organized in other folders such as data, templates, or others that make sense for the workflow
|
||||
- ✅ Folder names make sense
|
||||
|
||||
### 4. Check File Sizes
|
||||
|
||||
**DO NOT BE LAZY - For EACH step file in steps-c/, launch a subprocess that:**
|
||||
|
||||
1. Loads that step file
|
||||
2. Counts lines and checks against size limits
|
||||
3. Returns structured findings to parent for aggregation
|
||||
|
||||
**Limits:**
|
||||
- < 200 lines: ✅ Good
|
||||
- 200-300 lines: ⚠️ Approaching limit
|
||||
- > 300 lines: ❌ Exceeds limit
|
||||
|
||||
**Subprocess returns:** File name, line count, status (Good/Approaching limit/Exceeds limit), and any issues found.
|
||||
|
||||
**Subprocess must either:**
|
||||
- Update validation report directly with findings, OR
|
||||
- Return structured findings to parent for aggregation into report
|
||||
|
||||
**Document findings in validation report:**
|
||||
- List all step files checked with their line counts
|
||||
- Note any files approaching or exceeding size limits (<200 recommended, 250 max)
|
||||
- Check data and reference files for size issues (large files should be sharded or indexed)
|
||||
- Identify specific size violations and recommendations
|
||||
|
||||
### 5. Verify File Presence
|
||||
|
||||
From the design in {workflowPlanFile}, verify:
|
||||
- Every step from design has a corresponding file
|
||||
- Step files are numbered sequentially
|
||||
- No gaps in numbering
|
||||
- Final step exists
|
||||
|
||||
### 6. Document all findings in a report
|
||||
|
||||
**Document the following:**
|
||||
- Folder structure assessment
|
||||
- Required files presence check
|
||||
- File size analysis results
|
||||
- List of any issues found (missing files, extra files, size violations, naming issues)
|
||||
- Overall validation status (PASS/FAIL/WARNINGS)
|
||||
|
||||
### 7. Save Report
|
||||
|
||||
**CRITICAL:** Save the validation report BEFORE COMPLETING THIS STEP
|
||||
|
||||
**Display:** "**File Structure & Size validation complete.**"
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Validation report created with header structure
|
||||
- EVERY file checked for structure and size
|
||||
- Findings appended to report
|
||||
- Report saved before proceeding
|
||||
- Next validation step loaded
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not checking every file
|
||||
- Skipping size checks
|
||||
- Not saving report before proceeding
|
||||
- Halting for user input
|
||||
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check EVERY file. Auto-proceed through all validation steps.
|
||||
@@ -2,9 +2,9 @@
|
||||
name: 'step-02-frontmatter-validation'
|
||||
description: 'Validate frontmatter compliance across all step files'
|
||||
|
||||
nextStepFile: './step-03-menu-validation.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
nextStepFile: './step-02b-path-violations.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
frontmatterStandards: '../data/frontmatter-standards.md'
|
||||
---
|
||||
|
||||
@@ -18,23 +18,24 @@ To validate that EVERY step file's frontmatter follows the frontmatter standards
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 DO NOT BE LAZY - LOAD AND REVIEW EVERY FILE
|
||||
- 🛑 DO NOT BE LAZY - VALIDATE EVERY FILE'S FRONTMATTER
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Load and validate EVERY step file's frontmatter
|
||||
- 🚫 DO NOT skip any files or checks
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
- 🎯 Validate EVERY step file's frontmatter using subprocess optimization - each file in its own subprocess
|
||||
- 🚫 DO NOT skip any files or checks - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough using per-file deep analysis (Pattern 2)
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load frontmatter standards first
|
||||
- 💾 Check EVERY file against standards
|
||||
- 📖 Append findings to validation report
|
||||
- 🎯 Load frontmatter standards first, then validate each file in its own subprocess for deep analysis
|
||||
- 💾 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
- 📖 Aggregate all findings into validation report before loading next step
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
@@ -60,12 +61,22 @@ Load {frontmatterStandards} to understand validation criteria.
|
||||
- `workflow_path: '...'` - use relative paths instead
|
||||
- `thisStepFile: '...'` - remove unless actually referenced in body
|
||||
- `workflowFile: '...'` - remove unless actually referenced in body
|
||||
- `{workflow_path}/steps/...` - use `./step-XX.md`
|
||||
- `./...` - use `./step-XX.md`
|
||||
- `{workflow_path}/templates/...` - use `../template.md`
|
||||
|
||||
### 2. Validate EVERY Step File - Systematic Algorithm
|
||||
### 2. Validate EVERY Step File - Systematic Algorithm with Subprocess Optimization
|
||||
|
||||
**DO NOT BE LAZY - For EACH step file:**
|
||||
**DO NOT BE LAZY - For EACH step file, launch a subprocess that:**
|
||||
|
||||
1. Loads that file
|
||||
2. Loads {frontmatterStandards} to understand validation criteria
|
||||
3. Performs all frontmatter validation checks on that file (extract variables, check usage, validate paths)
|
||||
4. **EITHER** updates the validation report directly with its findings
|
||||
5. **OR** returns structured findings to parent for aggregation
|
||||
|
||||
**SUBPROCESS ANALYSIS PATTERN:**
|
||||
|
||||
For each file, the subprocess performs the following deep analysis:
|
||||
|
||||
#### Step 2.1: Extract Frontmatter Variables
|
||||
|
||||
@@ -125,34 +136,29 @@ if path contains "{project-root}" and is internal workflow reference:
|
||||
MARK_AS_VIOLATION("Internal paths must be relative, not project-root")
|
||||
```
|
||||
|
||||
### 3. Document Findings
|
||||
**RETURN FORMAT:**
|
||||
|
||||
Create report table:
|
||||
Subprocess returns file name, frontmatter compliance status, unused variables found, path violations, and overall status (PASS/FAIL). Include specific variable names and violation details for documentation.
|
||||
|
||||
```markdown
|
||||
### Frontmatter Validation Results
|
||||
Check ALL files systematically. Return findings for compilation and appendage to validation report.
|
||||
|
||||
| File | Required | All Vars Used | Relative Paths | No Forbidden | Status |
|
||||
|------|----------|---------------|----------------|-------------|--------|
|
||||
| step-01-init.md | ✅ | ❌ Unused: thisStepFile, workflowFile | ✅ | ✅ | ❌ FAIL |
|
||||
| step-02-vision.md | ✅ | ✅ | ✅ | ✅ | ✅ PASS |
|
||||
```
|
||||
### 3. Aggregate Findings and Document Results
|
||||
|
||||
Document frontmatter validation results in the validation report showing:
|
||||
- Which files were checked
|
||||
- Frontmatter compliance status for each file
|
||||
- Unused variables found in each file
|
||||
- Path violations detected
|
||||
- Overall pass/fail status for each file
|
||||
|
||||
### 4. List All Violations
|
||||
|
||||
For EACH file with violations:
|
||||
|
||||
```markdown
|
||||
### Violations Found
|
||||
|
||||
**step-01-init.md:**
|
||||
- ❌ Unused variable: `thisStepFile` (defined but {thisStepFile} never appears in body)
|
||||
- ❌ Unused variable: `workflowFile` (defined but {workflowFile} never appears in body)
|
||||
- ❌ Forbidden pattern: `workflow_path` variable found (use relative paths instead)
|
||||
|
||||
**step-02-vision.md:**
|
||||
- ✅ All checks passed
|
||||
```
|
||||
Document all violations found in the validation report, including:
|
||||
- Specific files with violations
|
||||
- Unused variable names and why they're unused
|
||||
- Forbidden patterns detected with explanation
|
||||
- Path format violations with details
|
||||
- Files that passed all checks
|
||||
|
||||
### 5. Append to Report
|
||||
|
||||
@@ -173,20 +179,21 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- EVERY step file's frontmatter validated using systematic algorithm
|
||||
- Each variable checked for usage in step body
|
||||
- Each path checked for proper relative format
|
||||
- EVERY step file validated using subprocess optimization (Pattern 2: per-file deep analysis)
|
||||
- Each subprocess validates frontmatter, checks variable usage, validates paths
|
||||
- Structured findings returned to parent OR report updated directly by subprocesses
|
||||
- All violations documented with specific variable names
|
||||
- Findings appended to report
|
||||
- Findings aggregated into validation report
|
||||
- Report saved before proceeding
|
||||
- Next validation step loaded
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not checking every file
|
||||
- Not systematically checking each variable for usage
|
||||
- Not validating every file using subprocess optimization
|
||||
- Not systematically checking each variable for usage in subprocess
|
||||
- Missing forbidden pattern detection
|
||||
- Not documenting violations with specific details
|
||||
- Not returning structured findings OR updating report from subprocess
|
||||
- Not saving report before proceeding
|
||||
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. For EACH variable in frontmatter, verify it's used in the body. For EACH path, verify it's relative. Auto-proceed through all validation steps.
|
||||
**Master Rule:** Validation is systematic and thorough using subprocess optimization. DO NOT BE LAZY. For EACH file, launch a subprocess that validates frontmatter, checks variable usage, validates paths, and returns findings. Auto-proceed through all validation steps.
|
||||
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
name: 'step-02b-path-violations'
|
||||
description: 'CRITICAL: Catch path violations step-02 misses - hardcoded paths, dead links, module awareness'
|
||||
|
||||
nextStepFile: './step-03-menu-validation.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
---
|
||||
|
||||
# Validation Step 2b: Critical Path Violations
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
CRITICAL path checks that step-02's frontmatter validation MISSES. This catches violations in CONTENT (not frontmatter), dead links, and module path unawareness using grep/bash (ideally in a subprocess that can update the report or return all results to parent).
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 DO NOT BE LAZY - CHECK EVERY FILE
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction in this file references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the instructed outcome in your main context thread and available toolset
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Perform systematic bash/grep checks using subprocess optimization - single subprocess for grep/regex across many files
|
||||
- 🚫 DO NOT skip any file or violation type - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This catches what step-02 misses - CONTENT violations, dead links, module awareness, links in code and not in front matter
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Perform systematic checks using subprocess optimization when available - single subprocess for grep/regex across many files, separate subprocess per file for deep analysis, subprocess for data file operations
|
||||
- 💾 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
- 📖 Save report before continuing to {nextStepFile}
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Step-02 validated frontmatter (variables, relative paths)
|
||||
- This step validates CONTENT and file existence with a Focus on: hardcoded paths in body, dead links, module awareness in every file found under {targetWorkflowPath}
|
||||
- **CRITICAL:** Output files the workflow itself being validated produces won't exist during validation - <example> a contract document creation workflow might have a reference to said output - but it of course will not yet exist during workflow validation</example>
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip or shortcut.
|
||||
|
||||
### 1. Perform Critical Path Violation Detection
|
||||
|
||||
**Perform systematic path violation checks on EVERY workflow file using subprocess optimization when available - each file in its own subprocess:**
|
||||
|
||||
**SUBPROCESS EXECUTION PATTERN:**
|
||||
|
||||
For EACH file in the workflow being validated, launch a subprocess that:
|
||||
1. Loads any reference files it needs (to avoid bloating parent context)
|
||||
2. Performs all required checks on that file
|
||||
3. **EITHER** updates the validation report directly with its findings
|
||||
4. **OR** returns structured findings to parent for aggregation
|
||||
|
||||
**DO NOT BE LAZY - Use appropriate subprocess pattern for each check:**
|
||||
- **Single subprocess for grep/regex**: Run one command across many files, return matches
|
||||
- **Separate subprocess per file**: When deep analysis of each file's content is required
|
||||
- **Subprocess for data operations**: Load reference data, find matches, summarize key findings
|
||||
|
||||
**PHASE 1: Identify Config Variables (EXCEPTIONS to path checks):**
|
||||
|
||||
Read {targetWorkflowPath}/workflow.md to extract known config variables from the Configuration Loading section:
|
||||
|
||||
```bash
|
||||
# Extract config variables from workflow.md
|
||||
grep -A 20 "Configuration Loading" {targetWorkflowPath}/workflow.md | grep -E "^\s+-\s+`\{[^}]+\}`" | sed "s/.*//;s/[`']//g"
|
||||
```
|
||||
|
||||
**Store these as KNOWN_CONFIG_VARIABLES for reference in later checks.**
|
||||
|
||||
These are EXCEPTIONS - paths using these variables are VALID even if not relative:
|
||||
- Example: `{output_folder}/doc.md` - VALID (uses config variable)
|
||||
- Example: `{planning_artifacts}/prd.md` - VALID (uses config variable)
|
||||
- These paths won't exist during validation (workflow not running yet)
|
||||
|
||||
---
|
||||
|
||||
**PHASE 2: Hardcoded paths in CONTENT (CRITICAL):**
|
||||
|
||||
Step-02 checks frontmatter - this checks CONTENT (body text after frontmatter).
|
||||
|
||||
**Launch a single subprocess that:**
|
||||
|
||||
1. Runs grep across all step files to find hardcoded {project-root}/ paths in content
|
||||
2. Extracts content after frontmatter from each file
|
||||
3. Returns all findings to parent for aggregation
|
||||
|
||||
```bash
|
||||
# Extract content after frontmatter from all files, search for {project-root}/
|
||||
for file in steps-c/*.md; do
|
||||
awk '/^---$/,0 {if (p) print; p=1} /^---$/{p=1}' "$file" | grep -n "{project-root}/" && echo "Found in: $file"
|
||||
done
|
||||
```
|
||||
|
||||
**What we're catching:**
|
||||
- Content like: `Load {project-root}/_bmad/foo/workflows/.../file.csv`
|
||||
- Should be: `Load {dataFile}` (frontmatter variable with a relative path like ../data/file.csv)
|
||||
|
||||
**SKIP:** Paths using KNOWN_CONFIG_VARIABLES (these are valid exceptions)
|
||||
|
||||
---
|
||||
|
||||
**PHASE 3: Dead or bad links - referenced files don't exist (CRITICAL):**
|
||||
|
||||
**Launch a single subprocess that:**
|
||||
|
||||
1. Extracts all frontmatter path references from all files
|
||||
2. Tests file existence for each reference (skipping output files that use config variables)
|
||||
3. Returns all dead link findings to parent for aggregation
|
||||
|
||||
**CRITICAL DISTINCTION:**
|
||||
- **Output files using config variables:** Skip (won't exist yet - workflow not installed/running)
|
||||
- Example: `{output_folder}/my-doc.md` - SKIP
|
||||
- Example: `{planning_artifacts}/prd.md` - SKIP
|
||||
- Example: `{bmb_creations_output_folder}/file.md` - SKIP
|
||||
|
||||
- **Data files, step files, other workflows:** MUST EXIST - flag if missing
|
||||
- Example: `{dataFile}` where value is `../data/config.csv` - MUST EXIST
|
||||
- Example: `{nextStepFile}` where value is `./step-02.md` - MUST EXIST
|
||||
- Example: `{advancedElicitationTask}` - MUST EXIST
|
||||
- Example: `{partyModeWorkflow}` - MUST EXIST
|
||||
|
||||
**Bash execution pattern:**
|
||||
```bash
|
||||
# Extract all frontmatter path references from all files
|
||||
for file in steps-c/*.md; do
|
||||
# Extract file reference variables from frontmatter
|
||||
grep "^\w*File:" "$file" | sed "s/.*: //"
|
||||
|
||||
# Resolve path (handle relative paths)
|
||||
resolved_path=$(resolve_relative_path "$file" "$value")
|
||||
|
||||
# Check file existence - BUT SKIP output files using config variables
|
||||
if ! path_uses_known_config_variable "$value"; then
|
||||
if ! test -f "$resolved_path"; then
|
||||
echo "DEAD LINK: $file references $resolved_path (not found)"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
**What we're catching:**
|
||||
- Dead links to any files that don't exist that the workflow needs during execution
|
||||
|
||||
---
|
||||
|
||||
**PHASE 4: Module path awareness:**
|
||||
|
||||
**Launch a single subprocess that:**
|
||||
|
||||
1. Determines if current workflow is in a non-bmb module
|
||||
2. If yes, runs grep across all files to find bmb-specific path assumptions
|
||||
3. Returns all module awareness issues to parent for aggregation
|
||||
|
||||
```bash
|
||||
# Check if in non-bmb module, then search for bmb-specific paths
|
||||
if pwd | grep -q "/modules/[^/]\+/" && ! pwd | grep -q "/bmb/"; then
|
||||
grep -rn "{project-root}/_bmad/bmb/" steps-c/ steps-e/ steps-v/ 2>/dev/null || echo "No bmb-specific paths found"
|
||||
fi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**RETURN FORMAT:**
|
||||
|
||||
```json
|
||||
{
|
||||
"known_config_variables": ["output_folder", "planning_artifacts", "bmb_creations_output_folder", ...],
|
||||
"content_violations": [
|
||||
{"file": "step-v-01-discovery.md", "line": 63, "violation": "hardcoded path in content", "details": "{project-root}/src/modules/.../prd-purpose.md"}
|
||||
],
|
||||
"dead_links": [
|
||||
{"file": "step-06-innovation.md", "line": 215, "violation": "dead link", "details": "nextStepFile './step-07-project-type.md' should be './step-07-project-type.md'"}
|
||||
],
|
||||
"module_awareness_issues": [
|
||||
{"file": "step-XX.md", "issue": "using bmb-specific path in non-bmb module"}
|
||||
],
|
||||
"summary": {"critical": N, "high": N, "medium": N}
|
||||
}
|
||||
```
|
||||
|
||||
Check ALL files systematically. Return structured report for compilation and appendage to validation report.
|
||||
|
||||
### 2. Process Findings and Update Report
|
||||
|
||||
**Create/Update "Critical Path Violations" section in {validationReportFile}:**
|
||||
|
||||
If ANY violations found:
|
||||
|
||||
```markdown
|
||||
## Critical Path Violations
|
||||
|
||||
### Config Variables (Exceptions)
|
||||
|
||||
The following config variables were identified from workflow.md Configuration Loading section.
|
||||
Paths using these variables are valid even if not relative (they reference post-install output locations):
|
||||
|
||||
{list of known_config_variables found}
|
||||
|
||||
### Content Path Violations
|
||||
|
||||
| File | Line | Issue | Details |
|
||||
| ---- | ---- | ----- | ------- |
|
||||
{table from content_violations}
|
||||
|
||||
### Dead Links
|
||||
|
||||
| File | Line | Issue | Details |
|
||||
| ---- | ---- | ----- | ------- |
|
||||
{table from dead_links}
|
||||
|
||||
**Note:** Output files using config variables were correctly skipped during existence checks.
|
||||
|
||||
### Module Awareness
|
||||
|
||||
{module_awareness_issues}
|
||||
|
||||
### Summary
|
||||
|
||||
- **CRITICAL:** {critical_count} violations (must fix - workflow will break)
|
||||
- **HIGH:** {high_count} violations (should fix)
|
||||
- **MEDIUM:** {medium_count} violations (review)
|
||||
|
||||
**Status:** {"❌ FAIL - Critical violations detected" or "⚠️ WARNINGS - Review recommended" or "✅ PASS - No violations"}
|
||||
```
|
||||
|
||||
### 3. Handle Critical Violations
|
||||
|
||||
**If CRITICAL violations found (content violations OR dead links):**
|
||||
|
||||
Halt process once all files have been checked and aggregated - and share the severity of the issue with the user and ask them if they want to stop and you can try to fix these now, or else go to the next item in this list. If not proceeding - its still critical all findings thus far are documented in the report output.
|
||||
|
||||
### 4. Save Report and Auto-Proceed
|
||||
|
||||
**CRITICAL:** Save the validation report to {validationReportFile} BEFORE loading and executing {nextStepFile}.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Config variables identified from workflow.md FIRST
|
||||
- Known config variables used as exceptions in later checks
|
||||
- ALL step files checked for content path violations
|
||||
- Dead links detected via file existence tests (skipping output files)
|
||||
- Module awareness issues flagged
|
||||
- Findings appended to validation report
|
||||
- CRITICAL violations halt validation
|
||||
- Clean workflows proceed to step-03
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not identifying config variables first
|
||||
- Not skipping output files during existence checks
|
||||
- Not checking content (only frontmatter)
|
||||
- Missing dead link detection
|
||||
- Not detecting module-specific assumptions
|
||||
- Proceeding despite critical violations
|
||||
@@ -3,8 +3,8 @@ name: 'step-03-menu-validation'
|
||||
description: 'Validate menu handling compliance across all step files'
|
||||
|
||||
nextStepFile: './step-04-step-type-validation.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
menuHandlingStandards: '../data/menu-handling-standards.md'
|
||||
---
|
||||
|
||||
@@ -22,19 +22,20 @@ To validate that EVERY step file's menus follow the menu handling standards - pr
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Load and validate EVERY step file's menus
|
||||
- 🚫 DO NOT skip any files or checks
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
- 🎯 Validate EVERY step file's menus using subprocess optimization - per-file deep analysis pattern (Pattern 2)
|
||||
- 🚫 DO NOT skip any files or checks - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough, leveraging per-file subprocess for menu structure analysis
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load menu standards first
|
||||
- 💾 Check EVERY file's menu structure
|
||||
- 📖 Append findings to validation report
|
||||
- 💾 Check EVERY file's menu structure using subprocess optimization when available - per-file deep analysis for menu structure validation
|
||||
- 📖 Append findings to validation report (subprocesses either update report OR return findings for parent aggregation)
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
@@ -64,11 +65,15 @@ Load {menuHandlingStandards} to understand validation criteria:
|
||||
|
||||
### 2. Check EVERY Step File
|
||||
|
||||
**DO NOT BE LAZY - For EACH file in steps-c/:**
|
||||
**DO NOT BE LAZY - For EVERY file in steps-c/, launch a subprocess that:**
|
||||
|
||||
1. Load the file
|
||||
2. Find the menu section (if present)
|
||||
3. Validate against each rule:
|
||||
1. Loads that step file
|
||||
2. Loads {menuHandlingStandards} to understand validation criteria
|
||||
3. Validates menu structure deeply (handler section, execution rules, A/P appropriateness, reserved letter compliance)
|
||||
4. **EITHER** updates validation report directly with findings
|
||||
5. **OR** returns structured validation findings to parent for aggregation
|
||||
|
||||
**SUBPROCESS VALIDATION PATTERN - Each subprocess checks for:**
|
||||
|
||||
**Check 1: Handler Section Exists**
|
||||
- ✅ Handler section immediately follows Display
|
||||
@@ -92,39 +97,35 @@ Load {menuHandlingStandards} to understand validation criteria:
|
||||
- Validation sequences should auto-proceed, not have menus
|
||||
- ❌ If A/P in wrong place: mark as violation
|
||||
|
||||
### 3. Document Findings
|
||||
**RETURN FORMAT:**
|
||||
Each subprocess should return validation findings for its assigned file including:
|
||||
- File name
|
||||
- Whether a menu is present
|
||||
- Results of all 5 checks (handler section, execution rules, redisplay menu, C sequence, A/P appropriateness)
|
||||
- List of any violations found
|
||||
- Overall status (PASS/FAIL/WARN)
|
||||
|
||||
Create report table:
|
||||
**Context savings estimate:** Each subprocess returns structured findings vs full file content. Parent aggregates all findings into final report table.
|
||||
|
||||
```markdown
|
||||
### Menu Handling Validation Results
|
||||
### 3. Aggregate Findings and Document Results
|
||||
|
||||
| File | Has Menu | Handler Section | Exec Rules | A/P Appropriate | Status |
|
||||
|------|----------|----------------|------------|-----------------|--------|
|
||||
| step-01-init.md | ✅ (C-only) | ✅ | ✅ | N/A | ✅ PASS |
|
||||
| step-02-*.md | ✅ (A/P/C) | ✅ | ✅ | ✅ | ✅ PASS |
|
||||
| step-03-*.md | ✅ (C-only) | ❌ Missing | ⚠️ Incomplete | N/A | ❌ FAIL |
|
||||
| step-04-*.md | ❌ No menu | N/A | N/A | Should have A/P/C | ⚠️ WARN |
|
||||
```
|
||||
After ALL files have been validated (either via subprocess or main context), document the menu handling validation results in the validation report, including:
|
||||
|
||||
- Overall assessment of menu handling compliance across all step files
|
||||
- Summary of files checked and their menu status
|
||||
- Files that passed all menu validation checks
|
||||
- Files with warnings or issues that need attention
|
||||
- Files that failed validation with specific violations
|
||||
|
||||
### 4. List Violations
|
||||
|
||||
```markdown
|
||||
### Menu Violations Found
|
||||
Compile and document all violations found during validation, organizing them by file and providing clear descriptions of each issue, such as:
|
||||
|
||||
**step-03-[name].md:**
|
||||
- Missing handler section after menu display
|
||||
- EXECUTION RULES section incomplete
|
||||
|
||||
**step-04-[name].md:**
|
||||
- No menu found - this is a collaborative content step, should have A/P/C menu
|
||||
|
||||
**step-05-[name].md:**
|
||||
- A/P options don't specify "redisplay menu" after execution
|
||||
|
||||
**step-06-[name].md:**
|
||||
- All checks passed ✅
|
||||
```
|
||||
- Missing handler sections
|
||||
- Incomplete execution rules
|
||||
- Improper A/P usage
|
||||
- Missing redisplay menu instructions
|
||||
- Any other menu handling standard violations
|
||||
|
||||
### 5. Append to Report
|
||||
|
||||
@@ -145,9 +146,10 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- EVERY step file's menus validated
|
||||
- All violations documented
|
||||
- Findings appended to report
|
||||
- Menu standards loaded and understood
|
||||
- EVERY step file's menus validated via subprocess (per-file deep analysis) OR main context
|
||||
- All violations documented across handler sections, execution rules, A/P appropriateness
|
||||
- Findings aggregated into validation report (subprocesses either updated report OR returned findings)
|
||||
- Report saved before proceeding
|
||||
- Next validation step loaded
|
||||
|
||||
@@ -157,5 +159,6 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
- Skipping menu structure checks
|
||||
- Not documenting violations
|
||||
- Not saving report before proceeding
|
||||
- Loading full file contents into parent context instead of using subprocess analysis
|
||||
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check EVERY file's menus. Auto-proceed through all validation steps.
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Use subprocess optimization (Pattern 2) - each file in its own subprocess for deep menu structure analysis. Subprocess returns only findings to parent. Auto-proceed through all validation steps.
|
||||
|
||||
@@ -3,10 +3,10 @@ name: 'step-04-step-type-validation'
|
||||
description: 'Validate that each step follows its correct step type pattern'
|
||||
|
||||
nextStepFile: './step-05-output-format-validation.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
stepTypePatterns: '../data/step-type-patterns.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
---
|
||||
|
||||
# Validation Step 4: Step Type Validation
|
||||
@@ -23,19 +23,20 @@ To validate that each step file follows the correct pattern for its step type -
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Load and validate EVERY step against its type pattern
|
||||
- 🚫 DO NOT skip any files or checks
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🎯 Load and validate EVERY step against its type pattern - use subprocess optimization (Pattern 2: per-file deep analysis) when available
|
||||
- 🚫 DO NOT skip any files or checks - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load step type patterns first
|
||||
- 💾 Check EACH file follows its designated type pattern
|
||||
- 📖 Append findings to validation report
|
||||
- 🎯 Load step type patterns first (use subprocess for data operations when available)
|
||||
- 💾 Check EACH file follows its designated type pattern - use per-file subprocesses for deep analysis when available
|
||||
- 📖 Append findings to validation report (subprocess updates report OR returns findings to parent)
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
@@ -50,7 +51,21 @@ To validate that each step file follows the correct pattern for its step type -
|
||||
|
||||
### 1. Load Step Type Patterns
|
||||
|
||||
Load {stepTypePatterns} to understand the pattern for each type:
|
||||
**Load {stepTypePatterns} to understand the pattern for each type:**
|
||||
|
||||
**If subprocess capability available:**
|
||||
```markdown
|
||||
Launch a subprocess that:
|
||||
1. Loads {stepTypePatterns}
|
||||
2. Extracts all pattern definitions deeply
|
||||
3. Returns summary of patterns to parent (not full file - saves context)
|
||||
```
|
||||
|
||||
**If subprocess unavailable:**
|
||||
```markdown
|
||||
Load {stepTypePatterns} in main context
|
||||
# Larger context but still functional - demonstrates graceful fallback
|
||||
```
|
||||
|
||||
**Step Types:**
|
||||
1. **Init (Non-Continuable)** - Auto-proceed, no continuation logic
|
||||
@@ -66,16 +81,21 @@ Load {stepTypePatterns} to understand the pattern for each type:
|
||||
|
||||
### 2. Check EACH Step Against Its Type
|
||||
|
||||
**DO NOT BE LAZY - For EACH file in steps-c/:**
|
||||
**DO NOT BE LAZY - For EACH file in steps-c/, launch a subprocess that:**
|
||||
|
||||
1. Determine what type this step SHOULD be from:
|
||||
1. Determines what type this step SHOULD be from:
|
||||
- Step number (01 = init, 01b = continuation, last = final)
|
||||
- Design in {workflowPlanFile}
|
||||
- Step name pattern
|
||||
|
||||
2. Load the step file
|
||||
2. Loads the step file
|
||||
|
||||
3. Validate it follows the pattern for its type:
|
||||
3. Validates it follows the pattern for its type
|
||||
|
||||
4. **EITHER** updates the validation report directly with its findings
|
||||
5. **OR** returns structured findings to parent for aggregation
|
||||
|
||||
**SUBPROCESS ANALYSIS PATTERN - Validate each step file for:**
|
||||
|
||||
**For Init Steps:**
|
||||
- ✅ Creates output from template (if document-producing)
|
||||
@@ -114,42 +134,46 @@ Load {stepTypePatterns} to understand the pattern for each type:
|
||||
- ✅ Completion message
|
||||
- ✅ No next step to load
|
||||
|
||||
### 3. Document Findings
|
||||
**RETURN FORMAT:**
|
||||
Return a concise summary containing:
|
||||
- File name analyzed
|
||||
- What type the step should be
|
||||
- What type it actually is
|
||||
- Whether it follows the correct pattern
|
||||
- List of any violations found
|
||||
- Overall pass/fail status
|
||||
|
||||
Create report table:
|
||||
**Context savings:** Each subprocess returns only validation findings, not full file contents. Parent receives structured analysis objects instead of 10+ full step files.
|
||||
|
||||
```markdown
|
||||
### Step Type Validation Results
|
||||
### 3. Aggregate Findings and Document
|
||||
|
||||
| File | Should Be Type | Follows Pattern | Issues | Status |
|
||||
|------|----------------|-----------------|--------|--------|
|
||||
| step-01-init.md | Init (Continuable) | ✅ | None | ✅ PASS |
|
||||
| step-01b-continue.md | Continuation | ✅ | None | ✅ PASS |
|
||||
| step-02-*.md | Middle (Standard) | ✅ | None | ✅ PASS |
|
||||
| step-03-*.md | Middle (Simple) | ❌ | Has A/P (should be C-only) | ❌ FAIL |
|
||||
| step-04-*.md | Branch | ⚠️ | Missing custom menu letters | ⚠️ WARN |
|
||||
| step-N-final.md | Final | ✅ | None | ✅ PASS |
|
||||
```
|
||||
**After ALL files analyzed, aggregate findings from subprocesses and document results:**
|
||||
|
||||
**Document the following in the validation report:**
|
||||
|
||||
- Overall summary of step type validation (how many steps checked, pass/fail counts)
|
||||
- For each step file:
|
||||
- File name
|
||||
- What type the step should be (based on design, step number, naming)
|
||||
- What type it actually is
|
||||
- Whether it follows the correct pattern for its type
|
||||
- Any violations or issues found
|
||||
- Pass/fail/warning status
|
||||
|
||||
**Format:** Create a clear, readable section in the validation report that shows the validation results for each step file.
|
||||
|
||||
### 4. List Violations
|
||||
|
||||
```markdown
|
||||
### Step Type Violations Found
|
||||
**Compile and document all violations found:**
|
||||
|
||||
**step-03-[name].md:**
|
||||
- Designated as Middle (Simple) but has A/P menu
|
||||
- Should have C-only menu
|
||||
**Document the following for any violations:**
|
||||
|
||||
**step-04-[name].md:**
|
||||
- Designated as Branch but missing custom menu letters
|
||||
- Handler doesn't route to different steps
|
||||
- File name with violation
|
||||
- What the violation is (specifically what doesn't match the expected pattern)
|
||||
- What should be changed to fix it
|
||||
- Severity level (error/warning)
|
||||
|
||||
**step-05-[name].md:**
|
||||
- Designated as Validation Sequence but has user menu
|
||||
- Should auto-proceed
|
||||
|
||||
**All other steps:** ✅ Follow their type patterns correctly
|
||||
```
|
||||
**For files that pass validation:** Briefly note they follow their type patterns correctly.
|
||||
|
||||
### 5. Append to Report
|
||||
|
||||
@@ -170,11 +194,12 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- EVERY step validated against its type pattern
|
||||
- All violations documented
|
||||
- Findings appended to report
|
||||
- EVERY step validated against its type pattern (ideally using per-file subprocess optimization)
|
||||
- All violations documented with structured findings
|
||||
- Findings aggregated from subprocesses into report
|
||||
- Report saved before proceeding
|
||||
- Next validation step loaded
|
||||
- Context saved: parent receives only findings, not full file contents
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ name: 'step-05-output-format-validation'
|
||||
description: 'Validate output format compliance - template type, final polish, step-to-output mapping'
|
||||
|
||||
nextStepFile: './step-06-validation-design-check.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
outputFormatStandards: '../data/output-format-standards.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
---
|
||||
|
||||
# Validation Step 5: Output Format Validation
|
||||
@@ -23,12 +23,13 @@ To validate that the workflow's output format matches the design - correct templ
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Validate output format against design specifications
|
||||
- 🚫 DO NOT skip any checks
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🎯 Validate output format using subprocess optimization - per-file subprocess for step-to-output validation
|
||||
- 🚫 DO NOT skip any checks - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report OR return findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
@@ -36,6 +37,7 @@ To validate that the workflow's output format matches the design - correct templ
|
||||
- 🎯 Load output format standards first
|
||||
- 💾 Check template type matches design
|
||||
- 📖 Check for final polish step if needed
|
||||
- 🔍 Use subprocess optimization for step-to-output mapping validation - per-file subprocess for deep analysis
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
@@ -114,11 +116,32 @@ From {workflowPlanFile}, identify:
|
||||
|
||||
### 5. Validate Step-to-Output Mapping
|
||||
|
||||
**For EACH step that outputs to document:**
|
||||
**DO NOT BE LAZY - For EACH step that outputs to document, launch a subprocess that:**
|
||||
|
||||
1. Check the step has `outputFile` in frontmatter
|
||||
2. Check the step appends/writes to output before loading next
|
||||
3. Check the menu C option saves to output before proceeding
|
||||
1. Loads that step file
|
||||
2. Analyzes frontmatter for `outputFile` variable
|
||||
3. Analyzes step body to verify output is written before loading next step
|
||||
4. Checks menu C option saves to output before proceeding
|
||||
5. Returns structured findings to parent for aggregation
|
||||
|
||||
**SUBPROCESS EXECUTION PATTERN:**
|
||||
|
||||
**For EACH step file, launch a subprocess that:**
|
||||
1. Loads the step file
|
||||
2. Performs deep analysis of output operations (frontmatter, body, menu options)
|
||||
3. Returns findings to parent for aggregation
|
||||
|
||||
**RETURN FORMAT:**
|
||||
Each subprocess should return:
|
||||
- Step filename
|
||||
- Whether output variable exists in frontmatter
|
||||
- Whether output is saved before loading next step
|
||||
- Whether menu option C saves to output before proceeding
|
||||
- Output order number (if applicable)
|
||||
- Any issues found
|
||||
- Overall status (PASS/FAIL/WARNING)
|
||||
|
||||
**Parent aggregates findings into:**
|
||||
|
||||
**Steps should be in ORDER of document appearance:**
|
||||
- Step 1 creates doc
|
||||
@@ -128,36 +151,15 @@ From {workflowPlanFile}, identify:
|
||||
|
||||
### 6. Document Findings
|
||||
|
||||
```markdown
|
||||
### Output Format Validation Results
|
||||
Document your output format validation findings in the validation report. Include:
|
||||
|
||||
**Workflow Produces Documents:** [Yes/No]
|
||||
|
||||
**Template Type:** [Free-form/Structured/Semi-structured/Strict]
|
||||
|
||||
**Template File Check:**
|
||||
- Template exists: ✅/❌
|
||||
- Matches designed type: ✅/❌
|
||||
- Proper frontmatter: ✅/❌
|
||||
|
||||
**Final Polish Step:**
|
||||
- Required: [Yes/No - based on template type]
|
||||
- Present: ✅/❌
|
||||
- Loads entire document: ✅/❌
|
||||
- Optimizes flow: ✅/❌
|
||||
|
||||
**Step-to-Output Mapping:**
|
||||
| Step | Has Output Variable | Saves Before Next | Status |
|
||||
|------|-------------------|-------------------|--------|
|
||||
| step-01-init.md | ✅ | ✅ | ✅ |
|
||||
| step-02-*.md | ✅ | ✅ | ✅ |
|
||||
| step-03-*.md | ❌ | N/A | ❌ FAIL |
|
||||
|
||||
**Issues Found:**
|
||||
[List any issues with template, polish step, or mapping]
|
||||
|
||||
**Status:** ✅ PASS / ❌ FAIL / ⚠️ WARNINGS
|
||||
```
|
||||
- **Document Production**: Whether the workflow produces documents and what template type it uses
|
||||
- **Template Assessment**: Template file existence, whether it matches the designed type, and frontmatter correctness
|
||||
- **Final Polish Evaluation**: Whether a final polish step is required (for free-form workflows) and if present, whether it properly loads the entire document and optimizes flow
|
||||
- **Step-to-Output Mapping**: For each step that outputs to the document, document whether it has the output variable in frontmatter, saves output before loading the next step, and properly saves in menu option C
|
||||
- **Subprocess Analysis Summary**: Count of total steps analyzed, steps with output, steps saving correctly, and steps with issues
|
||||
- **Issues Identified**: List any problems found with template structure, polish step, or output mapping
|
||||
- **Overall Status**: Pass, fail, or warning designation
|
||||
|
||||
### 7. Append to Report
|
||||
|
||||
@@ -180,10 +182,11 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
|
||||
- Template type matches design
|
||||
- Final polish step present if needed
|
||||
- Step-to-output mapping validated
|
||||
- Step-to-output mapping validated via subprocess optimization
|
||||
- All findings documented
|
||||
- Report saved before proceeding
|
||||
- Next validation step loaded
|
||||
- Subprocess pattern applied correctly (per-file analysis for step-to-output validation)
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
@@ -191,5 +194,7 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
- Missing final polish step for free-form
|
||||
- Not documenting mapping issues
|
||||
- Not saving report before proceeding
|
||||
- Not using subprocess optimization for step-to-output validation
|
||||
- Loading all step files into parent context instead of per-file subprocess
|
||||
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check template, polish step, and mapping. Auto-proceed through all validation steps.
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check template, polish step, and mapping. Use subprocess optimization for step-to-output validation - per-file subprocess returns analysis, not full content. Auto-proceed through all validation steps.
|
||||
|
||||
@@ -3,9 +3,9 @@ name: 'step-06-validation-design-check'
|
||||
description: 'Check if workflow has proper validation steps that load validation data (if validation is critical)'
|
||||
|
||||
nextStepFile: './step-07-instruction-style-check.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
trimodalWorkflowStructure: '../data/trimodal-workflow-structure.md'
|
||||
---
|
||||
|
||||
@@ -23,18 +23,20 @@ To check if the workflow has proper validation steps when validation is critical
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Check if workflow needs validation steps
|
||||
- 🚫 DO NOT skip any validation step reviews
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🎯 Check if workflow needs validation steps - use subprocess optimization (per-file deep analysis for Pattern 2)
|
||||
- 🚫 DO NOT skip any validation step reviews - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Determine if validation is critical for this workflow
|
||||
- 💾 Check validation steps exist and are well-designed
|
||||
- 🎯 Determine if validation is critical for this workflow - use subprocess optimization when available
|
||||
- 💾 Check validation steps exist and are well-designed - launch subprocess for per-file deep analysis (Pattern 2)
|
||||
- 💬 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
- 📖 Append findings to validation report
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
|
||||
@@ -67,11 +69,13 @@ From {workflowPlanFile}, check:
|
||||
|
||||
### 2. If Validation Is Critical, Check Validation Steps
|
||||
|
||||
**DO NOT BE LAZY - For EACH validation step in the workflow:**
|
||||
**DO NOT BE LAZY - For EVERY validation step file, launch a subprocess that:**
|
||||
|
||||
1. Find the step (usually named with "validate", "check", "review")
|
||||
2. Load the step file
|
||||
3. Check for:
|
||||
1. Loads that validation step file
|
||||
2. Reads and analyzes the step's content deeply (prose, logic, quality, flow, anti-lazy language)
|
||||
3. Returns structured analysis findings to parent for aggregation
|
||||
|
||||
**SUBPROCESS ANALYSIS PATTERN - Check each validation step file for:**
|
||||
|
||||
**Proper Validation Step Design:**
|
||||
- ✅ Loads validation data/standards from `data/` folder
|
||||
@@ -93,7 +97,27 @@ From {workflowPlanFile}, check:
|
||||
- ⚠️ For non-critical flows (entertainment, therapy, casual): validation may be inline
|
||||
- ❌ ERROR if critical validation is mixed into create steps
|
||||
|
||||
### 3. Check Validation Data Files
|
||||
**RETURN FORMAT:**
|
||||
Return a structured analysis containing:
|
||||
- Step file name
|
||||
- Proper design checklist (loads data, systematic checks, auto-proceeds, clear criteria, reports findings)
|
||||
- Anti-lazy language check (has mandate, mandate text, comprehensive coverage)
|
||||
- Critical flow check (location, segregation, independence)
|
||||
- Any issues found
|
||||
- Overall status (PASS/FAIL/WARN)
|
||||
|
||||
**Context savings:** Each subprocess returns analysis (~30 lines), not full step file (~200 lines). Parent gets structured findings, not file contents.
|
||||
|
||||
### 3. Aggregate Findings from All Subprocesses
|
||||
|
||||
After all validation step files have been analyzed in subprocesses, aggregate findings:
|
||||
|
||||
**Process subprocess results:**
|
||||
- Compile all structured analysis findings
|
||||
- Identify patterns across validation steps
|
||||
- Note any critical issues or warnings
|
||||
|
||||
### 4. Check Validation Data Files
|
||||
|
||||
**If workflow has validation steps:**
|
||||
|
||||
@@ -103,57 +127,42 @@ From {workflowPlanFile}, check:
|
||||
- Markdown files have clear criteria
|
||||
- Data is referenced in step frontmatter
|
||||
|
||||
### 4. Document Findings
|
||||
### 5. Document Findings
|
||||
|
||||
```markdown
|
||||
### Validation Design Check Results
|
||||
**Create/Update "Validation Design Check" section in {validationReportFile} using aggregated subprocess findings:**
|
||||
|
||||
**Workflow Requires Validation:** [Yes/No]
|
||||
Document the following information:
|
||||
|
||||
**Workflow Domain Type:** [Critical/Compliance/Creative/Entertainment/Therapy/Casual]
|
||||
**Whether validation is required:** Indicate if this workflow needs validation steps based on its domain type (critical/compliance/safety workflows vs. creative/exploratory ones)
|
||||
|
||||
**If Yes:**
|
||||
**List of validation steps found:** Provide the names/paths of all validation step files in the workflow
|
||||
|
||||
**Validation Steps Found:**
|
||||
- [List each validation step]
|
||||
**Validation step quality assessment:** For each validation step, document:
|
||||
- Whether it loads validation data/standards from the data/ folder
|
||||
- Whether it has a systematic check sequence
|
||||
- Whether it auto-proceeds through checks (vs. stopping for user input)
|
||||
- Whether it includes "DO NOT BE LAZY" or similar anti-lazy language mandates
|
||||
- Whether it has clear pass/fail criteria
|
||||
- Overall status (PASS/FAIL/WARN)
|
||||
|
||||
**Validation Step Quality:**
|
||||
| Step | Loads Data | Systematic | Auto-proceed | DO NOT BE LAZY | Criteria | Status |
|
||||
|------|-----------|------------|--------------|----------------|----------|--------|
|
||||
| step-04-validate.md | ✅ | ✅ | ✅ | ✅ | ✅ Clear | ✅ PASS |
|
||||
| step-07-check.md | ❌ | ⚠️ Vague | ❌ User choice each | ❌ | ❌ Unclear | ❌ FAIL |
|
||||
**"DO NOT BE LAZY" language presence:** For each validation step, note whether anti-lazy language is present and what it says
|
||||
|
||||
**"DO NOT BE LAZY" Language Check:**
|
||||
| Step | Has Anti-Lazy Language | Status |
|
||||
|------|----------------------|--------|
|
||||
| step-04-validate.md | ✅ "DO NOT BE LAZY - LOAD AND REVIEW EVERY FILE" | ✅ PASS |
|
||||
| step-07-check.md | ❌ No anti-lazy language found | ⚠️ WARN |
|
||||
**Critical flow segregation:** For workflows requiring validation, document:
|
||||
- The workflow domain type
|
||||
- Whether validation steps are in the steps-v/ folder (tri-modal structure) or inline with create steps
|
||||
- Whether this segregation is appropriate for the workflow type
|
||||
|
||||
**Critical Flow Check:**
|
||||
- Workflow domain: [Critical/Creative/Therapy/etc.]
|
||||
- Validation location: [steps-v/ folder / inline with create]
|
||||
- For [critical] workflows: Validation is in steps-v/ ✅ / ❌ mixed in create
|
||||
- Status: ✅ Properly segregated / ⚠️ Consider segregation / ❌ Should be in steps-v/
|
||||
**Validation data files:** List any validation data files found in the data/ folder, or note if they are missing
|
||||
|
||||
**Validation Data Files:**
|
||||
- [List data files found, or note if missing]
|
||||
**Issues identified:** List any problems found with the validation design, missing data files, or quality concerns
|
||||
|
||||
**Issues Found:**
|
||||
[List issues with validation design]
|
||||
**Overall status:** Provide final assessment (PASS/FAIL/WARN/N/A) with reasoning
|
||||
|
||||
**If No (Validation Not Required):**
|
||||
- Workflow is [creative/exploratory/type]
|
||||
- Validation is user's responsibility
|
||||
- No validation steps needed ✅
|
||||
### 6. Append to Report
|
||||
|
||||
**Status:** ✅ PASS / ❌ FAIL / ⚠️ WARNINGS / N/A (not applicable)
|
||||
```
|
||||
Update {validationReportFile} - replace "## Validation Design Check *Pending...*" with actual findings from subprocess aggregation.
|
||||
|
||||
### 5. Append to Report
|
||||
|
||||
Update {validationReportFile} - replace "## Validation Design Check *Pending...*" with actual findings.
|
||||
|
||||
### 6. Save Report and Auto-Proceed
|
||||
### 7. Save Report and Auto-Proceed
|
||||
|
||||
**CRITICAL:** Save the validation report BEFORE loading next step.
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ name: 'step-07-instruction-style-check'
|
||||
description: 'Check instruction style - intent-based vs prescriptive, appropriate for domain'
|
||||
|
||||
nextStepFile: './step-08-collaborative-experience-check.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
intentVsPrescriptive: '../data/intent-vs-prescriptive-spectrum.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
---
|
||||
|
||||
# Validation Step 7: Instruction Style Check
|
||||
@@ -23,20 +23,22 @@ To validate that workflow instructions use appropriate style - intent-based for
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Review EVERY step's instruction style
|
||||
- 🚫 DO NOT skip any files or style checks
|
||||
- 💬 Append findings to report, then auto-load next step
|
||||
- 🎯 Review EVERY step's instruction style using subprocess optimization - separate subprocess per file for deep analysis
|
||||
- 🚫 DO NOT skip any files or style checks - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report OR return structured findings to parent for aggregation
|
||||
- 🚪 This is validation - systematic and thorough
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load intent vs prescriptive standards
|
||||
- 💾 Check EACH step's instruction style
|
||||
- 💾 Check EACH step's instruction style using subprocess optimization - each file in its own subprocess
|
||||
- 📖 Validate style is appropriate for domain
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
- 💬 Subprocesses must either update validation report OR return findings for parent aggregation
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
@@ -84,11 +86,17 @@ From {workflowPlanFile}, identify the workflow domain:
|
||||
|
||||
### 3. Check EACH Step's Instruction Style
|
||||
|
||||
**DO NOT BE LAZY - For EACH step file:**
|
||||
**DO NOT BE LAZY - For EACH step file, launch a subprocess that:**
|
||||
|
||||
1. Load the step
|
||||
2. Read the instruction sections (MANDATORY SEQUENCE)
|
||||
3. Classify style:
|
||||
1. Loads that step file
|
||||
2. Reads the instruction sections (MANDATORY SEQUENCE)
|
||||
3. Analyzes and classifies instruction style deeply
|
||||
4. **EITHER** updates validation report directly with findings
|
||||
5. **OR** returns structured analysis findings to parent for aggregation
|
||||
|
||||
**SUBPROCESS ANALYSIS PATTERN:**
|
||||
|
||||
Each subprocess performs deep analysis of instruction prose to classify style:
|
||||
|
||||
**Intent-Based Indicators:**
|
||||
- ✅ Describes goals/outcomes, not exact wording
|
||||
@@ -108,6 +116,17 @@ From {workflowPlanFile}, identify the workflow domain:
|
||||
- Some steps prescriptive (critical/required)
|
||||
- Others intent-based (creative/facilitative)
|
||||
|
||||
**RETURN FORMAT:**
|
||||
Each subprocess should return findings including:
|
||||
- Step file identifier
|
||||
- Instruction style classification (Intent-based/Prescriptive/Mixed)
|
||||
- Style indicators observed
|
||||
- Appropriateness assessment (PASS/WARN/FAIL)
|
||||
- Specific notes and observations
|
||||
- Examples of good and concerning instruction patterns
|
||||
|
||||
**Parent aggregates all subprocess findings into unified report section.**
|
||||
|
||||
### 4. Validate Appropriateness
|
||||
|
||||
**For Intent-Based Domains:**
|
||||
@@ -118,47 +137,41 @@ From {workflowPlanFile}, identify the workflow domain:
|
||||
- ✅ Instructions should be prescriptive where compliance matters
|
||||
- ⚠️ May have intent-based sections for creative elements
|
||||
|
||||
### 5. Document Findings
|
||||
### 5. Aggregate Findings and Document
|
||||
|
||||
```markdown
|
||||
### Instruction Style Check Results
|
||||
After ALL subprocesses have analyzed their respective step files, aggregate findings and create/update section in {validationReportFile}.
|
||||
|
||||
**Domain Type:** [Creative/Personal/Exploratory OR Legal/Medical/Compliance]
|
||||
Document the following:
|
||||
|
||||
**Appropriate Style:** [Intent-based/Prescriptive/Mixed]
|
||||
**Workflow Domain Assessment:**
|
||||
- Document the domain type (creative/interactive vs compliance/legal)
|
||||
- State the appropriate instruction style for this domain
|
||||
|
||||
**Step Instruction Style Analysis:**
|
||||
| Step | Style Type | Appropriate | Notes | Status |
|
||||
|------|-----------|-------------|-------|--------|
|
||||
| step-01-init.md | Intent-based | ✅ | Goals described, flexible | ✅ PASS |
|
||||
| step-02-*.md | Intent-based | ✅ | "Think about response" | ✅ PASS |
|
||||
| step-03-*.md | Prescriptive | ❌ | Domain is creative, too rigid | ⚠️ WARN |
|
||||
| step-04-*.md | Intent-based | ✅ | Good facilitation language | ✅ PASS |
|
||||
| step-05-*.md | Mixed | ✅ | Prescriptive for compliance, intent elsewhere | ✅ PASS |
|
||||
**Instruction Style Findings:**
|
||||
- List each step and its instruction style classification (intent-based/prescriptive/mixed)
|
||||
- Note whether the style is appropriate for the domain
|
||||
- Document specific examples of instruction language that demonstrate the style
|
||||
- Identify any steps with inappropriate style (e.g., prescriptive in creative domain)
|
||||
|
||||
**Issues Found:**
|
||||
**Issues Identified:**
|
||||
- List any steps that are overly prescriptive for their domain
|
||||
- List any steps that should be more prescriptive (for compliance domains)
|
||||
- Note any style inconsistencies across steps
|
||||
|
||||
**Overly Prescriptive Steps:**
|
||||
- [List steps that are too prescriptive for their domain]
|
||||
- Example: "step-03-*.md says 'Ask exactly: X, Y, Z' but this is a creative workflow"
|
||||
**Positive Findings:**
|
||||
- Highlight steps with excellent instruction style
|
||||
- Note effective use of intent-based facilitation language
|
||||
- Identify appropriate use of prescriptive instructions (if applicable)
|
||||
|
||||
**Overly Flexible Steps (if prescriptive domain):**
|
||||
- [List steps that should be more prescriptive]
|
||||
- Example: "step-04-*.md is vague but this is a compliance workflow"
|
||||
**Overall Status:**
|
||||
- Provide final assessment (PASS/FAIL/WARN)
|
||||
- Summarize key findings
|
||||
|
||||
**Style Inconsistencies:**
|
||||
- [List steps where style doesn't match domain]
|
||||
**Context Savings Note:** Using subprocess pattern (Pattern 2: per-file deep analysis), parent context receives only structured analysis findings (~50-100 lines per file) instead of full file contents (~200+ lines per file). For 10 steps: ~500-1000 lines received vs ~2000+ lines if loading all files in parent.
|
||||
|
||||
**Good Examples Found:**
|
||||
- [Highlight steps with excellent intent-based instructions]
|
||||
- [Highlight steps with appropriate prescriptive language]
|
||||
### 6. Update Report with Aggregated Findings
|
||||
|
||||
**Status:** ✅ PASS / ❌ FAIL / ⚠️ WARNINGS
|
||||
```
|
||||
|
||||
### 6. Append to Report
|
||||
|
||||
Update {validationReportFile} - replace "## Instruction Style Check *Pending...*" with actual findings.
|
||||
Update {validationReportFile} - replace "## Instruction Style Check *Pending...*" with actual aggregated findings from all subprocesses.
|
||||
|
||||
### 7. Save Report and Auto-Proceed
|
||||
|
||||
@@ -175,18 +188,22 @@ Then immediately load, read entire file, then execute {nextStepFile}.
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- EVERY step's instruction style reviewed
|
||||
- EVERY step's instruction style reviewed via subprocess optimization (Pattern 2: per-file deep analysis)
|
||||
- Each step analyzed in its own subprocess for style classification
|
||||
- Style validated against domain appropriateness
|
||||
- Issues documented with specific examples
|
||||
- Findings appended to report
|
||||
- Subprocess findings aggregated into unified report section
|
||||
- Context savings achieved (~500-1000 lines received vs ~2000+ if loading all files)
|
||||
- Report saved before proceeding
|
||||
- Next validation step loaded
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not checking every step's style
|
||||
- Not checking every step's style via subprocess
|
||||
- Not analyzing each file in its own subprocess
|
||||
- Not validating against domain
|
||||
- Not documenting style issues
|
||||
- Not aggregating subprocess findings
|
||||
- Not saving report before proceeding
|
||||
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check EVERY step's instruction style. Auto-proceed through all validation steps.
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. For EACH step file, launch a subprocess to analyze instruction style deeply. Aggregate findings. Auto-proceed through all validation steps. Use graceful fallback if subprocess unavailable.
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
name: 'step-08-collaborative-experience-check'
|
||||
description: 'Check collaborative quality - does this workflow facilitate well or just interrogate?'
|
||||
|
||||
nextStepFile: './step-09-cohesive-review.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
nextStepFile: './step-08b-subprocess-optimization.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
---
|
||||
|
||||
# Validation Step 8: Collaborative Experience Check
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
---
|
||||
name: 'step-08b-subprocess-optimization'
|
||||
description: 'Identify subprocess optimization opportunities - reduce context load, improve performance'
|
||||
|
||||
nextStepFile: './step-09-cohesive-review.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
subprocessPatterns: '../data/subprocess-optimization-patterns.md'
|
||||
---
|
||||
|
||||
# Validation Step 8b: Subprocess Optimization Analysis
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To identify opportunities for subprocess optimization throughout the workflow - reducing context load, improving performance, and enabling massive operations that would otherwise exceed context limits.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 DO NOT BE LAZY - ANALYZE EVERY FILE IN ITS OWN SUBPROCESS
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess/subagent/tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Analyze EVERY step file for subprocess optimization - each file in its own subprocess
|
||||
- 🚫 DO NOT skip any file - DO NOT BE LAZY
|
||||
- 💬 Load {subprocessPatterns} in subprocess performing some action required to understand patterns deeply with examples (if subprocess available), else load in main context
|
||||
- 🚪 This identifies context-saving and performance-optimizing opportunities
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Analyze each step file in its own subprocess - deep analysis of subprocess potential
|
||||
- 💾 Subprocesses must identify optimization patterns and return findings to parent for aggregation
|
||||
- 📖 Aggregate findings into validation report before loading next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Three patterns: grep/regex across files, per-file deep analysis, data file operations, parallel execution
|
||||
- **Context-saving goal**: Return ONLY key findings to parent, not full file contents
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip or shortcut.
|
||||
|
||||
### 1. Load Subprocess Pattern Reference (Context Optimization!)
|
||||
|
||||
**First, understand the subprocess optimization patterns by loading {subprocessPatterns}:**
|
||||
|
||||
**If subprocess capability available:**
|
||||
```markdown
|
||||
Launch a subprocess that:
|
||||
1. Loads {subprocessPatterns}
|
||||
2. Studies all patterns and examples deeply (Pattern 3: data operations!)
|
||||
3. Returns summary of key patterns to parent (not full file - saves context)
|
||||
```
|
||||
|
||||
**If subprocess unavailable:**
|
||||
```markdown
|
||||
Load {subprocessPatterns} in main context
|
||||
# Larger context but still functional - demonstrates graceful fallback
|
||||
```
|
||||
|
||||
**This step itself demonstrates Pattern 3 from the reference!**
|
||||
|
||||
---
|
||||
|
||||
### 2. Perform Subprocess Optimization Analysis
|
||||
|
||||
**DO NOT BE LAZY - For EVERY step file, launch a subprocess that:**
|
||||
|
||||
1. Loads that step file
|
||||
2. ALSO loads {subprocessPatterns} to understand all patterns deeply (subprocess needs full context!)
|
||||
3. Analyzes the step against each pattern looking for optimization opportunities
|
||||
4. Returns specific, actionable suggestions to parent
|
||||
|
||||
**Subprocess gets full context:**
|
||||
- The step file being analyzed
|
||||
- The subprocess-optimization-patterns.md reference (all examples and patterns)
|
||||
- Returns only findings to parent (context savings!)
|
||||
|
||||
**SUBPROCESS ANALYSIS PATTERN - Check each step file for:**
|
||||
|
||||
**Pattern 1: Single subprocess for grep/regex** - Operations that check/search multiple files for patterns (frontmatter validation, menu checks, path searches). Suggest: "Use single grep subprocess, return only matches"
|
||||
|
||||
**Pattern 2: Separate subprocess per file** - Operations requiring deep analysis of prose/logic/quality/style/flow per file (instruction review, collaborative quality assessment, step type compliance). Suggest: "Each file in own subprocess, return analysis findings"
|
||||
|
||||
**Pattern 3: Subprocess for data operations** - Operations loading large data files to find matches, extract key details, or summarize findings. Suggest: "Subprocess loads data, returns ONLY relevant rows/findings"
|
||||
|
||||
**Pattern 4: Parallel execution** - Independent operations that could run simultaneously. Suggest: "Run in parallel subprocesses to reduce execution time"
|
||||
|
||||
**RETURN FORMAT (example structure, adapt as needed):**
|
||||
```json
|
||||
{
|
||||
"step_file": "step-02-*.md",
|
||||
"opportunities": [
|
||||
{
|
||||
"pattern": "grep/regex|per-file|data-ops|parallel",
|
||||
"location": "Line XX: [quote relevant instruction]",
|
||||
"issue": "Loads all files into parent context",
|
||||
"suggestion": "Use single grep subprocess, return only failures",
|
||||
"impact": "Saves ~N lines per file, faster execution",
|
||||
"priority": "HIGH|MEDIUM|LOW"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Aggregate Findings and Create Report Section
|
||||
|
||||
After ALL files analyzed, create/update section in {validationReportFile}:
|
||||
|
||||
```markdown
|
||||
## Subprocess Optimization Opportunities
|
||||
|
||||
**Total Opportunities:** {count} | **High Priority:** {count} | **Estimated Context Savings:** {description}
|
||||
|
||||
### High-Priority Opportunities
|
||||
|
||||
**{Step Name}** - {Pattern Type}
|
||||
- **Current:** {brief description of current approach}
|
||||
- **Suggested:** {specific optimization suggestion}
|
||||
- **Impact:** {context savings, performance gain}
|
||||
- **Example:** `{brief code/pseudocode}`
|
||||
|
||||
[Repeat for each high-priority opportunity...]
|
||||
|
||||
### Moderate/Low-Priority Opportunities
|
||||
|
||||
{List with brief descriptions}
|
||||
|
||||
### Summary by Pattern
|
||||
|
||||
- **Pattern 1 (grep/regex):** {count} opportunities - {total savings}
|
||||
- **Pattern 2 (per-file):** {count} opportunities - {total savings}
|
||||
- **Pattern 3 (data ops):** {count} opportunities - {total savings}
|
||||
- **Pattern 4 (parallel):** {count} opportunities - {performance gain}
|
||||
|
||||
### Implementation Recommendations
|
||||
|
||||
**Quick Wins:** {easy implementations with big savings}
|
||||
**Strategic:** {higher effort but big payoff}
|
||||
**Future:** {moderate impact, consider later}
|
||||
|
||||
**Status:** ✅ Complete / ⚠️ Review recommended
|
||||
```
|
||||
|
||||
### 3. Save Report and Auto-Proceed
|
||||
|
||||
**CRITICAL:** Save report BEFORE loading next step.
|
||||
|
||||
Then load, read entire file, execute {nextStepFile}.
|
||||
|
||||
**Display:** "**Subprocess optimization analysis complete.** Identified {count} opportunities with potential context savings. Proceeding to Cohesive Review..."
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- EVERY step file analyzed in its own subprocess
|
||||
- ALL optimization opportunities identified
|
||||
- Findings aggregated into report
|
||||
- Prioritized recommendations with context savings
|
||||
- Report saved, next step loaded
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not analyzing every file
|
||||
- Skipping opportunity identification
|
||||
- Not providing specific suggestions
|
||||
- Not estimating savings
|
||||
- Not aggregating findings
|
||||
|
||||
**Master Rule:** DO NOT BE LAZY. Analyze EVERY file in its own subprocess. Identify ALL optimization opportunities across 4 patterns. Provide specific, actionable recommendations with context savings. Return findings to parent. Auto-proceed.
|
||||
@@ -3,9 +3,9 @@ name: 'step-09-cohesive-review'
|
||||
description: 'Cohesive ultra-think review - overall quality, does this workflow actually facilitate well?'
|
||||
|
||||
nextStepFile: './step-10-report-complete.md'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
---
|
||||
|
||||
# Validation Step 9: Cohesive Review
|
||||
@@ -22,17 +22,21 @@ To perform a cohesive "ultra-think" review of the entire workflow - walk through
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
||||
- ✅ Validation does NOT stop for user input - auto-proceed through all validation steps
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Review the workflow as a cohesive whole
|
||||
- 🚫 DO NOT skip any aspect of the review
|
||||
- 💬 Think deeply about quality and facilitation
|
||||
- 🎯 Review the workflow as a cohesive whole - **NOTE: This step loads ENTIRE workflow for holistic review (different pattern from other validation steps)**
|
||||
- 🚫 DO NOT skip any aspect of the review - DO NOT BE LAZY
|
||||
- 💬 Subprocess optimization: When available, can use subprocesses to load individual step files and return structured summaries to parent for aggregation
|
||||
- 💬 However, since cohesive review requires understanding the COMPLETE workflow as one unit, parent may need full context for proper holistic assessment
|
||||
- 🚪 This is the meta-review - overall assessment
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Walk through the ENTIRE workflow end-to-end
|
||||
- 🎯 Walk through the ENTIRE workflow end-to-end using subprocess optimization when available
|
||||
- 💬 When using subprocesses: Each subprocess loads one step file, performs deep analysis, returns structured findings to parent for aggregation
|
||||
- 💬 Subprocess must either update validation report directly OR return findings to parent for compilation
|
||||
- 💾 Assess overall quality, not just individual components
|
||||
- 📖 Think deeply: would this actually work well?
|
||||
- 🚫 DO NOT halt for user input - validation runs to completion
|
||||
@@ -50,13 +54,32 @@ To perform a cohesive "ultra-think" review of the entire workflow - walk through
|
||||
|
||||
### 1. Load the Entire Workflow
|
||||
|
||||
**DO NOT BE LAZY - Load EVERY step file:**
|
||||
**DO NOT BE LAZY - Load EVERY step file using subprocess optimization when available:**
|
||||
|
||||
**SUBPROCESS APPROACH (when available):**
|
||||
|
||||
For EACH workflow file (workflow.md + all step files in order), launch a subprocess that:
|
||||
1. Loads that single file
|
||||
2. Performs deep analysis of content, flow, quality, and connection points
|
||||
3. Returns structured findings to parent for holistic aggregation
|
||||
|
||||
**Subprocess should return:**
|
||||
- File name analyzed
|
||||
- Purpose and flow position within the workflow
|
||||
- How it connects to previous and next steps
|
||||
- Quality indicators and any issues found
|
||||
- Voice and tone consistency assessment
|
||||
|
||||
**FALLBACK APPROACH (if subprocess unavailable):**
|
||||
|
||||
Load workflow.md and EVERY step file in steps-c/ sequentially in main context:
|
||||
1. Load workflow.md
|
||||
2. Load EVERY step file in steps-c/ in order
|
||||
3. Read through each step
|
||||
4. Understand the complete flow
|
||||
|
||||
**CRITICAL:** Whether using subprocess or main context, you must understand the COMPLETE workflow as one cohesive unit before proceeding to assessment.
|
||||
|
||||
### 2. Walk Through the Workflow Mentally
|
||||
|
||||
**Imagine you are a user running this workflow:**
|
||||
@@ -93,16 +116,9 @@ To perform a cohesive "ultra-think" review of the entire workflow - walk through
|
||||
|
||||
### 4. Assess Overall Quality
|
||||
|
||||
**Rate the workflow on:**
|
||||
**Evaluate the workflow across key dimensions:**
|
||||
|
||||
| Aspect | Rating (1-5) | Notes |
|
||||
|--------|-------------|-------|
|
||||
| Clear Goal | ⭐⭐⭐⭐⭐ | Is the purpose clear? |
|
||||
| Logical Flow | ⭐⭐⭐⭐⭐ | Do steps progress logically? |
|
||||
| Facilitation Quality | ⭐⭐⭐⭐⭐ | Does it facilitate well? |
|
||||
| User Experience | ⭐⭐⭐⭐⭐ | Would users enjoy this? |
|
||||
| Goal Achievement | ⭐⭐⭐⭐⭐ | Does it accomplish what it set out to? |
|
||||
| Overall Quality | ⭐⭐⭐⭐⭐ | Total assessment |
|
||||
Consider goal clarity, logical flow, facilitation quality, user experience, and goal achievement. Provide an overall quality assessment based on these dimensions.
|
||||
|
||||
### 5. Identify Strengths and Weaknesses
|
||||
|
||||
@@ -122,80 +138,15 @@ To perform a cohesive "ultra-think" review of the entire workflow - walk through
|
||||
|
||||
### 6. Provide Recommendation
|
||||
|
||||
**Overall Assessment:**
|
||||
- ✅ **EXCELLENT** - Ready to use, exemplifies best practices
|
||||
- ✅ **GOOD** - Solid workflow, minor improvements possible
|
||||
- ⚠️ **NEEDS WORK** - Has issues that should be addressed
|
||||
- ❌ **PROBLEMATIC** - Major issues, needs significant revision
|
||||
**Assess overall workflow readiness:**
|
||||
|
||||
**Recommendation:**
|
||||
- [Ready for use / Ready with minor tweaks / Needs revision / Major rework needed]
|
||||
Determine if the workflow is excellent (ready to use, exemplifies best practices), good (solid with minor improvements possible), needs work (has issues to address), or problematic (major issues requiring significant revision). Provide a clear recommendation on readiness for use.
|
||||
|
||||
### 7. Document Findings
|
||||
|
||||
```markdown
|
||||
### Cohesive Review Results
|
||||
**Document your cohesive review findings in the validation report:**
|
||||
|
||||
**Overall Assessment:** [EXCELLENT/GOOD/NEEDS WORK/PROBLEMATIC]
|
||||
|
||||
**Quality Ratings:**
|
||||
| Aspect | Rating | Notes |
|
||||
|--------|--------|-------|
|
||||
| Clear Goal | ⭐⭐⭐⭐⭐ | [Notes] |
|
||||
| Logical Flow | ⭐⭐⭐⭐⭐ | [Notes] |
|
||||
| Facilitation Quality | ⭐⭐⭐⭐⭐ | [Notes] |
|
||||
| User Experience | ⭐⭐⭐⭐⭐ | [Notes] |
|
||||
| Goal Achievement | ⭐⭐⭐⭐⭐ | [Notes] |
|
||||
| **Overall Quality** | **⭐⭐⭐⭐⭐** | [Total assessment] |
|
||||
|
||||
**Cohesiveness Analysis:**
|
||||
|
||||
**Flow Assessment:**
|
||||
- [Describe the overall flow - does it work?]
|
||||
- [Are there any jarring transitions?]
|
||||
- [Does each step connect to the next?]
|
||||
|
||||
**Progression Assessment:**
|
||||
- [Does the workflow build toward its goal?]
|
||||
- [Is there a clear arc?]
|
||||
- [Would a user feel they're making progress?]
|
||||
|
||||
**Voice and Tone:**
|
||||
- [Is the voice consistent throughout?]
|
||||
- [Does the AI persona work well?]
|
||||
- [Is the collaboration style appropriate?]
|
||||
|
||||
**Strengths:**
|
||||
1. [Major strength #1]
|
||||
2. [Major strength #2]
|
||||
3. [What makes this workflow excellent]
|
||||
|
||||
**Weaknesses:**
|
||||
1. [Issue #1 that could be improved]
|
||||
2. [Issue #2 that could be improved]
|
||||
3. [What doesn't work as well]
|
||||
|
||||
**Critical Issues (if any):**
|
||||
- [List any show-stopper problems]
|
||||
- [Or note: No critical issues]
|
||||
|
||||
**What Makes This Work Well:**
|
||||
- [Describe the excellent elements]
|
||||
- [What should other workflows learn from this?]
|
||||
|
||||
**What Could Be Improved:**
|
||||
- [Specific actionable improvements]
|
||||
- [Priority: High/Medium/Low]
|
||||
|
||||
**User Experience Forecast:**
|
||||
- [How would a user experience this workflow?]
|
||||
- [Would they feel: guided/confused/satisfied/frustrated?]
|
||||
|
||||
**Recommendation:**
|
||||
- [Ready for use / Ready with minor tweaks / Needs revision / Major rework needed]
|
||||
|
||||
**Status:** ✅ EXCELLENT / ✅ GOOD / ⚠️ NEEDS WORK / ❌ PROBLEMATIC
|
||||
```
|
||||
Include your overall assessment (excellent/good/needs work/problematic), quality evaluation across key dimensions, cohesiveness analysis (flow, progression, voice and tone), identified strengths and weaknesses, any critical issues, what makes the workflow work well, what could be improved, user experience forecast, and your recommendation on readiness for use.
|
||||
|
||||
### 8. Append to Report
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
name: 'step-10-report-complete'
|
||||
description: 'Finalize validation report - check for plan file, summarize all findings, present to user'
|
||||
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
planValidationStep: './step-11-plan-validation.md'
|
||||
---
|
||||
|
||||
@@ -21,6 +21,7 @@ To check if a plan file exists (and run plan validation if it does), then summar
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
@@ -38,7 +39,7 @@ To check if a plan file exists (and run plan validation if it does), then summar
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All 9 previous validation steps have completed
|
||||
- All 10 previous validation steps have completed
|
||||
- Report contains findings from all checks
|
||||
- User needs to see summary and decide on changes
|
||||
- This step DOES NOT auto-proceed
|
||||
@@ -64,105 +65,39 @@ After plan validation (if applicable), load {validationReportFile} and read ALL
|
||||
|
||||
### 3. Create Summary Section
|
||||
|
||||
At the end of {validationReportFile}, replace "## Summary *Pending...*" with:
|
||||
At the end of {validationReportFile}, replace "## Summary *Pending...*" with a comprehensive summary that includes:
|
||||
|
||||
```markdown
|
||||
## Summary
|
||||
- Validation completion date
|
||||
- Overall status assessment (based on all validation steps)
|
||||
- List of all validation steps completed with their individual results
|
||||
- Summary of critical issues that must be fixed (or note if none found)
|
||||
- Summary of warnings that should be addressed (or note if none found)
|
||||
- Key strengths identified during validation
|
||||
- Overall assessment of workflow quality
|
||||
- Recommendation on readiness (ready to use / needs tweaks / needs revision / major rework needed)
|
||||
- Suggested next steps for the user
|
||||
|
||||
**Validation Completed:** [current date]
|
||||
Present this information in a clear, readable format - the exact structure is flexible as long as it covers all these points.
|
||||
|
||||
**Overall Status:**
|
||||
[Based on all validation steps, determine overall status]
|
||||
### 4. Update Report Status
|
||||
|
||||
**Validation Steps Completed:**
|
||||
1. ✅ File Structure & Size - [PASS/FAIL/WARN]
|
||||
2. ✅ Frontmatter Validation - [PASS/FAIL/WARN]
|
||||
3. ✅ Menu Handling Validation - [PASS/FAIL/WARN]
|
||||
4. ✅ Step Type Validation - [PASS/FAIL/WARN]
|
||||
5. ✅ Output Format Validation - [PASS/FAIL/WARN]
|
||||
6. ✅ Validation Design Check - [PASS/FAIL/WARN/N/A]
|
||||
7. ✅ Instruction Style Check - [PASS/FAIL/WARN]
|
||||
8. ✅ Collaborative Experience Check - [PASS/FAIL/WARN]
|
||||
9. ✅ Cohesive Review - [EXCELLENT/GOOD/NEEDS WORK/PROBLEMATIC]
|
||||
10. ✅ Plan Quality Validation - [FULLY IMPLEMENTED/PARTIALLY/MISSING/N/A]
|
||||
Update the frontmatter of {validationReportFile} to set validationStatus to COMPLETE and add the completionDate. Keep existing fields like validationDate, workflowName, and workflowPath unchanged.
|
||||
|
||||
**Issues Summary:**
|
||||
### 5. Present Summary to User
|
||||
|
||||
**Critical Issues (Must Fix):**
|
||||
- [List any critical issues from all validation steps]
|
||||
- [If none, state: No critical issues found]
|
||||
Present a clear summary to the user that includes:
|
||||
|
||||
**Warnings (Should Fix):**
|
||||
- [List any warnings from all validation steps]
|
||||
- [If none, state: No warnings found]
|
||||
- Confirmation that validation is complete
|
||||
- Overall status of the workflow
|
||||
- Quick results overview showing each validation step and its result
|
||||
- Count of critical issues and warnings (or note if none found)
|
||||
- Recommendation on workflow readiness
|
||||
- Path to the full validation report
|
||||
- Options for next steps (review detailed findings, make changes, explain results, or other actions)
|
||||
|
||||
**Strengths:**
|
||||
- [List key strengths identified in validation]
|
||||
Present this information in a natural, conversational way - the exact format doesn't matter as long as all this information is clearly communicated.
|
||||
|
||||
**Overall Assessment:**
|
||||
[Summarize the overall quality of the workflow]
|
||||
|
||||
**Recommendation:**
|
||||
- [Ready to use / Ready with minor tweaks / Needs revision / Major rework needed]
|
||||
|
||||
**Next Steps:**
|
||||
- Review the detailed findings above
|
||||
- Decide what changes to make
|
||||
- Either fix issues directly or use edit workflow (if tri-modal)
|
||||
```
|
||||
|
||||
### 3. Update Report Status
|
||||
|
||||
Update frontmatter of {validationReportFile}:
|
||||
|
||||
```yaml
|
||||
---
|
||||
validationDate: [original date]
|
||||
completionDate: [current date]
|
||||
workflowName: {new_workflow_name}
|
||||
workflowPath: {targetWorkflowPath}
|
||||
validationStatus: COMPLETE
|
||||
---
|
||||
```
|
||||
|
||||
### 4. Present Summary to User
|
||||
|
||||
"**✅ Validation Complete!**
|
||||
|
||||
I've completed extensive validation of your workflow. Here's the summary:"
|
||||
|
||||
**Overall Status:** [Overall status from summary]
|
||||
|
||||
**Quick Results:**
|
||||
| Validation Step | Result |
|
||||
|-----------------|--------|
|
||||
| File Structure & Size | [emoji] [result] |
|
||||
| Frontmatter | [emoji] [result] |
|
||||
| Menu Handling | [emoji] [result] |
|
||||
| Step Types | [emoji] [result] |
|
||||
| Output Format | [emoji] [result] |
|
||||
| Validation Design | [emoji] [result or N/A] |
|
||||
| Instruction Style | [emoji] [result] |
|
||||
| Collaborative Experience | [emoji] [result] |
|
||||
| Cohesive Review | [emoji] [result] |
|
||||
| Plan Quality | [emoji] [result or N/A] |
|
||||
|
||||
**Issues Found:**
|
||||
- **Critical:** [count or "none"]
|
||||
- **Warnings:** [count or "none"]
|
||||
|
||||
**Recommendation:** [Ready to use / Needs tweaks / Needs revision]
|
||||
|
||||
"**The full validation report is available at:**
|
||||
`{validationReportFile}`
|
||||
|
||||
**Would you like me to:**
|
||||
1. Review the detailed findings with you
|
||||
2. Make specific changes to address issues
|
||||
3. Explain any validation result in detail
|
||||
4. Something else"
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
Display: **Validation Complete! Select an Option:** [R] Review Detailed Findings [F] Fix Issues [X] Exit Validation
|
||||
|
||||
@@ -178,34 +113,19 @@ Display: **Validation Complete! Select an Option:** [R] Review Detailed Findings
|
||||
- IF X: "Validation complete. Your workflow is at: {targetWorkflowPath}. You can make changes and re-run validation anytime."
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
### 6. If User Wants to Fix Issues
|
||||
### 7. If User Wants to Fix Issues
|
||||
|
||||
**Options for fixing:**
|
||||
Explain the available options for fixing issues:
|
||||
|
||||
**Option A: Manual Edits**
|
||||
- User edits files directly
|
||||
- Re-run validation to check fixes
|
||||
- Manual edits: User edits files directly, then re-runs validation
|
||||
- Guided edits: User specifies what to fix, help create specific edits for user approval
|
||||
- Edit workflow: If the workflow has steps-e/, use the edit workflow to make systematic changes
|
||||
|
||||
**Option B: Guided Edits**
|
||||
- User specifies what to fix
|
||||
- Help create specific edits for user approval
|
||||
- User applies edits
|
||||
The exact format doesn't matter - just ensure the user understands their options for addressing issues.
|
||||
|
||||
**Option C: Edit Workflow (if tri-modal)**
|
||||
- If workflow has steps-e/, use edit workflow
|
||||
- Edit workflow can make systematic changes
|
||||
### 8. Update Plan with Validation Status
|
||||
|
||||
### 7. Update Plan with Validation Status
|
||||
|
||||
Update {workflowPlanFile} frontmatter:
|
||||
|
||||
```yaml
|
||||
---
|
||||
validationStatus: COMPLETE
|
||||
validationDate: [current date]
|
||||
validationReport: {validationReportFile}
|
||||
---
|
||||
```
|
||||
If a plan file exists at {workflowPlanFile}, update its frontmatter to include the validation status (COMPLETE), the current validation date, and a reference to the validation report file.
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
name: 'step-11-plan-validation'
|
||||
description: 'Validate plan quality - ensure all user intent and requirements are implemented'
|
||||
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
validationReportFile: '{targetWorkflowPath}/validation-report-{new_workflow_name}.md'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
targetWorkflowPath: '{workflow_folder_path}'
|
||||
validationReportFile: '{workflow_folder_path}/validation-report-{datetime}.md'
|
||||
workflowPlanFile: '{workflow_folder_path}/workflow-plan.md'
|
||||
---
|
||||
|
||||
# Validation Step 11: Plan Quality Validation
|
||||
@@ -20,18 +20,19 @@ To validate that a workflow plan (if it exists) has been fully implemented - all
|
||||
- 🛑 DO NOT BE LAZY - LOAD AND REVIEW EVERY FILE
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- ✅ This validation step only runs if a plan file exists
|
||||
- ⚙️ If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Load the complete plan file
|
||||
- 🚫 DO NOT skip checking any requirement from the plan
|
||||
- 💬 Validate that built workflow matches plan specifications
|
||||
- 🎯 Validate plan requirements using subprocess optimization - separate subprocess per requirement area for deep analysis
|
||||
- 🚫 DO NOT skip checking any requirement from the plan - DO NOT BE LAZY
|
||||
- 💬 Subprocess must either update validation report directly OR return structured findings to parent for aggregation
|
||||
- 🚪 This ensures the build actually delivered what was planned
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load plan and extract all requirements/intent
|
||||
- 💾 Check built workflow against plan
|
||||
- 🎯 Load plan and extract all requirements/intent using subprocess optimization when available - separate subprocess per requirement area for deep analysis
|
||||
- 💾 Subprocesses validate implementation against plan requirements and return findings for aggregation
|
||||
- 📖 Document gaps and quality issues
|
||||
- 🚫 Only run this step if workflowPlanFile exists
|
||||
|
||||
@@ -61,126 +62,148 @@ First, check if {workflowPlanFile} exists:
|
||||
|
||||
**DO NOT BE LAZY - Extract EVERY requirement from the plan:**
|
||||
|
||||
From {workflowPlanFile}, extract:
|
||||
**SUBPROCESS EXECUTION PATTERN:**
|
||||
|
||||
**From Discovery Section:**
|
||||
- User's original idea/vision
|
||||
- Core problem being solved
|
||||
Launch a subprocess that:
|
||||
1. Loads {workflowPlanFile}
|
||||
2. Extracts all requirements from each section (Discovery, Classification, Requirements, Design, Tools)
|
||||
3. Returns structured requirements list to parent
|
||||
|
||||
**From Classification Section:**
|
||||
- 4 key decisions (document output, module, continuable, tri-modal)
|
||||
- Target path
|
||||
- Workflow name
|
||||
**SUBPROCESS RETURNS:**
|
||||
Structured requirements list organized by section (discovery, classification, requirements, design, tools) with all extracted items and a count of total requirements.
|
||||
|
||||
**From Requirements Section:**
|
||||
- Flow structure (linear/looping/branching)
|
||||
- User interaction style
|
||||
- Inputs required
|
||||
- Output specifications
|
||||
- Success criteria
|
||||
**If subprocess unavailable:** Load {workflowPlanFile} in main context and extract requirements (larger context but still functional - demonstrates graceful fallback).
|
||||
|
||||
**From Design Section:**
|
||||
- Step outline with names and purposes
|
||||
- Flow diagram
|
||||
- Interaction patterns
|
||||
- File structure requirements
|
||||
|
||||
**From Tools Section:**
|
||||
- Tools configured
|
||||
- Data files specified
|
||||
---
|
||||
|
||||
### 3. Validate Each Requirement Against Built Workflow
|
||||
|
||||
**For EACH requirement extracted:**
|
||||
**DO NOT BE LAZY - For EACH requirement area, launch a subprocess that:**
|
||||
|
||||
Check the built workflow to see if it was implemented:
|
||||
1. Loads relevant workflow files (workflow.md, step files, etc.)
|
||||
2. Validates that specific requirement area is implemented correctly
|
||||
3. Assesses quality of implementation
|
||||
4. **EITHER** updates validation report directly with findings
|
||||
5. **OR** returns structured validation results to parent for aggregation
|
||||
|
||||
**Discovery Validation:**
|
||||
**PATTERN 2: Separate subprocess per requirement area for deep analysis**
|
||||
|
||||
Each subprocess gets full context to deeply understand that requirement area and validate implementation quality:
|
||||
|
||||
---
|
||||
|
||||
**SUBPROCESS 1: Discovery Validation**
|
||||
|
||||
**Subprocess analyzes:**
|
||||
- ✅ Built workflow addresses the original problem?
|
||||
- ✅ Vision from discovery is reflected in final workflow?
|
||||
|
||||
**Classification Validation:**
|
||||
**Subprocess returns:**
|
||||
Discovery validation results indicating whether the original problem and vision from the plan are addressed in the built workflow, with quality assessment, status (✅/❌), and any gaps identified.
|
||||
|
||||
---
|
||||
|
||||
**SUBPROCESS 2: Classification Validation**
|
||||
|
||||
**Subprocess analyzes:**
|
||||
- ✅ Document output matches plan (yes/no)?
|
||||
- ✅ Module affiliation correct?
|
||||
- ✅ Continuable support as specified?
|
||||
- ✅ Tri-modal structure as specified?
|
||||
|
||||
**Requirements Validation:**
|
||||
**Subprocess returns:**
|
||||
Classification validation results for each classification attribute (document output, module, continuable, tri-modal) comparing what was specified vs what was implemented, with overall quality assessment, status (✅/❌), and any gaps.
|
||||
|
||||
---
|
||||
|
||||
**SUBPROCESS 3: Requirements Validation**
|
||||
|
||||
**Subprocess analyzes:**
|
||||
- ✅ Flow structure matches plan?
|
||||
- ✅ User interaction style as specified?
|
||||
- ✅ All required inputs configured?
|
||||
- ✅ Output format matches specification?
|
||||
- ✅ Success criteria achievable?
|
||||
|
||||
**Design Validation:**
|
||||
**Subprocess returns:**
|
||||
Requirements validation results for flow structure, interaction style, inputs, outputs, and success criteria comparing what was specified vs what was implemented, with overall quality assessment, status (✅/❌), and any gaps.
|
||||
|
||||
---
|
||||
|
||||
**SUBPROCESS 4: Design Validation**
|
||||
|
||||
**Subprocess analyzes:**
|
||||
- ✅ All steps from design present in workflow?
|
||||
- ✅ Step purposes match design?
|
||||
- ✅ Flow follows design diagram?
|
||||
- ✅ Interaction patterns as specified?
|
||||
|
||||
**Tools Validation:**
|
||||
**Subprocess returns:**
|
||||
Design validation results for each step from the plan checking if it exists in the workflow and if the purpose matches, along with whether the flow follows the design diagram and interaction patterns match, with overall quality assessment, status (✅/❌), and any gaps.
|
||||
|
||||
---
|
||||
|
||||
**SUBPROCESS 5: Tools Validation**
|
||||
|
||||
**Subprocess analyzes:**
|
||||
- ✅ Specified tools configured in workflow?
|
||||
- ✅ Data files created as specified?
|
||||
|
||||
### 4. Check Implementation Quality
|
||||
**Subprocess returns:**
|
||||
Tools validation results checking which specified tools are configured and which data files were created, with overall quality assessment, status (✅/❌), and any gaps.
|
||||
|
||||
For each implemented requirement, assess quality:
|
||||
---
|
||||
|
||||
**Quality Questions:**
|
||||
- Is the implementation high quality or minimal/barely working?
|
||||
- Would this actually facilitate well?
|
||||
- Are there obvious gaps or issues?
|
||||
**If subprocess unavailable:** Validate each requirement area sequentially in main context (larger context but still functional - demonstrates graceful fallback).
|
||||
|
||||
**Example:**
|
||||
- Plan: "Highly collaborative, intent-based facilitation"
|
||||
- Implementation: Has A/P menus, uses intent-based language ✅
|
||||
---
|
||||
|
||||
- Plan: "Continuable workflow with session resume"
|
||||
- Implementation: Has step-01b-continue.md, tracks stepsCompleted ✅
|
||||
### 4. Aggregate Findings and Update Report
|
||||
|
||||
### 5. Document Findings
|
||||
After ALL requirement area subprocesses complete, aggregate findings into validation report.
|
||||
|
||||
```markdown
|
||||
### Plan Quality Validation Results
|
||||
Document the following information:
|
||||
|
||||
**Plan File:** {workflowPlanFile}
|
||||
**Plan Exists:** ✅ Yes
|
||||
|
||||
**Requirements Extracted:** [number] requirements from plan sections
|
||||
**Plan Information:**
|
||||
- Plan file location
|
||||
- Whether a plan was found
|
||||
- Total number of requirements extracted from the plan
|
||||
|
||||
**Implementation Coverage:**
|
||||
For each requirement area from the plan (Discovery/Vision, Classification attributes, Requirements specifications, Design elements, Tools):
|
||||
- What was specified in the plan
|
||||
- Whether it was implemented in the workflow
|
||||
- Quality assessment (High/Medium/Low)
|
||||
- Implementation status
|
||||
|
||||
| Requirement Area | Specified | Implemented | Quality | Status |
|
||||
|------------------|-----------|--------------|---------|--------|
|
||||
| Discovery/Vision | [summary] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| Document Output | [yes/no] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| Continuable | [yes/no] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| Tri-Modal | [yes/no] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| Flow Structure | [type] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| Interaction Style | [style] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| [Step 01] | [purpose] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| [Step 02] | [purpose] | ✅/❌ | High/Med/Low | ✅/❌ |
|
||||
| ... | ... | ... | ... | ... |
|
||||
|
||||
**Missing Implementations:**
|
||||
- [List any requirements from plan that are NOT in the built workflow]
|
||||
**Implementation Gaps:**
|
||||
List any requirements from the plan that are NOT present in the built workflow
|
||||
|
||||
**Quality Issues:**
|
||||
- [List any requirements that are implemented but with poor quality]
|
||||
List any requirements that are implemented but with quality concerns
|
||||
|
||||
**Gaps Between Plan and Reality:**
|
||||
- [List where the built workflow doesn't match the plan]
|
||||
**Plan-Reality Alignment:**
|
||||
Describe where the built workflow doesn't match what was planned
|
||||
|
||||
**Plan Implementation Score:** [X]%
|
||||
**Overall Assessment:**
|
||||
- Plan implementation score (percentage)
|
||||
- Overall status (Fully Implemented/Partially Implemented/Poorly Implemented/Missing Critical Items)
|
||||
|
||||
**Status:** ✅ FULLY IMPLEMENTED / ⚠️ PARTIALLY IMPLEMENTED / ❌ POORLY IMPLEMENTED / ❌ MISSING CRITICAL ITEMS
|
||||
```
|
||||
**Quality Assessment Framework:**
|
||||
For each implemented requirement, assess quality:
|
||||
- **High Quality**: Implementation follows best practices, would facilitate effectively
|
||||
- **Medium Quality**: Functional but has issues or gaps
|
||||
- **Low Quality**: Minimal/barely working, would not facilitate well
|
||||
|
||||
### 6. Append to Report
|
||||
Examples:
|
||||
- Plan specifies "Highly collaborative, intent-based facilitation" and implementation has A/P menus with intent-based language = High Quality
|
||||
- Plan specifies "Continuable workflow with session resume" and implementation has step-01b-continue.md tracking stepsCompleted = High Quality
|
||||
|
||||
Append findings to {validationReportFile} after the "## Cohesive Review" section.
|
||||
### 5. Append to Report
|
||||
|
||||
### 7. Save and Complete
|
||||
Append the aggregated findings to {validationReportFile} after the "## Cohesive Review" section.
|
||||
|
||||
### 6. Save and Complete
|
||||
|
||||
Save the validation report. This is the final validation step.
|
||||
|
||||
@@ -193,17 +216,22 @@ Save the validation report. This is the final validation step.
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Plan file loaded completely
|
||||
- Every requirement extracted and validated
|
||||
- Implementation gaps documented
|
||||
- Plan file loaded completely (in subprocess or main context)
|
||||
- Every requirement extracted and validated using subprocess optimization when available
|
||||
- Each requirement area analyzed in separate subprocess (or main context with graceful fallback)
|
||||
- Implementation gaps documented with structured findings
|
||||
- Quality assessed for each requirement
|
||||
- Findings appended to report
|
||||
- Findings aggregated and appended to report
|
||||
- Context saved via subprocess pattern (return only findings, not full file contents)
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not loading complete plan
|
||||
- Skipping requirement checks
|
||||
- Not validating each requirement area deeply
|
||||
- Not using subprocess optimization when available
|
||||
- Not documenting implementation gaps
|
||||
- Not assessing quality
|
||||
- Loading full file contents into parent instead of returning only findings
|
||||
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check EVERY requirement from the plan. Document all gaps.
|
||||
**Master Rule:** Validation is systematic and thorough. DO NOT BE LAZY. Check EVERY requirement from the plan. Use subprocess optimization (Pattern 2: per-requirement deep analysis) when available. Document all gaps. Return only findings to parent, not full file contents.
|
||||
|
||||
@@ -17,11 +17,11 @@ workflow\*path: `{project-root}/_bmad/[module-path]/workflows/[workflow-name]`
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
|
||||
thisStepFile: `{workflow_path}/steps/step-01-init.md`
|
||||
nextStepFile: `{workflow_path}/steps/step-02-[step-name].md`
|
||||
thisStepFile: `./step-01-init.md`
|
||||
nextStepFile: `./step-02-[step-name].md`
|
||||
workflowFile: `{workflow_path}/workflow.md`
|
||||
outputFile: `{output_folder}/[output-file-name]-{project_name}.md`
|
||||
continueFile: `{workflow_path}/steps/step-01b-continue.md`
|
||||
continueFile: `./step-01b-continue.md`
|
||||
templateFile: `{workflow_path}/templates/[main-template].md`
|
||||
|
||||
# Template References
|
||||
|
||||
@@ -17,7 +17,7 @@ workflow\*path: '{project-root}/_bmad/[module-path]/workflows/[workflow-name]'
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
thisStepFile: './step-01b-continue.md'
|
||||
outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
|
||||
|
||||
@@ -15,9 +15,9 @@ workflow\*path: '{project-root}/_bmad/[module]/reference/workflows/[workflow-nam
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
|
||||
thisStepFile: '{workflow_path}/steps/step-[N]-[short-name].md'
|
||||
nextStep{N+1}: '{workflow_path}/steps/step-[N+1]-[next-short-name].md' # Remove for final step or no next step
|
||||
altStep{Y}: '{workflow_path}/steps/step-[Y]-[some-other-step].md' # if there is an alternate next story depending on logic
|
||||
thisStepFile: './step-[N]-[short-name].md'
|
||||
nextStep{N+1}: './step-[N+1]-[next-short-name].md' # Remove for final step or no next step
|
||||
altStep{Y}: './step-[Y]-[some-other-step].md' # if there is an alternate next story depending on logic
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
|
||||
|
||||
@@ -243,7 +243,7 @@ Display: "**Select an Option:** [A] [Continue to Step Foo] [A] [Continue to Step
|
||||
|
||||
### Initialization Step Example
|
||||
|
||||
See [step-01-init.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md) for an example of:
|
||||
See [step-01-discovery.md](../steps-c/step-01-discovery.md) for an example of:
|
||||
|
||||
- Detecting existing workflow state and short circuit to 1b
|
||||
- Creating output documents from templates
|
||||
@@ -252,16 +252,16 @@ See [step-01-init.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src
|
||||
|
||||
### Continuation Step Example
|
||||
|
||||
See [step-01b-continue.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md) for an example of:
|
||||
See [step-01b-continue.md](../steps-c/step-01b-continuation.md) for an example of:
|
||||
|
||||
- Handling already-in-progress workflows
|
||||
- Detecting completion status
|
||||
- Handling already-in-progress workflows that the user now wants to continue progress
|
||||
- Detecting completion status (which step was already completed last)
|
||||
- Presenting update vs new plan options
|
||||
- Seamless workflow resumption
|
||||
- Seamless workflow resumption by reviewing existing plan and output thus far that has been recorded and then jumping to the proper step
|
||||
|
||||
### Standard Step with Menu Example
|
||||
|
||||
See [step-02-profile.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md) for an example of:
|
||||
See [step-02-classification.md](../steps-c/step-02-classification.md#8-present-menu-options) for an example of:
|
||||
|
||||
- Presenting a menu with A/P/C options
|
||||
- Forcing halt until user selects 'C' (Continue)
|
||||
@@ -271,12 +271,12 @@ See [step-02-profile.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/
|
||||
|
||||
### Final Step Example
|
||||
|
||||
See [step-06-prep-schedule.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md) for an example of:
|
||||
See [step-11-completion.md](../steps-c/step-11-completion.md) for an example of:
|
||||
|
||||
- Completing workflow deliverables
|
||||
- Marking workflow as complete in frontmatter
|
||||
- Providing final success messages
|
||||
- Ending the workflow session gracefully
|
||||
- Ending the workflow session gracefully or moving on to a validation workflow if applicable
|
||||
|
||||
## Best Practices
|
||||
|
||||
|
||||
@@ -97,8 +97,6 @@ Copy the template above and replace:
|
||||
|
||||
Update the last line of the workflow.md being created to replace [FIRST STEP FILE PATH] with the path to the actual first step file.
|
||||
|
||||
Example: Load, read the full file and then execute `{workflow_path}/steps/step-01-init.md` to begin the workflow.
|
||||
Example: Load, read the full file and then execute `./step-01-init.md` to begin the workflow.
|
||||
|
||||
### NOTE: You can View a real example of a perfect workflow.md file that was created from this template
|
||||
|
||||
`{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md`
|
||||
### NOTE: You can View a real example of a perfect workflow.md file from the one you were executed from `../workflow.md`
|
||||
|
||||
@@ -64,6 +64,7 @@ Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- If user invoked with "create workflow" or "new workflow" or "build workflow" → Set mode to **create**
|
||||
- If user invoked with "validate workflow" or "review workflow" or "-v" or "--validate" → Set mode to **validate**
|
||||
- If user invoked with "validate workflow MAX-PARALLEL" or "review workflow MAX-PARALLEL" or "-vmax" or "--validate-max" → Set mode to **validate-max-parallel**
|
||||
- If user invoked with "edit workflow" or "modify workflow" or "-e" or "--edit" → Set mode to **edit**
|
||||
|
||||
**If mode is still unclear, ask user:**
|
||||
@@ -72,6 +73,7 @@ Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
**[C]reate** - Build a new workflow from scratch
|
||||
**[V]alidate** - Review an existing workflow and generate validation report
|
||||
**[VMP] Validate Max Parallel** - Review an existing workflow and generate validation report running max steps as possible in parallel
|
||||
**[E]dit** - Modify an existing workflow
|
||||
|
||||
Please select: [C]reate / [V]alidate / [E]dit"
|
||||
@@ -98,6 +100,10 @@ Please select: [F]rom scratch / [C]onvert existing"
|
||||
Prompt for workflow path: "Which workflow would you like to validate? Please provide the path to the workflow.md file."
|
||||
Then load, read completely, and execute `steps-v/step-01-validate.md`
|
||||
|
||||
**IF mode == validate-max-parallel:**
|
||||
Prompt for workflow path: "Which workflow would you like to validate? Please provide the path to the workflow.md file." validate a subprocess or task agent tool or similar is available
|
||||
Then load, read completely, and execute `steps-v/step-01-validate-max-mode.md`
|
||||
|
||||
**IF mode == edit:**
|
||||
Prompt for workflow path: "Which workflow would you like to edit? Please provide the path to the workflow.md file."
|
||||
Then load, read completely, and execute `steps-e/step-e-01-assess-workflow.md`
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Initialize the game brainstorming workflow and validate readiness'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
thisStepFile: './step-01-init.md'
|
||||
nextStepFile: './step-02-context.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Load game-specific brainstorming context and techniques'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-ideation.md'
|
||||
thisStepFile: './step-02-context.md'
|
||||
nextStepFile: './step-03-ideation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Execute the brainstorming session with game-specific techniques'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-ideation.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-complete.md'
|
||||
thisStepFile: './step-03-ideation.md'
|
||||
nextStepFile: './step-04-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ description: 'Complete the brainstorming session with summary and next steps'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-complete.md'
|
||||
thisStepFile: './step-04-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ stepsCompleted: [1, 2, 3, ...] # Array of completed step numbers
|
||||
To begin, load and execute step-01-init.md:
|
||||
|
||||
```
|
||||
{workflow_path}/steps/step-01-init.md
|
||||
./step-01-init.md
|
||||
```
|
||||
|
||||
## Critical Rules
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Initialize the Game Brief workflow by detecting continuation state
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-vision.md'
|
||||
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
thisStepFile: './step-01-init.md'
|
||||
nextStepFile: './step-02-vision.md'
|
||||
continueStepFile: './step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ description: 'Resume an interrupted Game Brief workflow from the last completed
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
thisStepFile: './step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
---
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define the core game vision including name, concept, pitch, and vi
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-vision.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-market.md'
|
||||
thisStepFile: './step-02-vision.md'
|
||||
nextStepFile: './step-03-market.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define target audience and market context'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-market.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-fundamentals.md'
|
||||
thisStepFile: './step-03-market.md'
|
||||
nextStepFile: './step-04-fundamentals.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define core gameplay pillars, mechanics, and player experience goa
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-fundamentals.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-scope.md'
|
||||
thisStepFile: './step-04-fundamentals.md'
|
||||
nextStepFile: './step-05-scope.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define project scope including platforms, constraints, and resourc
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-scope.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-references.md'
|
||||
thisStepFile: './step-05-scope.md'
|
||||
nextStepFile: './step-06-references.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define inspiration games, competitive analysis, and key differenti
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-references.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-content.md'
|
||||
thisStepFile: './step-06-references.md'
|
||||
nextStepFile: './step-07-content.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define content framework, art/audio direction, and risk assessment
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-content.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-complete.md'
|
||||
thisStepFile: './step-07-content.md'
|
||||
nextStepFile: './step-08-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ description: 'Define success criteria and complete the game brief with handoff g
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-complete.md'
|
||||
thisStepFile: './step-08-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ description: 'Initialize the GDD workflow by detecting continuation state and se
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
thisStepFile: './step-01-init.md'
|
||||
nextStepFile: './step-02-context.md'
|
||||
continueStepFile: './step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ description: 'Resume an interrupted GDD workflow from the last completed step'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
thisStepFile: './step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
---
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Load game context from brief and determine the game type'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-platforms.md'
|
||||
thisStepFile: './step-02-context.md'
|
||||
nextStepFile: './step-03-platforms.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define target platforms and target audience for the game'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-platforms.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-vision.md'
|
||||
thisStepFile: './step-03-platforms.md'
|
||||
nextStepFile: './step-04-vision.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define project goals, context, and unique selling points'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-vision.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-core-gameplay.md'
|
||||
thisStepFile: './step-04-vision.md'
|
||||
nextStepFile: './step-05-core-gameplay.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define game pillars, core gameplay loop, and win/loss conditions'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-core-gameplay.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-mechanics.md'
|
||||
thisStepFile: './step-05-core-gameplay.md'
|
||||
nextStepFile: './step-06-mechanics.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define primary game mechanics and control schemes'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-mechanics.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-game-type.md'
|
||||
thisStepFile: './step-06-mechanics.md'
|
||||
nextStepFile: './step-07-game-type.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Process game-type specific sections from the loaded game type guid
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-game-type.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-progression.md'
|
||||
thisStepFile: './step-07-game-type.md'
|
||||
nextStepFile: './step-08-progression.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ description: 'Define player progression systems and game balance'
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-progression.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-09-levels.md'
|
||||
thisStepFile: './step-08-progression.md'
|
||||
nextStepFile: './step-09-levels.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user