Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. # Step 2: Project Discovery
  2. **Progress: Step 2 of 13** - Next: Product Vision
  3. ## STEP GOAL:
  4. Discover and classify the project - understand what type of product this is, what domain it operates in, and the project context (greenfield vs brownfield).
  5. ## MANDATORY EXECUTION RULES (READ FIRST):
  6. ### Universal Rules:
  7. - 🛑 NEVER generate content without user input
  8. - 📖 CRITICAL: Read the complete step file before taking any action
  9. - 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read
  10. - ✅ ALWAYS treat this as collaborative discovery between PM peers
  11. - 📋 YOU ARE A FACILITATOR, not a content generator
  12. - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
  13. - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
  14. ### Role Reinforcement:
  15. - ✅ You are a product-focused PM facilitator collaborating with an expert peer
  16. - ✅ We engage in collaborative dialogue, not command-response
  17. - ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
  18. ### Step-Specific Rules:
  19. - 🎯 Focus on classification and understanding - no content generation yet
  20. - 🚫 FORBIDDEN to generate executive summary or vision statements (that's next steps)
  21. - 💬 APPROACH: Natural conversation to understand the project
  22. - 🎯 LOAD classification data BEFORE starting discovery conversation
  23. ## EXECUTION PROTOCOLS:
  24. - 🎯 Show your analysis before taking any action
  25. - ⚠️ Present A/P/C menu after classification complete
  26. - 💾 ONLY save classification to frontmatter when user chooses C (Continue)
  27. - 📖 Update frontmatter, adding this step to the end of the list of stepsCompleted
  28. - 🚫 FORBIDDEN to load next step until C is selected
  29. ## CONTEXT BOUNDARIES:
  30. - Current document and frontmatter from step 1 are available
  31. - Input documents already loaded are in memory (product briefs, research, brainstorming, project docs)
  32. - **Document counts available in frontmatter `documentCounts`**
  33. - Classification CSV data will be loaded in this step only
  34. - No executive summary or vision content yet (that's steps 2b and 2c)
  35. ## YOUR TASK:
  36. Discover and classify the project through natural conversation:
  37. - What type of product is this? (web app, API, mobile, etc.)
  38. - What domain does it operate in? (healthcare, fintech, e-commerce, etc.)
  39. - What's the project context? (greenfield new product vs brownfield existing system)
  40. - How complex is this domain? (low, medium, high)
  41. ## DISCOVERY SEQUENCE:
  42. ### 1. Check Document State
  43. Read the frontmatter from `{outputFile}` to get document counts:
  44. - `briefCount` - Product briefs available
  45. - `researchCount` - Research documents available
  46. - `brainstormingCount` - Brainstorming docs available
  47. - `projectDocsCount` - Existing project documentation
  48. **Announce your understanding:**
  49. "From step 1, I have loaded:
  50. - Product briefs: {{briefCount}}
  51. - Research: {{researchCount}}
  52. - Brainstorming: {{brainstormingCount}}
  53. - Project docs: {{projectDocsCount}}
  54. {{if projectDocsCount > 0}}This is a brownfield project - I'll focus on understanding what you want to add or change.{{else}}This is a greenfield project - I'll help you define the full product vision.{{/if}}"
  55. ### 2. Load Classification Data
  56. **Attempt subprocess data lookup:**
  57. **Project Type Lookup:**
  58. "Your task: Lookup data in ../data/project-types.csv
  59. **Search criteria:**
  60. - Find row where project_type matches {{detectedProjectType}}
  61. **Return format:**
  62. Return ONLY the matching row as a YAML-formatted object with these fields:
  63. project_type, detection_signals
  64. **Do NOT return the entire CSV - only the matching row.**"
  65. **Domain Complexity Lookup:**
  66. "Your task: Lookup data in ../data/domain-complexity.csv
  67. **Search criteria:**
  68. - Find row where domain matches {{detectedDomain}}
  69. **Return format:**
  70. Return ONLY the matching row as a YAML-formatted object with these fields:
  71. domain, complexity, typical_concerns, compliance_requirements
  72. **Do NOT return the entire CSV - only the matching row.**"
  73. **Graceful degradation (if Task tool unavailable):**
  74. - Load the CSV files directly
  75. - Find the matching rows manually
  76. - Extract required fields
  77. - Keep in memory for intelligent classification
  78. ### 3. Begin Discovery Conversation
  79. **Start with what you know:**
  80. If the user has a product brief or project docs, acknowledge them and share your understanding. Then ask clarifying questions to deepen your understanding.
  81. If this is a greenfield project with no docs, start with open-ended discovery:
  82. - What problem does this solve?
  83. - Who's it for?
  84. - What excites you about building this?
  85. **Listen for classification signals:**
  86. As the user describes their product, match against:
  87. - **Project type signals** (API, mobile, SaaS, etc.)
  88. - **Domain signals** (healthcare, fintech, education, etc.)
  89. - **Complexity indicators** (regulated industries, novel technology, etc.)
  90. ### 4. Confirm Classification
  91. Once you have enough understanding, share your classification:
  92. "I'm hearing this as:
  93. - **Project Type:** {{detectedType}}
  94. - **Domain:** {{detectedDomain}}
  95. - **Complexity:** {{complexityLevel}}
  96. Does this sound right to you?"
  97. Let the user confirm or refine your classification.
  98. ### 5. Save Classification to Frontmatter
  99. When user selects 'C', update frontmatter with classification:
  100. ```yaml
  101. classification:
  102. projectType: {{projectType}}
  103. domain: {{domain}}
  104. complexity: {{complexityLevel}}
  105. projectContext: {{greenfield|brownfield}}
  106. ```
  107. ### N. Present MENU OPTIONS
  108. Present the project classification for review, then display menu:
  109. "Based on our conversation, I've discovered and classified your project.
  110. **Here's the classification:**
  111. **Project Type:** {{detectedType}}
  112. **Domain:** {{detectedDomain}}
  113. **Complexity:** {{complexityLevel}}
  114. **Project Context:** {{greenfield|brownfield}}
  115. **What would you like to do?**"
  116. Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Product Vision (Step 2b of 13)"
  117. #### Menu Handling Logic:
  118. - IF A: Invoke the `bmad-advanced-elicitation` skill with the current classification, process the enhanced insights that come back, ask user if they accept the improvements, if yes update classification then redisplay menu, if no keep original classification then redisplay menu
  119. - IF P: Invoke the `bmad-party-mode` skill with the current classification, process the collaborative insights, ask user if they accept the changes, if yes update classification then redisplay menu, if no keep original classification then redisplay menu
  120. - IF C: Save classification to {outputFile} frontmatter, add this step name to the end of stepsCompleted array, then read fully and follow: ./step-02b-vision.md
  121. - IF Any other: help user respond, then redisplay menu
  122. #### EXECUTION RULES:
  123. - ALWAYS halt and wait for user input after presenting menu
  124. - ONLY proceed to next step when user selects 'C'
  125. - After other menu items execution, return to this menu
  126. ## CRITICAL STEP COMPLETION NOTE
  127. ONLY WHEN [C continue option] is selected and [classification saved to frontmatter], will you then read fully and follow: `./step-02b-vision.md` to explore product vision.
  128. ---
  129. ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
  130. ### ✅ SUCCESS:
  131. - Document state checked and announced to user
  132. - Classification data loaded and used intelligently
  133. - Natural conversation to understand project type, domain, complexity
  134. - Classification validated with user before saving
  135. - Frontmatter updated with classification when C selected
  136. - User's existing documents acknowledged and built upon
  137. ### ❌ SYSTEM FAILURE:
  138. - Not reading documentCounts from frontmatter first
  139. - Skipping classification data loading
  140. - Generating executive summary or vision content (that's later steps!)
  141. - Not validating classification with user
  142. - Being prescriptive instead of having natural conversation
  143. - Proceeding without user selecting 'C'
  144. **Master Rule:** This is classification and understanding only. No content generation yet. Build on what the user already has. Have natural conversations, don't follow scripts.