BMAD-METHOD/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md

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 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

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.