bmalph 2.7.6 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/README.md +4 -4
  2. package/bmad/bmm/agents/analyst.agent.yaml +6 -6
  3. package/bmad/bmm/agents/architect.agent.yaml +2 -2
  4. package/bmad/bmm/agents/bmad-skill-manifest.yaml +39 -0
  5. package/bmad/bmm/agents/dev.agent.yaml +2 -2
  6. package/bmad/bmm/agents/pm.agent.yaml +6 -6
  7. package/bmad/bmm/agents/qa.agent.yaml +1 -1
  8. package/bmad/bmm/agents/quick-flow-solo-dev.agent.yaml +7 -3
  9. package/bmad/bmm/agents/sm.agent.yaml +4 -4
  10. package/bmad/bmm/agents/tech-writer/bmad-skill-manifest.yaml +3 -0
  11. package/bmad/bmm/agents/tech-writer/tech-writer.agent.yaml +1 -1
  12. package/bmad/bmm/agents/ux-designer.agent.yaml +1 -1
  13. package/bmad/bmm/module-help.csv +26 -25
  14. package/bmad/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md +6 -0
  15. package/bmad/bmm/workflows/1-analysis/bmad-create-product-brief/bmad-skill-manifest.yaml +1 -0
  16. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/product-brief.template.md +2 -2
  17. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-01-init.md +4 -11
  18. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-01b-continue.md +0 -3
  19. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-02-vision.md +5 -11
  20. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-03-users.md +5 -11
  21. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-04-metrics.md +5 -11
  22. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-05-scope.md +5 -11
  23. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/steps/step-06-complete.md +1 -4
  24. package/bmad/bmm/workflows/1-analysis/{create-product-brief → bmad-create-product-brief}/workflow.md +4 -6
  25. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/SKILL.md +88 -0
  26. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/artifact-analyzer.md +60 -0
  27. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/opportunity-reviewer.md +44 -0
  28. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/skeptic-reviewer.md +44 -0
  29. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/web-researcher.md +49 -0
  30. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-manifest.json +17 -0
  31. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-skill-manifest.yaml +1 -0
  32. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/contextual-discovery.md +57 -0
  33. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/draft-and-review.md +86 -0
  34. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/finalize.md +75 -0
  35. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/guided-elicitation.md +70 -0
  36. package/bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/resources/brief-template.md +60 -0
  37. package/bmad/bmm/workflows/1-analysis/research/bmad-domain-research/SKILL.md +6 -0
  38. package/bmad/bmm/workflows/1-analysis/research/bmad-domain-research/bmad-skill-manifest.yaml +1 -0
  39. package/bmad/bmm/workflows/1-analysis/research/{domain-steps → bmad-domain-research/domain-steps}/step-06-research-synthesis.md +2 -1
  40. package/bmad/bmm/workflows/1-analysis/research/bmad-domain-research/research.template.md +29 -0
  41. package/bmad/bmm/workflows/1-analysis/research/{workflow-domain-research.md → bmad-domain-research/workflow.md} +0 -5
  42. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/SKILL.md +6 -0
  43. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/bmad-skill-manifest.yaml +1 -0
  44. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/research.template.md +29 -0
  45. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-01-init.md +184 -0
  46. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
  47. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
  48. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
  49. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
  50. package/bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +478 -0
  51. package/bmad/bmm/workflows/1-analysis/research/{workflow-market-research.md → bmad-market-research/workflow.md} +1 -6
  52. package/bmad/bmm/workflows/1-analysis/research/bmad-technical-research/SKILL.md +6 -0
  53. package/bmad/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml +1 -0
  54. package/bmad/bmm/workflows/1-analysis/research/bmad-technical-research/research.template.md +29 -0
  55. package/bmad/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-06-research-synthesis.md +2 -1
  56. package/bmad/bmm/workflows/1-analysis/research/{workflow-technical-research.md → bmad-technical-research/workflow.md} +0 -4
  57. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +2 -2
  58. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +2 -2
  59. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +2 -2
  60. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +2 -2
  61. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +2 -1
  62. package/bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/SKILL.md +6 -0
  63. package/bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/bmad-skill-manifest.yaml +1 -0
  64. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-01-init.md +2 -2
  65. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-01b-continue.md +1 -1
  66. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-02-discovery.md +2 -2
  67. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-03-core-experience.md +5 -4
  68. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-04-emotional-response.md +5 -4
  69. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-05-inspiration.md +5 -4
  70. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-06-design-system.md +5 -4
  71. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-07-defining-experience.md +5 -4
  72. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-08-visual-foundation.md +5 -4
  73. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-09-design-directions.md +5 -4
  74. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-10-user-journeys.md +5 -4
  75. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-11-component-strategy.md +5 -4
  76. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-12-ux-patterns.md +5 -4
  77. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-13-responsive-accessibility.md +5 -4
  78. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/steps/step-14-complete.md +3 -3
  79. package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/workflow.md +2 -8
  80. package/bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/SKILL.md +6 -0
  81. package/bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml +1 -0
  82. package/bmad/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-01-discovery.md +3 -8
  83. package/bmad/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-01b-legacy-conversion.md +1 -5
  84. package/bmad/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-02-review.md +5 -9
  85. package/bmad/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-03-edit.md +3 -6
  86. package/bmad/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-04-complete.md +2 -5
  87. package/bmad/bmm/workflows/2-plan-workflows/{create-prd/workflow-edit-prd.md → bmad-edit-prd/workflow.md} +2 -4
  88. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/SKILL.md +6 -0
  89. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml +1 -0
  90. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv +15 -0
  91. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md +197 -0
  92. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/project-types.csv +11 -0
  93. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  94. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  95. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  96. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  97. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  98. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  99. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  100. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  101. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  102. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  103. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  104. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  105. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  106. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  107. package/bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/workflow.md +62 -0
  108. package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +2 -4
  109. package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +1 -1
  110. package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +3 -3
  111. package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +3 -2
  112. package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +3 -1
  113. package/bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/SKILL.md +6 -0
  114. package/bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml +1 -0
  115. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-01-document-discovery.md +3 -8
  116. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-02-prd-analysis.md +1 -5
  117. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-03-epic-coverage-validation.md +1 -5
  118. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-04-ux-alignment.md +1 -5
  119. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-05-epic-quality-review.md +2 -6
  120. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-06-final-assessment.md +1 -4
  121. package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/workflow.md +1 -6
  122. package/bmad/bmm/workflows/3-solutioning/bmad-create-architecture/SKILL.md +6 -0
  123. package/bmad/bmm/workflows/3-solutioning/bmad-create-architecture/bmad-skill-manifest.yaml +1 -0
  124. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-01-init.md +4 -4
  125. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-01b-continue.md +11 -2
  126. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-02-context.md +4 -4
  127. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-03-starter.md +5 -7
  128. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-04-decisions.md +4 -4
  129. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-05-patterns.md +4 -4
  130. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-06-structure.md +4 -4
  131. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-07-validation.md +4 -4
  132. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/steps/step-08-complete.md +1 -1
  133. package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/workflow.md +1 -12
  134. package/bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/SKILL.md +6 -0
  135. package/bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml +1 -0
  136. package/bmad/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-01-validate-prerequisites.md +37 -41
  137. package/bmad/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-02-design-epics.md +7 -28
  138. package/bmad/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-03-create-stories.md +13 -30
  139. package/bmad/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-04-final-validation.md +3 -21
  140. package/bmad/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/templates/epics-template.md +4 -0
  141. package/bmad/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/workflow.md +1 -6
  142. package/bmad/bmm/workflows/4-implementation/bmad-code-review/SKILL.md +6 -0
  143. package/bmad/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml +1 -0
  144. package/bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-01-gather-context.md +61 -0
  145. package/bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-02-review.md +41 -0
  146. package/bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-03-triage.md +50 -0
  147. package/bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-04-present.md +38 -0
  148. package/bmad/bmm/workflows/4-implementation/bmad-code-review/workflow.md +54 -0
  149. package/bmad/bmm/workflows/4-implementation/bmad-correct-course/SKILL.md +6 -0
  150. package/bmad/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml +1 -0
  151. package/bmad/bmm/workflows/4-implementation/{correct-course → bmad-correct-course}/checklist.md +1 -1
  152. package/bmad/bmm/workflows/4-implementation/{correct-course/instructions.md → bmad-correct-course/workflow.md} +74 -14
  153. package/bmad/bmm/workflows/4-implementation/bmad-create-story/SKILL.md +6 -0
  154. package/bmad/bmm/workflows/4-implementation/bmad-create-story/bmad-skill-manifest.yaml +1 -0
  155. package/bmad/bmm/workflows/4-implementation/{create-story → bmad-create-story}/checklist.md +9 -10
  156. package/bmad/bmm/workflows/4-implementation/bmad-create-story/discover-inputs.md +88 -0
  157. package/bmad/bmm/workflows/4-implementation/bmad-create-story/workflow.md +380 -0
  158. package/bmad/bmm/workflows/4-implementation/bmad-dev-story/SKILL.md +6 -0
  159. package/bmad/bmm/workflows/4-implementation/bmad-dev-story/bmad-skill-manifest.yaml +1 -0
  160. package/bmad/bmm/workflows/4-implementation/{dev-story/instructions.xml → bmad-dev-story/workflow.md} +42 -2
  161. package/bmad/bmm/workflows/4-implementation/bmad-retrospective/SKILL.md +6 -0
  162. package/bmad/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml +1 -0
  163. package/bmad/bmm/workflows/4-implementation/{retrospective/instructions.md → bmad-retrospective/workflow.md} +58 -23
  164. package/bmad/bmm/workflows/4-implementation/bmad-sprint-planning/SKILL.md +6 -0
  165. package/bmad/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml +1 -0
  166. package/bmad/bmm/workflows/4-implementation/{sprint-planning → bmad-sprint-planning}/sprint-status-template.yaml +1 -0
  167. package/bmad/bmm/workflows/4-implementation/{sprint-planning/instructions.md → bmad-sprint-planning/workflow.md} +47 -10
  168. package/bmad/bmm/workflows/4-implementation/bmad-sprint-status/SKILL.md +6 -0
  169. package/bmad/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml +1 -0
  170. package/bmad/bmm/workflows/4-implementation/{sprint-status/instructions.md → bmad-sprint-status/workflow.md} +39 -8
  171. package/bmad/bmm/workflows/bmad-document-project/SKILL.md +6 -0
  172. package/bmad/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml +1 -0
  173. package/bmad/bmm/workflows/{document-project → bmad-document-project}/instructions.md +6 -8
  174. package/bmad/bmm/workflows/bmad-document-project/workflow.md +27 -0
  175. package/bmad/bmm/workflows/{document-project → bmad-document-project}/workflows/deep-dive-instructions.md +3 -2
  176. package/bmad/bmm/workflows/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
  177. package/bmad/bmm/workflows/{document-project → bmad-document-project}/workflows/full-scan-instructions.md +5 -4
  178. package/bmad/bmm/workflows/bmad-document-project/workflows/full-scan-workflow.md +34 -0
  179. package/bmad/bmm/workflows/bmad-generate-project-context/SKILL.md +6 -0
  180. package/bmad/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml +1 -0
  181. package/bmad/bmm/workflows/{generate-project-context → bmad-generate-project-context}/steps/step-01-discover.md +3 -1
  182. package/bmad/bmm/workflows/{generate-project-context → bmad-generate-project-context}/steps/step-02-generate.md +7 -4
  183. package/bmad/bmm/workflows/{generate-project-context → bmad-generate-project-context}/workflow.md +2 -8
  184. package/bmad/bmm/workflows/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
  185. package/bmad/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml +1 -0
  186. package/bmad/bmm/workflows/{qa/automate/instructions.md → bmad-qa-generate-e2e-tests/workflow.md} +33 -7
  187. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/SKILL.md +6 -0
  188. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/bmad-skill-manifest.yaml +1 -0
  189. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/steps/step-01-mode-detection.md +9 -14
  190. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/steps/step-02-context-gathering.md +1 -5
  191. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/steps/step-03-execute.md +1 -5
  192. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/steps/step-04-self-check.md +1 -5
  193. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/steps/step-05-adversarial-review.md +8 -18
  194. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/steps/step-06-resolve-findings.md +0 -2
  195. package/bmad/bmm/workflows/bmad-quick-flow/{quick-dev → bmad-quick-dev}/workflow.md +1 -13
  196. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/SKILL.md +6 -0
  197. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -0
  198. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +51 -0
  199. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +35 -0
  200. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +33 -0
  201. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +50 -0
  202. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +17 -0
  203. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md +90 -0
  204. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +79 -0
  205. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md +6 -0
  206. package/bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml +1 -0
  207. package/bmad/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-01-understand.md +7 -13
  208. package/bmad/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-02-investigate.md +3 -7
  209. package/bmad/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-03-generate.md +1 -5
  210. package/bmad/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-04-review.md +9 -14
  211. package/bmad/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/workflow.md +1 -7
  212. package/bmad/core/module-help.csv +10 -8
  213. package/bmad/core/module.yaml +1 -1
  214. package/bmad/core/skills/bmad-advanced-elicitation/SKILL.md +6 -0
  215. package/bmad/core/skills/bmad-advanced-elicitation/bmad-skill-manifest.yaml +1 -0
  216. package/bmad/core/skills/bmad-advanced-elicitation/workflow.md +135 -0
  217. package/bmad/core/skills/bmad-brainstorming/SKILL.md +6 -0
  218. package/bmad/core/skills/bmad-brainstorming/bmad-skill-manifest.yaml +1 -0
  219. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-01-session-setup.md +35 -18
  220. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-01b-continue.md +4 -2
  221. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-02a-user-selected.md +5 -1
  222. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-02b-ai-recommended.md +3 -1
  223. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-02c-random-selection.md +3 -1
  224. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-02d-progressive-flow.md +3 -1
  225. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-03-technique-execution.md +6 -4
  226. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/steps/step-04-idea-organization.md +4 -2
  227. package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/workflow.md +4 -9
  228. package/bmad/core/skills/bmad-distillator/SKILL.md +178 -0
  229. package/bmad/core/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
  230. package/bmad/core/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
  231. package/bmad/core/skills/bmad-distillator/bmad-skill-manifest.yaml +15 -0
  232. package/bmad/core/skills/bmad-distillator/resources/compression-rules.md +51 -0
  233. package/bmad/core/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
  234. package/bmad/core/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
  235. package/bmad/core/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
  236. package/bmad/core/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
  237. package/bmad/core/skills/bmad-editorial-review-prose/SKILL.md +6 -0
  238. package/bmad/core/skills/bmad-editorial-review-prose/bmad-skill-manifest.yaml +1 -0
  239. package/bmad/core/skills/bmad-editorial-review-prose/workflow.md +81 -0
  240. package/bmad/core/skills/bmad-editorial-review-structure/SKILL.md +6 -0
  241. package/bmad/core/skills/bmad-editorial-review-structure/bmad-skill-manifest.yaml +1 -0
  242. package/bmad/core/skills/bmad-editorial-review-structure/workflow.md +174 -0
  243. package/bmad/core/skills/bmad-help/SKILL.md +6 -0
  244. package/bmad/core/skills/bmad-help/bmad-skill-manifest.yaml +1 -0
  245. package/bmad/core/{tasks/help.md → skills/bmad-help/workflow.md} +11 -8
  246. package/bmad/core/skills/bmad-index-docs/SKILL.md +6 -0
  247. package/bmad/core/skills/bmad-index-docs/bmad-skill-manifest.yaml +1 -0
  248. package/bmad/core/skills/bmad-index-docs/workflow.md +61 -0
  249. package/bmad/core/skills/bmad-party-mode/SKILL.md +6 -0
  250. package/bmad/core/skills/bmad-party-mode/bmad-skill-manifest.yaml +1 -0
  251. package/bmad/core/{workflows/party-mode → skills/bmad-party-mode}/steps/step-03-graceful-exit.md +0 -1
  252. package/bmad/core/{workflows/party-mode → skills/bmad-party-mode}/workflow.md +0 -4
  253. package/bmad/core/skills/bmad-review-adversarial-general/SKILL.md +6 -0
  254. package/bmad/core/skills/bmad-review-adversarial-general/bmad-skill-manifest.yaml +1 -0
  255. package/bmad/core/skills/bmad-review-adversarial-general/workflow.md +32 -0
  256. package/bmad/core/skills/bmad-review-edge-case-hunter/SKILL.md +6 -0
  257. package/bmad/core/skills/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +1 -0
  258. package/bmad/core/skills/bmad-review-edge-case-hunter/workflow.md +62 -0
  259. package/bmad/core/skills/bmad-shard-doc/SKILL.md +6 -0
  260. package/bmad/core/skills/bmad-shard-doc/bmad-skill-manifest.yaml +1 -0
  261. package/bmad/core/skills/bmad-shard-doc/workflow.md +100 -0
  262. package/bmad/core/tasks/bmad-create-prd/SKILL.md +6 -0
  263. package/bmad/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml +1 -0
  264. package/bmad/core/tasks/bmad-create-prd/data/domain-complexity.csv +15 -0
  265. package/bmad/core/tasks/bmad-create-prd/data/prd-purpose.md +197 -0
  266. package/bmad/core/tasks/bmad-create-prd/data/project-types.csv +11 -0
  267. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-01-init.md +7 -20
  268. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-01b-continue.md +29 -21
  269. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-02-discovery.md +7 -23
  270. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-02b-vision.md +5 -17
  271. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-02c-executive-summary.md +5 -17
  272. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-03-success.md +4 -16
  273. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-04-journeys.md +4 -16
  274. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-05-domain.md +7 -20
  275. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-06-innovation.md +8 -23
  276. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-07-project-type.md +6 -21
  277. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-08-scoping.md +5 -17
  278. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-09-functional.md +5 -17
  279. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-10-nonfunctional.md +5 -17
  280. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-11-polish.md +22 -18
  281. package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-12-complete.md +4 -13
  282. package/bmad/{bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md → core/tasks/bmad-create-prd/workflow.md} +3 -4
  283. package/bundled-versions.json +1 -1
  284. package/dist/commands/doctor-checks.js +14 -5
  285. package/dist/commands/doctor-checks.js.map +1 -1
  286. package/dist/commands/doctor.js +13 -4
  287. package/dist/commands/doctor.js.map +1 -1
  288. package/dist/commands/init.js +12 -2
  289. package/dist/commands/init.js.map +1 -1
  290. package/dist/commands/run.js +11 -2
  291. package/dist/commands/run.js.map +1 -1
  292. package/dist/commands/status.js +3 -2
  293. package/dist/commands/status.js.map +1 -1
  294. package/dist/commands/watch.js +5 -0
  295. package/dist/commands/watch.js.map +1 -1
  296. package/dist/installer/commands.js +33 -15
  297. package/dist/installer/commands.js.map +1 -1
  298. package/dist/installer/install.js +1 -1
  299. package/dist/installer/install.js.map +1 -1
  300. package/dist/installer/project-files.js +4 -4
  301. package/dist/installer/project-files.js.map +1 -1
  302. package/dist/installer/template-files.js +72 -6
  303. package/dist/installer/template-files.js.map +1 -1
  304. package/dist/platform/codex.js +6 -1
  305. package/dist/platform/codex.js.map +1 -1
  306. package/dist/platform/detect.js +7 -3
  307. package/dist/platform/detect.js.map +1 -1
  308. package/dist/platform/doctor-checks.js +2 -2
  309. package/dist/platform/doctor-checks.js.map +1 -1
  310. package/dist/platform/guidance.js +66 -0
  311. package/dist/platform/guidance.js.map +1 -0
  312. package/dist/platform/instructions-snippet.js +15 -0
  313. package/dist/platform/instructions-snippet.js.map +1 -1
  314. package/dist/platform/opencode.js +20 -0
  315. package/dist/platform/opencode.js.map +1 -0
  316. package/dist/platform/registry.js +2 -0
  317. package/dist/platform/registry.js.map +1 -1
  318. package/dist/platform/types.js +1 -0
  319. package/dist/platform/types.js.map +1 -1
  320. package/dist/reset.js +3 -3
  321. package/dist/reset.js.map +1 -1
  322. package/dist/run/ralph-process.js +51 -7
  323. package/dist/run/ralph-process.js.map +1 -1
  324. package/dist/run/run-dashboard.js +22 -9
  325. package/dist/run/run-dashboard.js.map +1 -1
  326. package/dist/transition/artifact-scan.js +14 -5
  327. package/dist/transition/artifact-scan.js.map +1 -1
  328. package/dist/transition/context.js +11 -3
  329. package/dist/transition/context.js.map +1 -1
  330. package/dist/utils/constants.js +4 -2
  331. package/dist/utils/constants.js.map +1 -1
  332. package/dist/watch/dashboard.js +36 -21
  333. package/dist/watch/dashboard.js.map +1 -1
  334. package/dist/watch/frame-writer.js +83 -0
  335. package/dist/watch/frame-writer.js.map +1 -0
  336. package/dist/watch/renderer.js +179 -54
  337. package/dist/watch/renderer.js.map +1 -1
  338. package/dist/watch/state-reader.js +8 -0
  339. package/dist/watch/state-reader.js.map +1 -1
  340. package/package.json +1 -1
  341. package/ralph/RALPH-REFERENCE.md +4 -4
  342. package/ralph/drivers/claude-code.sh +4 -2
  343. package/ralph/drivers/opencode.sh +147 -0
  344. package/ralph/lib/enable_core.sh +10 -2
  345. package/ralph/lib/response_analyzer.sh +337 -96
  346. package/ralph/lib/wizard_utils.sh +4 -4
  347. package/ralph/ralph_import.sh +9 -1
  348. package/ralph/ralph_loop.sh +428 -15
  349. package/ralph/templates/PROMPT.md +15 -5
  350. package/ralph/templates/ralphrc.template +31 -5
  351. package/slash-commands/advanced-elicitation.md +1 -1
  352. package/slash-commands/adversarial-review.md +1 -1
  353. package/slash-commands/bmad-help.md +1 -1
  354. package/slash-commands/bmalph.md +1 -1
  355. package/slash-commands/brainstorm-project.md +1 -1
  356. package/slash-commands/brainstorming.md +1 -1
  357. package/slash-commands/correct-course.md +1 -1
  358. package/slash-commands/create-architecture.md +1 -1
  359. package/slash-commands/create-brief.md +1 -1
  360. package/slash-commands/create-epics-stories.md +1 -1
  361. package/slash-commands/create-prd.md +1 -1
  362. package/slash-commands/create-story.md +1 -1
  363. package/slash-commands/create-ux.md +1 -1
  364. package/slash-commands/distillator.md +1 -0
  365. package/slash-commands/document-project.md +1 -1
  366. package/slash-commands/domain-research.md +1 -1
  367. package/slash-commands/edge-case-hunter.md +1 -0
  368. package/slash-commands/edit-prd.md +1 -0
  369. package/slash-commands/editorial-prose.md +1 -1
  370. package/slash-commands/editorial-structure.md +1 -1
  371. package/slash-commands/generate-project-context.md +1 -1
  372. package/slash-commands/implementation-readiness.md +1 -1
  373. package/slash-commands/index-docs.md +1 -1
  374. package/slash-commands/market-research.md +1 -1
  375. package/slash-commands/party-mode.md +1 -1
  376. package/slash-commands/qa-automate.md +1 -1
  377. package/slash-commands/quick-dev-new.md +1 -0
  378. package/slash-commands/quick-dev.md +1 -1
  379. package/slash-commands/retrospective.md +1 -1
  380. package/slash-commands/shard-doc.md +1 -1
  381. package/slash-commands/sprint-planning.md +1 -1
  382. package/slash-commands/sprint-status.md +1 -1
  383. package/slash-commands/tech-spec.md +1 -1
  384. package/slash-commands/technical-research.md +1 -1
  385. package/slash-commands/validate-architecture.md +1 -1
  386. package/slash-commands/validate-brief.md +1 -1
  387. package/slash-commands/validate-epics-stories.md +1 -1
  388. package/slash-commands/validate-prd.md +1 -1
  389. package/slash-commands/validate-story.md +1 -1
  390. package/slash-commands/validate-ux.md +1 -1
  391. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +0 -23
  392. package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +0 -227
  393. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -44
  394. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -54
  395. package/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +0 -346
  396. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -53
  397. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -21
  398. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -53
  399. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -47
  400. package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -25
  401. package/bmad/bmm/workflows/document-project/workflow.yaml +0 -22
  402. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  403. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  404. package/bmad/bmm/workflows/qa/automate/workflow.yaml +0 -44
  405. package/bmad/core/agents/bmad-master.agent.yaml +0 -30
  406. package/bmad/core/tasks/editorial-review-prose.xml +0 -102
  407. package/bmad/core/tasks/editorial-review-structure.xml +0 -209
  408. package/bmad/core/tasks/index-docs.xml +0 -65
  409. package/bmad/core/tasks/review-adversarial-general.xml +0 -48
  410. package/bmad/core/tasks/shard-doc.xml +0 -108
  411. package/bmad/core/tasks/workflow.xml +0 -235
  412. package/bmad/core/workflows/advanced-elicitation/workflow.xml +0 -117
  413. package/slash-commands/execute-workflow.md +0 -1
  414. /package/bmad/bmm/workflows/1-analysis/research/{domain-steps → bmad-domain-research/domain-steps}/step-01-init.md +0 -0
  415. /package/bmad/bmm/workflows/1-analysis/research/{domain-steps → bmad-domain-research/domain-steps}/step-02-domain-analysis.md +0 -0
  416. /package/bmad/bmm/workflows/1-analysis/research/{domain-steps → bmad-domain-research/domain-steps}/step-03-competitive-landscape.md +0 -0
  417. /package/bmad/bmm/workflows/1-analysis/research/{domain-steps → bmad-domain-research/domain-steps}/step-04-regulatory-focus.md +0 -0
  418. /package/bmad/bmm/workflows/1-analysis/research/{domain-steps → bmad-domain-research/domain-steps}/step-05-technical-trends.md +0 -0
  419. /package/bmad/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-01-init.md +0 -0
  420. /package/bmad/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-02-technical-overview.md +0 -0
  421. /package/bmad/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-03-integration-patterns.md +0 -0
  422. /package/bmad/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-04-architectural-patterns.md +0 -0
  423. /package/bmad/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-05-implementation-research.md +0 -0
  424. /package/bmad/bmm/workflows/2-plan-workflows/{create-ux-design → bmad-create-ux-design}/ux-design-template.md +0 -0
  425. /package/bmad/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/templates/readiness-report-template.md +0 -0
  426. /package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/architecture-decision-template.md +0 -0
  427. /package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/data/domain-complexity.csv +0 -0
  428. /package/bmad/bmm/workflows/3-solutioning/{create-architecture → bmad-create-architecture}/data/project-types.csv +0 -0
  429. /package/bmad/bmm/workflows/4-implementation/{create-story → bmad-create-story}/template.md +0 -0
  430. /package/bmad/bmm/workflows/4-implementation/{dev-story → bmad-dev-story}/checklist.md +0 -0
  431. /package/bmad/bmm/workflows/4-implementation/{sprint-planning → bmad-sprint-planning}/checklist.md +0 -0
  432. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/checklist.md +0 -0
  433. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/documentation-requirements.csv +0 -0
  434. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/templates/deep-dive-template.md +0 -0
  435. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/templates/index-template.md +0 -0
  436. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/templates/project-overview-template.md +0 -0
  437. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/templates/project-scan-report-schema.json +0 -0
  438. /package/bmad/bmm/workflows/{document-project → bmad-document-project}/templates/source-tree-template.md +0 -0
  439. /package/bmad/bmm/workflows/{generate-project-context → bmad-generate-project-context}/project-context-template.md +0 -0
  440. /package/bmad/bmm/workflows/{generate-project-context → bmad-generate-project-context}/steps/step-03-complete.md +0 -0
  441. /package/bmad/bmm/workflows/{qa/automate → bmad-qa-generate-e2e-tests}/checklist.md +0 -0
  442. /package/bmad/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/tech-spec-template.md +0 -0
  443. /package/bmad/core/{workflows/advanced-elicitation → skills/bmad-advanced-elicitation}/methods.csv +0 -0
  444. /package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/brain-methods.csv +0 -0
  445. /package/bmad/core/{workflows/brainstorming → skills/bmad-brainstorming}/template.md +0 -0
  446. /package/bmad/core/{workflows/party-mode → skills/bmad-party-mode}/steps/step-01-agent-loading.md +0 -0
  447. /package/bmad/core/{workflows/party-mode → skills/bmad-party-mode}/steps/step-02-discussion-orchestration.md +0 -0
  448. /package/bmad/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/templates/prd-template.md +0 -0
@@ -1,24 +1,10 @@
1
- ---
2
- name: 'step-05-domain'
3
- description: 'Explore domain-specific requirements for complex domains (optional step)'
4
-
5
- # File References
6
- nextStepFile: './step-06-innovation.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
- domainComplexityCSV: '../data/domain-complexity.csv'
9
-
10
- # Task References
11
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
12
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
13
- ---
14
-
15
1
  # Step 5: Domain-Specific Requirements (Optional)
16
2
 
17
3
  **Progress: Step 5 of 13** - Next: Innovation Focus
18
4
 
19
5
  ## STEP GOAL:
20
6
 
21
- For complex domains only that have a mapping in {domainComplexityCSV}, explore domain-specific constraints, compliance requirements, and technical considerations that shape the product.
7
+ For complex domains only that have a mapping in ../data/domain-complexity.csv, explore domain-specific constraints, compliance requirements, and technical considerations that shape the product.
22
8
 
23
9
  ## MANDATORY EXECUTION RULES (READ FIRST):
24
10
 
@@ -30,6 +16,7 @@ For complex domains only that have a mapping in {domainComplexityCSV}, explore d
30
16
  - ✅ ALWAYS treat this as collaborative discovery between PM peers
31
17
  - 📋 YOU ARE A FACILITATOR, not a content generator
32
18
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
19
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
33
20
 
34
21
  ### Role Reinforcement:
35
22
 
@@ -92,7 +79,7 @@ Proceed with domain exploration.
92
79
 
93
80
  **Attempt subprocess data lookup:**
94
81
 
95
- "Your task: Lookup data in {domainComplexityCSV}
82
+ "Your task: Lookup data in ../data/domain-complexity.csv
96
83
 
97
84
  **Search criteria:**
98
85
  - Find row where domain matches {{domainFromStep02}}
@@ -154,9 +141,9 @@ Acknowledge the domain and explore what makes it complex:
154
141
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue - Save and Proceed to Innovation (Step 6 of 13)"
155
142
 
156
143
  #### Menu Handling Logic:
157
- - IF A: Read fully and follow: {advancedElicitationTask}, and when finished redisplay the menu
158
- - IF P: Read fully and follow: {partyModeWorkflow}, and when finished redisplay the menu
159
- - IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile}
144
+ - IF A: Invoke the `bmad-advanced-elicitation` skill, and when finished redisplay the menu
145
+ - IF P: Invoke the `bmad-party-mode` skill, and when finished redisplay the menu
146
+ - IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: ./step-06-innovation.md
160
147
  - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#n-present-menu-options)
161
148
 
162
149
  #### EXECUTION RULES:
@@ -178,7 +165,7 @@ If step was skipped, append nothing and proceed.
178
165
 
179
166
  ## CRITICAL STEP COMPLETION NOTE
180
167
 
181
- ONLY WHEN [C continue option] is selected and [content saved or skipped], will you then read fully and follow: `{nextStepFile}` to explore innovation.
168
+ ONLY WHEN [C continue option] is selected and [content saved or skipped], will you then read fully and follow: `./step-06-innovation.md` to explore innovation.
182
169
 
183
170
  ---
184
171
 
@@ -1,19 +1,3 @@
1
- ---
2
- name: 'step-06-innovation'
3
- description: 'Detect and explore innovative aspects of the product (optional step)'
4
-
5
- # File References
6
- nextStepFile: './step-07-project-type.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
-
9
- # Data Files
10
- projectTypesCSV: '../data/project-types.csv'
11
-
12
- # Task References
13
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
14
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
15
- ---
16
-
17
1
  # Step 6: Innovation Discovery
18
2
 
19
3
  **Progress: Step 6 of 11** - Next: Project Type Analysis
@@ -29,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
29
13
  - 💬 FOCUS on detecting and exploring innovative aspects of the product
30
14
  - 🎯 OPTIONAL STEP: Only proceed if innovation signals are detected
31
15
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
16
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
32
17
 
33
18
  ## EXECUTION PROTOCOLS:
34
19
 
@@ -64,7 +49,7 @@ Detect and explore innovation patterns in the product, focusing on what makes it
64
49
 
65
50
  Load innovation signals specific to this project type:
66
51
 
67
- - Load `{projectTypesCSV}` completely
52
+ - Load `../data/project-types.csv` completely
68
53
  - Find the row where `project_type` matches detected type from step-02
69
54
  - Extract `innovation_signals` (semicolon-separated list)
70
55
  - Extract `web_search_triggers` for potential innovation research
@@ -155,9 +140,9 @@ Present the innovation content for review, then display menu:
155
140
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Project Type Analysis (Step 7 of 11)"
156
141
 
157
142
  #### Menu Handling Logic:
158
- - IF A: Read fully and follow: {advancedElicitationTask} with the current innovation content, process the enhanced innovation insights that come back, ask user "Accept these improvements to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
159
- - IF P: Read fully and follow: {partyModeWorkflow} with the current innovation content, process the collaborative innovation exploration and ideation, ask user "Accept these changes to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
160
- - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
143
+ - IF A: Invoke the `bmad-advanced-elicitation` skill with the current innovation content, process the enhanced innovation insights that come back, ask user "Accept these improvements to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
144
+ - IF P: Invoke the `bmad-party-mode` skill with the current innovation content, process the collaborative innovation exploration and ideation, ask user "Accept these changes to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
145
+ - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-07-project-type.md
161
146
  - IF Any other: help user respond, then redisplay menu
162
147
 
163
148
  #### EXECUTION RULES:
@@ -176,7 +161,7 @@ Display: "**Select:** [A] Advanced Elicitation - Let's try to find innovative an
176
161
 
177
162
  ### Menu Handling Logic:
178
163
  - IF A: Proceed with content generation anyway, then return to menu
179
- - IF C: Skip this step, then read fully and follow: {nextStepFile}
164
+ - IF C: Skip this step, then read fully and follow: ./step-07-project-type.md
180
165
 
181
166
  ### EXECUTION RULES:
182
167
  - ALWAYS halt and wait for user input after presenting menu
@@ -212,7 +197,7 @@ When user selects 'C', append the content directly to the document using the str
212
197
 
213
198
  ## SKIP CONDITIONS:
214
199
 
215
- Skip this step and load `{nextStepFile}` if:
200
+ Skip this step and load `./step-07-project-type.md` if:
216
201
 
217
202
  - No innovation signals detected in conversation
218
203
  - Product is incremental improvement rather than breakthrough
@@ -221,6 +206,6 @@ Skip this step and load `{nextStepFile}` if:
221
206
 
222
207
  ## NEXT STEP:
223
208
 
224
- After user selects 'C' and content is saved to document (or step is skipped), load `{nextStepFile}`.
209
+ After user selects 'C' and content is saved to document (or step is skipped), load `./step-07-project-type.md`.
225
210
 
226
211
  Remember: Do NOT proceed to step-07 until user explicitly selects 'C' from the A/P/C menu (or confirms step skip)!
@@ -1,19 +1,3 @@
1
- ---
2
- name: 'step-07-project-type'
3
- description: 'Conduct project-type specific discovery using CSV-driven guidance'
4
-
5
- # File References
6
- nextStepFile: './step-08-scoping.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
-
9
- # Data Files
10
- projectTypesCSV: '../data/project-types.csv'
11
-
12
- # Task References
13
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
14
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
15
- ---
16
-
17
1
  # Step 7: Project-Type Deep Dive
18
2
 
19
3
  **Progress: Step 7 of 11** - Next: Scoping
@@ -29,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
29
13
  - 💬 FOCUS on project-type specific requirements and technical considerations
30
14
  - 🎯 DATA-DRIVEN: Use CSV configuration to guide discovery
31
15
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
16
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
32
17
 
33
18
  ## EXECUTION PROTOCOLS:
34
19
 
@@ -55,7 +40,7 @@ Conduct project-type specific discovery using CSV-driven guidance to define tech
55
40
 
56
41
  **Attempt subprocess data lookup:**
57
42
 
58
- "Your task: Lookup data in {projectTypesCSV}
43
+ "Your task: Lookup data in ../data/project-types.csv
59
44
 
60
45
  **Search criteria:**
61
46
  - Find row where project_type matches {{projectTypeFromStep02}}
@@ -172,9 +157,9 @@ Present the project-type content for review, then display menu:
172
157
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Scoping (Step 8 of 11)"
173
158
 
174
159
  #### Menu Handling Logic:
175
- - IF A: Read fully and follow: {advancedElicitationTask} with the current project-type content, process the enhanced technical insights that come back, ask user "Accept these improvements to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
176
- - IF P: Read fully and follow: {partyModeWorkflow} with the current project-type requirements, process the collaborative technical expertise and validation, ask user "Accept these changes to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
177
- - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
160
+ - IF A: Invoke the `bmad-advanced-elicitation` skill with the current project-type content, process the enhanced technical insights that come back, ask user "Accept these improvements to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
161
+ - IF P: Invoke the `bmad-party-mode` skill with the current project-type requirements, process the collaborative technical expertise and validation, ask user "Accept these changes to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
162
+ - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-08-scoping.md
178
163
  - IF Any other: help user respond, then redisplay menu
179
164
 
180
165
  #### EXECUTION RULES:
@@ -232,6 +217,6 @@ When user selects 'C', append the content directly to the document using the str
232
217
 
233
218
  ## NEXT STEP:
234
219
 
235
- After user selects 'C' and content is saved to document, load `{nextStepFile}` to define project scope.
220
+ After user selects 'C' and content is saved to document, load `./step-08-scoping.md` to define project scope.
236
221
 
237
222
  Remember: Do NOT proceed to step-08 (Scoping) until user explicitly selects 'C' from the A/P/C menu and content is saved!
@@ -1,16 +1,3 @@
1
- ---
2
- name: 'step-08-scoping'
3
- description: 'Define MVP boundaries and prioritize features across development phases'
4
-
5
- # File References
6
- nextStepFile: './step-09-functional.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
-
9
- # Task References
10
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
11
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
12
- ---
13
-
14
1
  # Step 8: Scoping Exercise - MVP & Future Features
15
2
 
16
3
  **Progress: Step 8 of 11** - Next: Functional Requirements
@@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
26
13
  - 💬 FOCUS on strategic scope decisions that keep projects viable
27
14
  - 🎯 EMPHASIZE lean MVP thinking while preserving long-term vision
28
15
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
16
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
29
17
 
30
18
  ## EXECUTION PROTOCOLS:
31
19
 
@@ -183,9 +171,9 @@ Present the scoping decisions for review, then display menu:
183
171
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Functional Requirements (Step 9 of 11)"
184
172
 
185
173
  #### Menu Handling Logic:
186
- - IF A: Read fully and follow: {advancedElicitationTask} with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
187
- - IF P: Read fully and follow: {partyModeWorkflow} with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
188
- - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
174
+ - IF A: Invoke the `bmad-advanced-elicitation` skill with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
175
+ - IF P: Invoke the `bmad-party-mode` skill with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
176
+ - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-09-functional.md
189
177
  - IF Any other: help user respond, then redisplay menu
190
178
 
191
179
  #### EXECUTION RULES:
@@ -223,6 +211,6 @@ When user selects 'C', append the content directly to the document using the str
223
211
 
224
212
  ## NEXT STEP:
225
213
 
226
- After user selects 'C' and content is saved to document, load {nextStepFile}.
214
+ After user selects 'C' and content is saved to document, load ./step-09-functional.md.
227
215
 
228
216
  Remember: Do NOT proceed to step-09 until user explicitly selects 'C' from the A/P/C menu and content is saved!
@@ -1,16 +1,3 @@
1
- ---
2
- name: 'step-09-functional'
3
- description: 'Synthesize all discovery into comprehensive functional requirements'
4
-
5
- # File References
6
- nextStepFile: './step-10-nonfunctional.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
-
9
- # Task References
10
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
11
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
12
- ---
13
-
14
1
  # Step 9: Functional Requirements Synthesis
15
2
 
16
3
  **Progress: Step 9 of 11** - Next: Non-Functional Requirements
@@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
26
13
  - 💬 FOCUS on creating comprehensive capability inventory for the product
27
14
  - 🎯 CRITICAL: This is THE CAPABILITY CONTRACT for all downstream work
28
15
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
16
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
29
17
 
30
18
  ## EXECUTION PROTOCOLS:
31
19
 
@@ -181,9 +169,9 @@ Present the functional requirements for review, then display menu:
181
169
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Non-Functional Requirements (Step 10 of 11)"
182
170
 
183
171
  #### Menu Handling Logic:
184
- - IF A: Read fully and follow: {advancedElicitationTask} with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu
185
- - IF P: Read fully and follow: {partyModeWorkflow} with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
186
- - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
172
+ - IF A: Invoke the `bmad-advanced-elicitation` skill with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu
173
+ - IF P: Invoke the `bmad-party-mode` skill with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
174
+ - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-10-nonfunctional.md
187
175
  - IF Any other: help user respond, then redisplay menu
188
176
 
189
177
  #### EXECUTION RULES:
@@ -226,6 +214,6 @@ Emphasize to user: "This FR list is now binding. Any feature not listed here wil
226
214
 
227
215
  ## NEXT STEP:
228
216
 
229
- After user selects 'C' and content is saved to document, load {nextStepFile} to define non-functional requirements.
217
+ After user selects 'C' and content is saved to document, load ./step-10-nonfunctional.md to define non-functional requirements.
230
218
 
231
219
  Remember: Do NOT proceed to step-10 until user explicitly selects 'C' from the A/P/C menu and content is saved!
@@ -1,16 +1,3 @@
1
- ---
2
- name: 'step-10-nonfunctional'
3
- description: 'Define quality attributes that matter for this specific product'
4
-
5
- # File References
6
- nextStepFile: './step-11-polish.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
-
9
- # Task References
10
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
11
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
12
- ---
13
-
14
1
  # Step 10: Non-Functional Requirements
15
2
 
16
3
  **Progress: Step 10 of 12** - Next: Polish Document
@@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
26
13
  - 💬 FOCUS on quality attributes that matter for THIS specific product
27
14
  - 🎯 SELECTIVE: Only document NFRs that actually apply to the product
28
15
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
16
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
29
17
 
30
18
  ## EXECUTION PROTOCOLS:
31
19
 
@@ -168,9 +156,9 @@ Present the non-functional requirements for review, then display menu:
168
156
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Polish Document (Step 11 of 12)"
169
157
 
170
158
  #### Menu Handling Logic:
171
- - IF A: Read fully and follow: {advancedElicitationTask} with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
172
- - IF P: Read fully and follow: {partyModeWorkflow} with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
173
- - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
159
+ - IF A: Invoke the `bmad-advanced-elicitation` skill with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
160
+ - IF P: Invoke the `bmad-party-mode` skill with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
161
+ - IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-11-polish.md
174
162
  - IF Any other: help user respond, then redisplay menu
175
163
 
176
164
  #### EXECUTION RULES:
@@ -237,6 +225,6 @@ When user selects 'C', append the content directly to the document using the str
237
225
 
238
226
  ## NEXT STEP:
239
227
 
240
- After user selects 'C' and content is saved to document, load {nextStepFile} to finalize the PRD and complete the workflow.
228
+ After user selects 'C' and content is saved to document, load ./step-11-polish.md to finalize the PRD and complete the workflow.
241
229
 
242
230
  Remember: Do NOT proceed to step-11 until user explicitly selects 'C' from the A/P/C menu and content is saved!
@@ -1,17 +1,3 @@
1
- ---
2
- name: 'step-11-polish'
3
- description: 'Optimize and polish the complete PRD document for flow, coherence, and readability'
4
-
5
- # File References
6
- nextStepFile: './step-12-complete.md'
7
- outputFile: '{planning_artifacts}/prd.md'
8
- purposeFile: '../data/prd-purpose.md'
9
-
10
- # Task References
11
- advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
12
- partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
13
- ---
14
-
15
1
  # Step 11: Document Polish
16
2
 
17
3
  **Progress: Step 11 of 12** - Next: Complete PRD
@@ -26,6 +12,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
26
12
  - 💬 PRESERVE user's voice and intent
27
13
  - 🎯 MAINTAIN all essential information while improving presentation
28
14
  - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
15
+ - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
29
16
 
30
17
  ## EXECUTION PROTOCOLS:
31
18
 
@@ -55,7 +42,7 @@ Optimize the complete PRD document for flow, coherence, and professional present
55
42
 
56
43
  **CRITICAL:** Load the PRD purpose document first:
57
44
 
58
- - Read `{purposeFile}` to understand what makes a great BMAD PRD
45
+ - Read `../data/prd-purpose.md` to understand what makes a great BMAD PRD
59
46
  - Internalize the philosophy: information density, traceability, measurable requirements
60
47
  - Keep the dual-audience nature (humans + LLMs) in mind
61
48
 
@@ -99,6 +86,22 @@ Review the entire document with PRD purpose principles in mind:
99
86
  - Are technical terms used appropriately?
100
87
  - Would stakeholders find this easy to understand?
101
88
 
89
+ ### 2b. Brainstorming Reconciliation (if brainstorming input exists)
90
+
91
+ **Check the PRD frontmatter `inputDocuments` for any brainstorming document** (e.g., `brainstorming-session*.md`, `brainstorming-report.md`). If a brainstorming document was used as input:
92
+
93
+ 1. **Load the brainstorming document** and extract all distinct ideas, themes, and recommendations
94
+ 2. **Cross-reference against the PRD** — for each brainstorming idea, check if it landed in any PRD section (requirements, success criteria, user journeys, scope, etc.)
95
+ 3. **Identify dropped ideas** — ideas from brainstorming that do not appear anywhere in the PRD. Pay special attention to:
96
+ - Tone, personality, and interaction design ideas (these are most commonly lost)
97
+ - Design philosophy and coaching approach ideas
98
+ - "What should this feel like" ideas (UX feel, not just UX function)
99
+ - Qualitative/soft ideas that don't map cleanly to functional requirements
100
+ 4. **Present findings to user**: "These brainstorming ideas did not make it into the PRD: [list]. Should any be incorporated?"
101
+ 5. **If user wants to incorporate dropped ideas**: Add them to the most appropriate PRD section (success criteria, non-functional requirements, or a new section if needed)
102
+
103
+ **Why this matters**: Brainstorming documents are often long, and the PRD's structured template has an implicit bias toward concrete/structural ideas. Soft ideas (tone, philosophy, interaction feel) frequently get silently dropped because they don't map cleanly to FR/NFR format.
104
+
102
105
  ### 3. Optimization Actions
103
106
 
104
107
  Make targeted improvements:
@@ -169,9 +172,9 @@ Present the polished document for review, then display menu:
169
172
  Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Complete PRD (Step 12 of 12)"
170
173
 
171
174
  #### Menu Handling Logic:
172
- - IF A: Read fully and follow: {advancedElicitationTask} with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
173
- - IF P: Read fully and follow: {partyModeWorkflow} with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
174
- - IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
175
+ - IF A: Invoke the `bmad-advanced-elicitation` skill with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
176
+ - IF P: Invoke the `bmad-party-mode` skill with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
177
+ - IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-12-complete.md
175
178
  - IF Any other: help user respond, then redisplay menu
176
179
 
177
180
  #### EXECUTION RULES:
@@ -193,6 +196,7 @@ When user selects 'C', replace the entire document content with the polished ver
193
196
  ✅ User's voice and intent preserved
194
197
  ✅ Document is more readable and professional
195
198
  ✅ A/P/C menu presented and handled correctly
199
+ ✅ Brainstorming reconciliation completed (if brainstorming input exists)
196
200
  ✅ Polished document saved when C selected
197
201
 
198
202
  ## FAILURE MODES:
@@ -1,12 +1,3 @@
1
- ---
2
- name: 'step-12-complete'
3
- description: 'Complete the PRD workflow, update status files, and suggest next steps including validation'
4
-
5
- # File References
6
- outputFile: '{planning_artifacts}/prd.md'
7
- validationFlow: '../steps-v/step-v-01-discovery.md'
8
- ---
9
-
10
1
  # Step 12: Workflow Completion
11
2
 
12
3
  **Final Step - Complete the PRD**
@@ -60,8 +51,8 @@ Inform user that the PRD is complete and polished:
60
51
 
61
52
  Update the main workflow status file if there is one:
62
53
 
63
- - Load `{status_file}` from workflow configuration (if exists)
64
- - Update workflow_status["prd"] = "{default_output_file}"
54
+ - Check workflow configuration for a status file (if one exists)
55
+ - Update workflow_status["prd"] = "{outputFile}"
65
56
  - Save file, preserving all comments and structure
66
57
  - Mark current timestamp as completion time
67
58
 
@@ -71,7 +62,7 @@ Offer validation workflows to ensure PRD is ready for implementation:
71
62
 
72
63
  **Available Validation Workflows:**
73
64
 
74
- **Option 1: Check Implementation Readiness** (`{checkImplementationReadinessWorkflow}`)
65
+ **Option 1: Check Implementation Readiness** (`skill:bmad-check-implementation-readiness`)
75
66
  - Validates PRD has all information needed for development
76
67
  - Checks epic coverage completeness
77
68
  - Reviews UX alignment with requirements
@@ -87,7 +78,7 @@ Offer validation workflows to ensure PRD is ready for implementation:
87
78
 
88
79
  ### 4. Suggest Next Workflows
89
80
 
90
- PRD complete. Read fully and follow: `_bmad/core/tasks/help.md` with argument `Create PRD`.
81
+ PRD complete. Invoke the `bmad-help` skill.
91
82
 
92
83
  ### 5. Final Completion Confirmation
93
84
 
@@ -1,8 +1,6 @@
1
1
  ---
2
- name: create-prd
3
- description: Create a comprehensive PRD (Product Requirements Document) through structured workflow facilitation
4
2
  main_config: '{project-root}/_bmad/bmm/config.yaml'
5
- nextStep: './steps-c/step-01-init.md'
3
+ outputFile: '{planning_artifacts}/prd.md'
6
4
  ---
7
5
 
8
6
  # PRD Create Workflow
@@ -55,9 +53,10 @@ Load and read full config from {main_config} and resolve:
55
53
  - `date` as system-generated current datetime
56
54
 
57
55
  ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
56
+ ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`.
58
57
 
59
58
  ### 2. Route to Create Workflow
60
59
 
61
60
  "**Create Mode: Creating a new PRD from scratch.**"
62
61
 
63
- Read fully and follow: `{nextStep}` (steps-c/step-01-init.md)
62
+ Read fully and follow: `./steps-c/step-01-init.md`
@@ -1,3 +1,3 @@
1
1
  {
2
- "bmadCommit": "aa573bdb"
2
+ "bmadCommit": "d1163f85"
3
3
  }
@@ -1,6 +1,6 @@
1
1
  import { readFile, stat } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
- import { resolveBashCommand, runBashCommand } from "../run/ralph-process.js";
3
+ import { resolveBashCommand, runBashCommand, detectBashVersion } from "../run/ralph-process.js";
4
4
  import { readJsonFile } from "../utils/json.js";
5
5
  import { isEnoent, formatError } from "../utils/errors.js";
6
6
  import { CONFIG_FILE } from "../utils/constants.js";
@@ -27,10 +27,6 @@ export async function checkNodeVersion(_projectDir) {
27
27
  export async function checkBash(_projectDir) {
28
28
  try {
29
29
  await resolveBashCommand();
30
- return {
31
- label: "bash available",
32
- passed: true,
33
- };
34
30
  }
35
31
  catch (err) {
36
32
  return {
@@ -42,6 +38,19 @@ export async function checkBash(_projectDir) {
42
38
  : "Install bash via your package manager (apt, brew, etc.)",
43
39
  };
44
40
  }
41
+ const version = await detectBashVersion();
42
+ if (!version) {
43
+ return { label: "bash available", passed: true };
44
+ }
45
+ const major = parseInt(version.split(".")[0]);
46
+ return {
47
+ label: "bash available",
48
+ passed: true,
49
+ detail: `v${version}`,
50
+ hint: major < 4
51
+ ? "Bash 4+ recommended for best compatibility. macOS: brew install bash"
52
+ : undefined,
53
+ };
45
54
  }
46
55
  export async function checkJq(projectDir) {
47
56
  const result = await runBashCommand("command -v jq", { cwd: projectDir });
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-checks.js","sourceRoot":"","sources":["../../src/commands/doctor-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-checks.js","sourceRoot":"","sources":["../../src/commands/doctor-checks.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,20 @@ export async function doctorCommand(options) {
12
12
  }
13
13
  });
14
14
  }
15
- export async function runDoctor(options) {
15
+ export async function runDoctor(options, checksOverride) {
16
16
  const projectDir = options.projectDir;
17
- const platform = await resolveProjectPlatform(projectDir);
18
- const checks = buildCheckRegistry(platform);
19
- const results = await Promise.all(checks.map((check) => check.run(projectDir)));
17
+ let checks;
18
+ if (checksOverride) {
19
+ checks = checksOverride;
20
+ }
21
+ else {
22
+ const platform = await resolveProjectPlatform(projectDir);
23
+ checks = buildCheckRegistry(platform);
24
+ }
25
+ const results = [];
26
+ for (const check of checks) {
27
+ results.push(await check.run(projectDir));
28
+ }
20
29
  const passed = results.filter((r) => r.passed).length;
21
30
  const failed = results.filter((r) => !r.passed).length;
22
31
  if (options.json) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AA0BpC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAkB,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE/F,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAEvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;gBACrC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;SACnD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,wBAAwB,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,WAAW,GAAsB;IACrC,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAC7C,EAAE,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE;IACxC,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE;IACpC,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE;IACxC,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE;IACrC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE;IACzC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE;CACxC,CAAC;AAEF,MAAM,eAAe,GAAsB;IACzC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE;IACxC,EAAE,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACjD,EAAE,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE,qBAAqB,EAAE;IACvD,EAAE,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACnD,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,iBAAiB,EAAE;IAC/C,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE;IACvC,EAAE,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,yBAAyB,EAAE;CAC1D,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,MAAM,cAAc,GAAsB,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChF,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,GAAG,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO;gBACL,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC;QACJ,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}