5.6 KiB
| name | description | workflow_path | thisStepFile | nextStepFile | workflowFile | outputFile | advancedElicitationTask | partyModeWorkflow | profileTemplate |
|---|---|---|---|---|---|---|---|---|---|
| step-02-profile | Gather comprehensive user profile information through collaborative conversation | {project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition | {workflow_path}/steps/step-02-profile.md | {workflow_path}/steps/step-03-assessment.md | {workflow_path}/workflow.md | {output_folder}/nutrition-plan-{project_name}.md | {project-root}/.bmad/core/tasks/advanced-elicitation.xml | {project-root}/.bmad/core/workflows/party-mode/workflow.md | {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
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
stepsCompletedto 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
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.