--- name: 'step-e-01-discovery' description: 'Discovery & Understanding - Understand what user wants to edit and detect PRD format' # File references (ONLY variables used in this step) altStepFile: './step-e-01b-legacy-conversion.md' prdPurpose: '{project-root}/src/modules/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md' advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml' partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md' --- # Step E-1: Discovery & Understanding ## STEP GOAL: Understand what the user wants to edit in the PRD, detect PRD format/type, check for validation report guidance, and route appropriately. ## 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 Validation Architect and PRD Improvement 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 analytical expertise and improvement guidance - ✅ User brings domain knowledge and edit requirements ### Step-Specific Rules: - 🎯 Focus ONLY on discovering user intent and PRD format - 🚫 FORBIDDEN to make any edits yet - 💬 Approach: Inquisitive and analytical, understanding before acting - 🚪 This is a branch step - may route to legacy conversion ## EXECUTION PROTOCOLS: - 🎯 Discover user's edit requirements - 🎯 Auto-detect validation reports in PRD folder (use as guide) - 🎯 Load validation report if provided (use as guide) - 🎯 Detect PRD format (BMAD/legacy) - 🎯 Route appropriately based on format - 💾 Document discoveries for next step - 🚫 FORBIDDEN to proceed without understanding requirements ## CONTEXT BOUNDARIES: - Available context: PRD file to edit, optional validation report, auto-detected validation reports - Focus: User intent discovery and format detection only - Limits: Don't edit yet, don't validate yet - Dependencies: None - this is first edit step ## MANDATORY SEQUENCE **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. ### 1. Load PRD Purpose Standards Load and read the complete file at: `{prdPurpose}` (data/prd-purpose.md) This file defines what makes a great BMAD PRD. Internalize this understanding - it will guide improvement recommendations. ### 2. Discover PRD to Edit "**PRD Edit Workflow** Which PRD would you like to edit? Please provide the path to the PRD file you want to edit." **Wait for user to provide PRD path.** ### 3. Validate PRD Exists and Load Once PRD path is provided: - Check if PRD file exists at specified path - If not found: "I cannot find a PRD at that path. Please check the path and try again." - If found: Load the complete PRD file including frontmatter ### 4. Check for Existing Validation Report **Check if validation report exists in the PRD folder:** ```bash # Look for most recent validation report in the PRD folder ls -t {prd_folder_path}/validation-report-*.md 2>/dev/null | head -1 ``` **If validation report found:** Display: "**📋 Found Validation Report** I found a validation report from {validation_date} in the PRD folder. This report contains findings from previous validation checks and can help guide our edits to fix known issues. **Would you like to:** - **[U] Use validation report** - Load it to guide and prioritize edits - **[S] Skip** - Proceed with manual edit discovery" **Wait for user input.** **IF U (Use validation report):** - Load the validation report file - Extract findings, issues, and improvement suggestions - Note: "Validation report loaded - will use it to guide prioritized improvements" - Continue to step 5 **IF S (Skip) or no validation report found:** - Note: "Proceeding with manual edit discovery" - Continue to step 5 **If no validation report found:** - Note: "No validation report found in PRD folder" - Continue to step 5 without asking user ### 5. Ask About Validation Report "**Do you have a validation report to guide edits?** If you've run the validation workflow on this PRD, I can use that report to guide improvements and prioritize changes. Validation report path (or type 'none'):" **Wait for user input.** **If validation report path provided:** - Load the validation report - Extract findings, severity, improvement suggestions - Note: "Validation report loaded - will use it to guide prioritized improvements" **If no validation report:** - Note: "Proceeding with manual edit discovery" - Continue to step 6 ### 6. Discover Edit Requirements "**What would you like to edit in this PRD?** Please describe the changes you want to make. For example: - Fix specific issues (information density, implementation leakage, etc.) - Add missing sections or content - Improve structure and flow - Convert to BMAD format (if legacy PRD) - General improvements - Other changes **Describe your edit goals:**" **Wait for user to describe their requirements.** ### 7. Detect PRD Format Analyze the loaded PRD: **Extract all ## Level 2 headers** from PRD **Check for BMAD PRD core sections:** 1. Executive Summary 2. Success Criteria 3. Product Scope 4. User Journeys 5. Functional Requirements 6. Non-Functional Requirements **Classify format:** - **BMAD Standard:** 5-6 core sections present - **BMAD Variant:** 3-4 core sections present, generally follows BMAD patterns - **Legacy (Non-Standard):** Fewer than 3 core sections, does not follow BMAD structure ### 8. Route Based on Format and Context **IF validation report provided OR PRD is BMAD Standard/Variant:** Display: "**Edit Requirements Understood** **PRD Format:** {classification} {If validation report: "**Validation Guide:** Yes - will use validation report findings"} **Edit Goals:** {summary of user's requirements} **Proceeding to deep review and analysis...**" Load and execute next step (step-e-02-review.md) **IF PRD is Legacy (Non-Standard) AND no validation report:** Display: "**Format Detected:** Legacy PRD This PRD does not follow BMAD standard structure (only {count}/6 core sections present). **Your edit goals:** {user's requirements} **How would you like to proceed?**" Present MENU OPTIONS below for user selection ### 9. Present MENU OPTIONS (Legacy PRDs Only) **[C] Convert to BMAD Format** - Convert PRD to BMAD standard structure, then apply your edits **[E] Edit As-Is** - Apply your edits without converting the format **[X] Exit** - Exit and review conversion options #### EXECUTION RULES: - ALWAYS halt and wait for user input - Only proceed based on user selection #### Menu Handling Logic: - IF C (Convert): Load, read entire file, then execute {altStepFile} (step-e-01b-legacy-conversion.md) - IF E (Edit As-Is): Display "Proceeding with edits..." then load next step - IF X (Exit): Display summary and exit - IF Any other: help user, then redisplay menu --- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS ### ✅ SUCCESS: - User's edit requirements clearly understood - Auto-detected validation reports loaded and analyzed (when found) - Manual validation report loaded and analyzed (if provided) - PRD format detected correctly - BMAD PRDs proceed directly to review step - Legacy PRDs pause and present conversion options - User can choose conversion path or edit as-is ### ❌ SYSTEM FAILURE: - Not discovering user's edit requirements - Not auto-detecting validation reports in PRD folder - Not loading validation report when provided (auto or manual) - Missing format detection - Not pausing for legacy PRDs without guidance - Auto-proceeding without understanding intent **Master Rule:** Understand before editing. Detect format early so we can guide users appropriately. Auto-detect and use validation reports for prioritized improvements.