--- name: 'step-02-profile' description: 'Gather comprehensive user profile information through collaborative conversation' # Path Definitions workflow_path: '{project-root}/{bmad_folder}/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_folder}/core/tasks/advanced-elicitation.xml' partyModeWorkflow: '{project-root}/{bmad_folder}/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 ### 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.