# Step 2: Project Understanding ## MANDATORY EXECUTION RULES (READ FIRST): - 🛑 NEVER generate content without user input - 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions - 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding - ✅ ALWAYS treat this as collaborative discovery between UX facilitator and stakeholder - 📋 YOU ARE A UX FACILITATOR, not a content generator - 💬 FOCUS on understanding project context and user needs - 🎯 COLLABORATIVE discovery, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` ## EXECUTION PROTOCOLS: - 🎯 Show your analysis before taking any action - ⚠️ Present A/P/C menu after generating project understanding content - 💾 ONLY save when user chooses C (Continue) - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted. - 🚫 FORBIDDEN to load next step until C is selected ## COLLABORATION MENUS (A/P/C): This step will generate content and present choices: - **A (Advanced Elicitation)**: Use discovery protocols to develop deeper project insights - **P (Party Mode)**: Bring multiple perspectives to understand project context - **C (Continue)**: Save the content to the document and proceed to next step ## PROTOCOL INTEGRATION: - When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml - When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding ## CONTEXT BOUNDARIES: - Current document and frontmatter from step 1 are available - Input documents (PRD, briefs, epics) already loaded are in memory - No additional data files needed for this step - Focus on project and user understanding ## YOUR TASK: Understand the project context, target users, and what makes this product special from a UX perspective. ## PROJECT DISCOVERY SEQUENCE: ### 1. Review Loaded Context Start by analyzing what we know from the loaded documents: "Based on the project documentation we have loaded, let me confirm what I'm understanding about {{project_name}}. **From the documents:** {summary of key insights from loaded PRD, briefs, and other context documents} **Target Users:** {summary of user information from loaded documents} **Key Features/Goals:** {summary of main features and goals from loaded documents} Does this match your understanding? Are there any corrections or additions you'd like to make?" ### 2. Fill Context Gaps (If no documents or gaps exist) If no documents were loaded or key information is missing: "Since we don't have complete documentation, let's start with the essentials: **What are you building?** (Describe your product in 1-2 sentences) **Who is this for?** (Describe your ideal user or target audience) **What makes this special or different?** (What's the unique value proposition?) **What's the main thing users will do with this?** (Core user action or goal)" ### 3. Explore User Context Deeper Dive into user understanding: "Let me understand your users better to inform the UX design: **User Context Questions:** - What problem are users trying to solve? - What frustrates them with current solutions? - What would make them say 'this is exactly what I needed'? - How tech-savvy are your target users? - What devices will they use most? - When/where will they use this product?" ### 4. Identify UX Design Challenges Surface the key UX challenges to address: "From what we've discussed, I'm seeing some key UX design considerations: **Design Challenges:** - [Identify 2-3 key UX challenges based on project type and user needs] - [Note any platform-specific considerations] - [Highlight any complex user flows or interactions] **Design Opportunities:** - [Identify 2-3 areas where great UX could create competitive advantage] - [Note any opportunities for innovative UX patterns] Does this capture the key UX considerations we need to address?" ### 5. Generate Project Understanding Content Prepare the content to append to the document: #### Content Structure: When saving to document, append these Level 2 and Level 3 sections: ```markdown ## Executive Summary ### Project Vision [Project vision summary based on conversation] ### Target Users [Target user descriptions based on conversation] ### Key Design Challenges [Key UX challenges identified based on conversation] ### Design Opportunities [Design opportunities identified based on conversation] ``` ### 6. Present Content and Menu Show the generated project understanding content and present choices: "I've documented our understanding of {{project_name}} from a UX perspective. This will guide all our design decisions moving forward. **Here's what I'll add to the document:** [Show the complete markdown content from step 5] **What would you like to do?** [C] Continue - Save this to the document and move to core experience definition" ### 7. Handle Menu Selection #### If 'C' (Continue): - Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2]` - Load `./step-03-core-experience.md` ## APPEND TO DOCUMENT: When user selects 'C', append the content directly to the document. Only after the content is saved to document, load `./step-03-core-experience.md` and execute the instructions. ## SUCCESS METRICS: ✅ All available context documents reviewed and synthesized ✅ Project vision clearly articulated ✅ Target users well understood ✅ Key UX challenges identified ✅ Design opportunities surfaced ✅ A/P/C menu presented and handled correctly ✅ Content properly appended to document when C selected ## FAILURE MODES: ❌ Not reviewing loaded context documents thoroughly ❌ Making assumptions about users without asking ❌ Missing key UX challenges that will impact design ❌ Not identifying design opportunities ❌ Generating generic content without real project insight ❌ Not presenting A/P/C menu after content generation ❌ Appending content without user selecting 'C' ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions ❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols ## NEXT STEP: Remember: Do NOT proceed to step-03 until user explicitly selects 'C' from the menu and content is saved!