bmad-method 6.2.1-next.9 → 6.2.1

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 (396) hide show
  1. package/AGENTS.md +1 -0
  2. package/README_CN.md +23 -36
  3. package/package.json +4 -6
  4. package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-analyst/bmad-skill-manifest.yaml +1 -2
  5. package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/bmad-skill-manifest.yaml +1 -2
  6. package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/SKILL.md +2 -3
  7. package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/SKILL.md +1 -1
  8. package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/SKILL.md +1 -1
  9. package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/SKILL.md +1 -1
  10. package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-pm/bmad-skill-manifest.yaml +1 -2
  11. package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-ux-designer/bmad-skill-manifest.yaml +1 -2
  12. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md +1 -1
  13. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +1 -1
  14. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md +1 -1
  15. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md +1 -1
  16. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +1 -1
  17. package/src/{bmm/agents → bmm-skills/3-solutioning}/bmad-agent-architect/bmad-skill-manifest.yaml +1 -2
  18. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-dev/bmad-skill-manifest.yaml +1 -2
  19. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-qa/bmad-skill-manifest.yaml +1 -2
  20. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-quick-flow-solo-dev/SKILL.md +1 -3
  21. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +1 -2
  22. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-sm/bmad-skill-manifest.yaml +1 -2
  23. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/steps/step-01-gather-context.md +3 -2
  24. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +34 -0
  25. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/steps/step-03-triage.md +7 -8
  26. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +129 -0
  27. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/workflow.md +1 -0
  28. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/workflow.md +4 -4
  29. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/SKILL.md +1 -1
  30. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md → bmm-skills/4-implementation/bmad-quick-dev/spec-template.md} +0 -2
  31. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-01-clarify-and-route.md +22 -8
  32. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-02-plan.md +3 -3
  33. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-03-implement.md +6 -0
  34. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-05-present.md +8 -6
  35. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-oneshot.md +2 -2
  36. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/workflow.md +3 -3
  37. package/src/{bmm → bmm-skills}/module-help.csv +4 -6
  38. package/src/{core/skills/bmad-advanced-elicitation/workflow.md → core-skills/bmad-advanced-elicitation/SKILL.md} +3 -1
  39. package/src/{core/skills/bmad-editorial-review-prose/workflow.md → core-skills/bmad-editorial-review-prose/SKILL.md} +5 -0
  40. package/src/{core/skills/bmad-editorial-review-structure/workflow.md → core-skills/bmad-editorial-review-structure/SKILL.md} +5 -0
  41. package/src/{core/skills/bmad-help/workflow.md → core-skills/bmad-help/SKILL.md} +5 -1
  42. package/src/{core/skills/bmad-index-docs/workflow.md → core-skills/bmad-index-docs/SKILL.md} +5 -0
  43. package/src/{core/skills/bmad-review-adversarial-general/workflow.md → core-skills/bmad-review-adversarial-general/SKILL.md} +5 -0
  44. package/src/{core/skills/bmad-review-edge-case-hunter/workflow.md → core-skills/bmad-review-edge-case-hunter/SKILL.md} +5 -0
  45. package/src/{core/skills/bmad-shard-doc/workflow.md → core-skills/bmad-shard-doc/SKILL.md} +5 -0
  46. package/tools/bmad-npx-wrapper.js +2 -2
  47. package/tools/cli/commands/install.js +1 -8
  48. package/tools/cli/installers/lib/core/config-collector.js +110 -23
  49. package/tools/cli/installers/lib/core/dependency-resolver.js +11 -11
  50. package/tools/cli/installers/lib/core/installer.js +4 -214
  51. package/tools/cli/installers/lib/core/manifest-generator.js +122 -833
  52. package/tools/cli/installers/lib/core/manifest.js +2 -2
  53. package/tools/cli/installers/lib/custom/handler.js +1 -247
  54. package/tools/cli/installers/lib/ide/_base-ide.js +0 -16
  55. package/tools/cli/installers/lib/ide/_config-driven.js +13 -168
  56. package/tools/cli/installers/lib/ide/manager.js +2 -7
  57. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +0 -1
  58. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +27 -0
  59. package/tools/cli/installers/lib/ide/shared/skill-manifest.js +1 -19
  60. package/tools/cli/installers/lib/modules/manager.js +12 -459
  61. package/tools/cli/lib/project-root.js +5 -5
  62. package/tools/cli/lib/ui.js +0 -19
  63. package/tools/skill-validator.md +52 -22
  64. package/tools/validate-skills.js +736 -0
  65. package/src/bmm/data/project-context-template.md +0 -26
  66. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md +0 -6
  67. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/bmad-skill-manifest.yaml +0 -1
  68. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md +0 -10
  69. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md +0 -170
  70. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +0 -158
  71. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +0 -193
  72. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md +0 -196
  73. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +0 -199
  74. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +0 -213
  75. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +0 -159
  76. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md +0 -55
  77. package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-skill-manifest.yaml +0 -1
  78. package/src/bmm/workflows/1-analysis/research/bmad-domain-research/bmad-skill-manifest.yaml +0 -1
  79. package/src/bmm/workflows/1-analysis/research/bmad-market-research/bmad-skill-manifest.yaml +0 -1
  80. package/src/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml +0 -1
  81. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
  82. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  83. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  84. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  85. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  86. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -476
  87. package/src/bmm/workflows/1-analysis/research/research.template.md +0 -29
  88. package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/bmad-skill-manifest.yaml +0 -1
  89. package/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml +0 -1
  90. package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml +0 -1
  91. package/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml +0 -1
  92. package/src/bmm/workflows/3-solutioning/bmad-create-architecture/bmad-skill-manifest.yaml +0 -1
  93. package/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml +0 -1
  94. package/src/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml +0 -1
  95. package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-02-review.md +0 -41
  96. package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-04-present.md +0 -38
  97. package/src/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml +0 -1
  98. package/src/bmm/workflows/4-implementation/bmad-create-story/bmad-skill-manifest.yaml +0 -1
  99. package/src/bmm/workflows/4-implementation/bmad-dev-story/bmad-skill-manifest.yaml +0 -1
  100. package/src/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml +0 -1
  101. package/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml +0 -1
  102. package/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml +0 -1
  103. package/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml +0 -1
  104. package/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml +0 -1
  105. package/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml +0 -1
  106. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/SKILL.md +0 -6
  107. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/bmad-skill-manifest.yaml +0 -1
  108. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md +0 -169
  109. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md +0 -114
  110. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md +0 -107
  111. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md +0 -107
  112. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md +0 -94
  113. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md +0 -144
  114. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md +0 -38
  115. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +0 -1
  116. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md +0 -6
  117. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml +0 -1
  118. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md +0 -185
  119. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md +0 -140
  120. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md +0 -123
  121. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md +0 -195
  122. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/tech-spec-template.md +0 -74
  123. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md +0 -73
  124. package/src/core/skills/bmad-advanced-elicitation/SKILL.md +0 -6
  125. package/src/core/skills/bmad-advanced-elicitation/bmad-skill-manifest.yaml +0 -1
  126. package/src/core/skills/bmad-brainstorming/bmad-skill-manifest.yaml +0 -1
  127. package/src/core/skills/bmad-distillator/bmad-skill-manifest.yaml +0 -15
  128. package/src/core/skills/bmad-editorial-review-prose/SKILL.md +0 -6
  129. package/src/core/skills/bmad-editorial-review-prose/bmad-skill-manifest.yaml +0 -1
  130. package/src/core/skills/bmad-editorial-review-structure/SKILL.md +0 -6
  131. package/src/core/skills/bmad-editorial-review-structure/bmad-skill-manifest.yaml +0 -1
  132. package/src/core/skills/bmad-help/SKILL.md +0 -6
  133. package/src/core/skills/bmad-help/bmad-skill-manifest.yaml +0 -1
  134. package/src/core/skills/bmad-index-docs/SKILL.md +0 -6
  135. package/src/core/skills/bmad-index-docs/bmad-skill-manifest.yaml +0 -1
  136. package/src/core/skills/bmad-init/bmad-skill-manifest.yaml +0 -1
  137. package/src/core/skills/bmad-party-mode/bmad-skill-manifest.yaml +0 -1
  138. package/src/core/skills/bmad-review-adversarial-general/SKILL.md +0 -6
  139. package/src/core/skills/bmad-review-adversarial-general/bmad-skill-manifest.yaml +0 -1
  140. package/src/core/skills/bmad-review-edge-case-hunter/SKILL.md +0 -6
  141. package/src/core/skills/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +0 -1
  142. package/src/core/skills/bmad-shard-doc/SKILL.md +0 -6
  143. package/src/core/skills/bmad-shard-doc/bmad-skill-manifest.yaml +0 -1
  144. package/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml +0 -1
  145. package/src/utility/agent-components/activation-rules.txt +0 -6
  146. package/src/utility/agent-components/activation-steps.txt +0 -14
  147. package/src/utility/agent-components/agent-command-header.md +0 -1
  148. package/src/utility/agent-components/agent.customize.template.yaml +0 -41
  149. package/src/utility/agent-components/handler-action.txt +0 -4
  150. package/src/utility/agent-components/handler-data.txt +0 -5
  151. package/src/utility/agent-components/handler-exec.txt +0 -6
  152. package/src/utility/agent-components/handler-multi.txt +0 -13
  153. package/src/utility/agent-components/handler-tmpl.txt +0 -5
  154. package/src/utility/agent-components/menu-handlers.txt +0 -6
  155. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +0 -368
  156. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +0 -179
  157. package/tools/cli/lib/activation-builder.js +0 -165
  158. package/tools/cli/lib/agent/compiler.js +0 -516
  159. package/tools/cli/lib/agent/installer.js +0 -680
  160. package/tools/cli/lib/agent/template-engine.js +0 -152
  161. package/tools/cli/lib/agent-analyzer.js +0 -97
  162. package/tools/cli/lib/agent-party-generator.js +0 -194
  163. package/tools/cli/lib/xml-handler.js +0 -177
  164. package/tools/cli/lib/xml-to-markdown.js +0 -82
  165. package/tools/cli/lib/yaml-xml-builder.js +0 -570
  166. package/tools/schema/agent.js +0 -489
  167. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-analyst/SKILL.md +0 -0
  168. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/SKILL.md +0 -0
  169. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/explain-concept.md +0 -0
  170. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/mermaid-gen.md +0 -0
  171. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/validate-doc.md +0 -0
  172. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/write-document.md +0 -0
  173. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/SKILL.md +0 -0
  174. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/checklist.md +0 -0
  175. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/documentation-requirements.csv +0 -0
  176. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/instructions.md +0 -0
  177. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/deep-dive-template.md +0 -0
  178. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/index-template.md +0 -0
  179. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/project-overview-template.md +0 -0
  180. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/project-scan-report-schema.json +0 -0
  181. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/source-tree-template.md +0 -0
  182. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflow.md +0 -0
  183. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/deep-dive-instructions.md +0 -0
  184. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/deep-dive-workflow.md +0 -0
  185. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/full-scan-instructions.md +0 -0
  186. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/full-scan-workflow.md +0 -0
  187. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/artifact-analyzer.md +0 -0
  188. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/opportunity-reviewer.md +0 -0
  189. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/skeptic-reviewer.md +0 -0
  190. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/web-researcher.md +0 -0
  191. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/bmad-manifest.json +0 -0
  192. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/contextual-discovery.md +0 -0
  193. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/draft-and-review.md +0 -0
  194. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/finalize.md +0 -0
  195. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/guided-elicitation.md +0 -0
  196. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/resources/brief-template.md +0 -0
  197. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +0 -0
  198. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -0
  199. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -0
  200. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -0
  201. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -0
  202. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -0
  203. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/research.template.md +0 -0
  204. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/workflow.md +0 -0
  205. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/research.template.md +0 -0
  206. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-01-init.md +0 -0
  207. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +0 -0
  208. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +0 -0
  209. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +0 -0
  210. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +0 -0
  211. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +0 -0
  212. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/workflow.md +0 -0
  213. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/research.template.md +0 -0
  214. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +0 -0
  215. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -0
  216. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -0
  217. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -0
  218. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -0
  219. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -0
  220. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/workflow.md +0 -0
  221. /package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-pm/SKILL.md +0 -0
  222. /package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-ux-designer/SKILL.md +0 -0
  223. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/SKILL.md +0 -0
  224. /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/domain-complexity.csv +0 -0
  225. /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/prd-purpose.md +0 -0
  226. /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/project-types.csv +0 -0
  227. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-01-init.md +0 -0
  228. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-01b-continue.md +0 -0
  229. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02-discovery.md +0 -0
  230. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02b-vision.md +0 -0
  231. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -0
  232. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-03-success.md +0 -0
  233. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-04-journeys.md +0 -0
  234. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-05-domain.md +0 -0
  235. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-06-innovation.md +0 -0
  236. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-07-project-type.md +0 -0
  237. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-08-scoping.md +0 -0
  238. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-09-functional.md +0 -0
  239. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -0
  240. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-11-polish.md +0 -0
  241. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-12-complete.md +0 -0
  242. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/templates/prd-template.md +0 -0
  243. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/workflow.md +0 -0
  244. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/SKILL.md +0 -0
  245. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md +0 -0
  246. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md +0 -0
  247. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-02-discovery.md +0 -0
  248. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md +0 -0
  249. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -0
  250. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md +0 -0
  251. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md +0 -0
  252. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -0
  253. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -0
  254. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md +0 -0
  255. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -0
  256. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -0
  257. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -0
  258. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -0
  259. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +0 -0
  260. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/ux-design-template.md +0 -0
  261. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/workflow.md +0 -0
  262. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/SKILL.md +0 -0
  263. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/workflow.md +0 -0
  264. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/SKILL.md +0 -0
  265. /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/domain-complexity.csv +0 -0
  266. /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/prd-purpose.md +0 -0
  267. /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/project-types.csv +0 -0
  268. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -0
  269. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -0
  270. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -0
  271. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -0
  272. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -0
  273. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -0
  274. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -0
  275. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -0
  276. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -0
  277. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -0
  278. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -0
  279. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -0
  280. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -0
  281. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -0
  282. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/workflow.md +0 -0
  283. /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/domain-complexity.csv +0 -0
  284. /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/prd-purpose.md +0 -0
  285. /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/project-types.csv +0 -0
  286. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +0 -0
  287. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +0 -0
  288. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +0 -0
  289. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +0 -0
  290. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -0
  291. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +0 -0
  292. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +0 -0
  293. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -0
  294. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -0
  295. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +0 -0
  296. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +0 -0
  297. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -0
  298. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +0 -0
  299. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +0 -0
  300. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/workflow-validate-prd.md +0 -0
  301. /package/src/{bmm/agents → bmm-skills/3-solutioning}/bmad-agent-architect/SKILL.md +0 -0
  302. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/SKILL.md +0 -0
  303. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -0
  304. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -0
  305. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -0
  306. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -0
  307. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -0
  308. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -0
  309. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -0
  310. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/workflow.md +0 -0
  311. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/SKILL.md +0 -0
  312. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/architecture-decision-template.md +0 -0
  313. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/data/domain-complexity.csv +0 -0
  314. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/data/project-types.csv +0 -0
  315. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-01-init.md +0 -0
  316. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-01b-continue.md +0 -0
  317. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-02-context.md +0 -0
  318. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-03-starter.md +0 -0
  319. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-04-decisions.md +0 -0
  320. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-05-patterns.md +0 -0
  321. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-06-structure.md +0 -0
  322. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-07-validation.md +0 -0
  323. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-08-complete.md +0 -0
  324. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/workflow.md +0 -0
  325. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/SKILL.md +0 -0
  326. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -0
  327. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -0
  328. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -0
  329. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -0
  330. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md +0 -0
  331. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/workflow.md +0 -0
  332. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/SKILL.md +0 -0
  333. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/project-context-template.md +0 -0
  334. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-01-discover.md +0 -0
  335. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-02-generate.md +0 -0
  336. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-03-complete.md +0 -0
  337. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/workflow.md +0 -0
  338. /package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-dev/SKILL.md +0 -0
  339. /package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-qa/SKILL.md +0 -0
  340. /package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-sm/SKILL.md +0 -0
  341. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/SKILL.md +0 -0
  342. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/SKILL.md +0 -0
  343. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/checklist.md +0 -0
  344. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/SKILL.md +0 -0
  345. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/checklist.md +0 -0
  346. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/discover-inputs.md +0 -0
  347. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/template.md +0 -0
  348. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/workflow.md +0 -0
  349. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/SKILL.md +0 -0
  350. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/checklist.md +0 -0
  351. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/workflow.md +0 -0
  352. /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/SKILL.md +0 -0
  353. /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/checklist.md +0 -0
  354. /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/workflow.md +0 -0
  355. /package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-04-review.md +0 -0
  356. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-retrospective/SKILL.md +0 -0
  357. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-retrospective/workflow.md +0 -0
  358. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/SKILL.md +0 -0
  359. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/checklist.md +0 -0
  360. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/sprint-status-template.yaml +0 -0
  361. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/workflow.md +0 -0
  362. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-status/SKILL.md +0 -0
  363. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-status/workflow.md +0 -0
  364. /package/src/{bmm → bmm-skills}/module.yaml +0 -0
  365. /package/src/{core/skills → core-skills}/bmad-advanced-elicitation/methods.csv +0 -0
  366. /package/src/{core/skills → core-skills}/bmad-brainstorming/SKILL.md +0 -0
  367. /package/src/{core/skills → core-skills}/bmad-brainstorming/brain-methods.csv +0 -0
  368. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-01-session-setup.md +0 -0
  369. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-01b-continue.md +0 -0
  370. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02a-user-selected.md +0 -0
  371. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -0
  372. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02c-random-selection.md +0 -0
  373. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -0
  374. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-03-technique-execution.md +0 -0
  375. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-04-idea-organization.md +0 -0
  376. /package/src/{core/skills → core-skills}/bmad-brainstorming/template.md +0 -0
  377. /package/src/{core/skills → core-skills}/bmad-brainstorming/workflow.md +0 -0
  378. /package/src/{core/skills → core-skills}/bmad-distillator/SKILL.md +0 -0
  379. /package/src/{core/skills → core-skills}/bmad-distillator/agents/distillate-compressor.md +0 -0
  380. /package/src/{core/skills → core-skills}/bmad-distillator/agents/round-trip-reconstructor.md +0 -0
  381. /package/src/{core/skills → core-skills}/bmad-distillator/resources/compression-rules.md +0 -0
  382. /package/src/{core/skills → core-skills}/bmad-distillator/resources/distillate-format-reference.md +0 -0
  383. /package/src/{core/skills → core-skills}/bmad-distillator/resources/splitting-strategy.md +0 -0
  384. /package/src/{core/skills → core-skills}/bmad-distillator/scripts/analyze_sources.py +0 -0
  385. /package/src/{core/skills → core-skills}/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -0
  386. /package/src/{core/skills → core-skills}/bmad-init/SKILL.md +0 -0
  387. /package/src/{core/skills → core-skills}/bmad-init/resources/core-module.yaml +0 -0
  388. /package/src/{core/skills → core-skills}/bmad-init/scripts/bmad_init.py +0 -0
  389. /package/src/{core/skills → core-skills}/bmad-init/scripts/tests/test_bmad_init.py +0 -0
  390. /package/src/{core/skills → core-skills}/bmad-party-mode/SKILL.md +0 -0
  391. /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-01-agent-loading.md +0 -0
  392. /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -0
  393. /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-03-graceful-exit.md +0 -0
  394. /package/src/{core/skills → core-skills}/bmad-party-mode/workflow.md +0 -0
  395. /package/src/{core → core-skills}/module-help.csv +0 -0
  396. /package/src/{core → core-skills}/module.yaml +0 -0
@@ -1,489 +0,0 @@
1
- // Zod schema definition for *.agent.yaml files
2
- const assert = require('node:assert');
3
- const { z } = require('zod');
4
-
5
- const COMMAND_TARGET_KEYS = ['validate-workflow', 'exec', 'action', 'tmpl', 'data'];
6
- const TRIGGER_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
7
- const COMPOUND_TRIGGER_PATTERN = /^([A-Z]{1,3}) or fuzzy match on ([a-z0-9]+(?:-[a-z0-9]+)*)$/;
8
-
9
- /**
10
- * Derive the expected shortcut from a kebab-case trigger.
11
- * - Single word: first letter (e.g., "help" → "H")
12
- * - Multi-word: first letter of first two words (e.g., "tech-spec" → "TS")
13
- * @param {string} kebabTrigger The kebab-case trigger name.
14
- * @returns {string} The expected uppercase shortcut.
15
- */
16
- function deriveShortcutFromKebab(kebabTrigger) {
17
- const words = kebabTrigger.split('-');
18
- if (words.length === 1) {
19
- return words[0][0].toUpperCase();
20
- }
21
- return (words[0][0] + words[1][0]).toUpperCase();
22
- }
23
-
24
- /**
25
- * Parse and validate a compound trigger string.
26
- * Format: "<SHORTCUT> or fuzzy match on <kebab-case>"
27
- * @param {string} triggerValue The trigger string to parse.
28
- * @returns {{ valid: boolean, shortcut?: string, kebabTrigger?: string, error?: string }}
29
- */
30
- function parseCompoundTrigger(triggerValue) {
31
- const match = COMPOUND_TRIGGER_PATTERN.exec(triggerValue);
32
- if (!match) {
33
- return { valid: false, error: 'invalid compound trigger format' };
34
- }
35
-
36
- const [, shortcut, kebabTrigger] = match;
37
-
38
- return { valid: true, shortcut, kebabTrigger };
39
- }
40
-
41
- // Public API ---------------------------------------------------------------
42
-
43
- /**
44
- * Validate an agent YAML payload against the schema derived from its file location.
45
- * Exposed as the single public entry point, so callers do not reach into schema internals.
46
- *
47
- * @param {string} filePath Path to the agent file (used to infer module scope).
48
- * @param {unknown} agentYaml Parsed YAML content.
49
- * @returns {import('zod').SafeParseReturnType<unknown, unknown>} SafeParse result.
50
- */
51
- function validateAgentFile(filePath, agentYaml) {
52
- const expectedModule = deriveModuleFromPath(filePath);
53
- const schema = agentSchema({ module: expectedModule });
54
- return schema.safeParse(agentYaml);
55
- }
56
-
57
- module.exports = { validateAgentFile };
58
-
59
- // Internal helpers ---------------------------------------------------------
60
-
61
- /**
62
- * Build a Zod schema for validating a single agent definition.
63
- * The schema is generated per call so module-scoped agents can pass their expected
64
- * module slug while core agents leave it undefined.
65
- *
66
- * @param {Object} [options]
67
- * @param {string|null|undefined} [options.module] Module slug for module agents; omit or null for core agents.
68
- * @returns {import('zod').ZodSchema} Configured Zod schema instance.
69
- */
70
- function agentSchema(options = {}) {
71
- const expectedModule = normalizeModuleOption(options.module);
72
-
73
- return (
74
- z
75
- .object({
76
- agent: buildAgentSchema(expectedModule),
77
- })
78
- .strict()
79
- // Refinement: enforce trigger format and uniqueness rules after structural checks.
80
- .superRefine((value, ctx) => {
81
- const seenTriggers = new Set();
82
-
83
- let index = 0;
84
- for (const item of value.agent.menu) {
85
- // Handle legacy format with trigger field
86
- if (item.trigger) {
87
- const triggerValue = item.trigger;
88
- let canonicalTrigger = triggerValue;
89
-
90
- // Check if it's a compound trigger (contains " or ")
91
- if (triggerValue.includes(' or ')) {
92
- const result = parseCompoundTrigger(triggerValue);
93
- if (!result.valid) {
94
- ctx.addIssue({
95
- code: 'custom',
96
- path: ['agent', 'menu', index, 'trigger'],
97
- message: `agent.menu[].trigger compound format error: ${result.error}`,
98
- });
99
- return;
100
- }
101
-
102
- // Validate that shortcut matches description brackets
103
- const descriptionMatch = item.description?.match(/^\[([A-Z]{1,3})\]/);
104
- if (!descriptionMatch) {
105
- ctx.addIssue({
106
- code: 'custom',
107
- path: ['agent', 'menu', index, 'description'],
108
- message: `agent.menu[].description must start with [SHORTCUT] where SHORTCUT matches the trigger shortcut "${result.shortcut}"`,
109
- });
110
- return;
111
- }
112
-
113
- const descriptionShortcut = descriptionMatch[1];
114
- if (descriptionShortcut !== result.shortcut) {
115
- ctx.addIssue({
116
- code: 'custom',
117
- path: ['agent', 'menu', index, 'description'],
118
- message: `agent.menu[].description shortcut "[${descriptionShortcut}]" must match trigger shortcut "${result.shortcut}"`,
119
- });
120
- return;
121
- }
122
-
123
- canonicalTrigger = result.kebabTrigger;
124
- } else if (!TRIGGER_PATTERN.test(triggerValue)) {
125
- ctx.addIssue({
126
- code: 'custom',
127
- path: ['agent', 'menu', index, 'trigger'],
128
- message: 'agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen)',
129
- });
130
- return;
131
- }
132
-
133
- if (seenTriggers.has(canonicalTrigger)) {
134
- ctx.addIssue({
135
- code: 'custom',
136
- path: ['agent', 'menu', index, 'trigger'],
137
- message: `agent.menu[].trigger duplicates "${canonicalTrigger}" within the same agent`,
138
- });
139
- return;
140
- }
141
-
142
- seenTriggers.add(canonicalTrigger);
143
- }
144
- // Handle multi format with triggers array (new format)
145
- else if (item.triggers && Array.isArray(item.triggers)) {
146
- for (const [triggerIndex, triggerItem] of item.triggers.entries()) {
147
- let triggerName = null;
148
-
149
- // Extract trigger name from all three formats
150
- if (triggerItem.trigger) {
151
- // Format 1: Simple flat format with trigger field
152
- triggerName = triggerItem.trigger;
153
- } else {
154
- // Format 2a or 2b: Object-key format
155
- const keys = Object.keys(triggerItem);
156
- if (keys.length === 1 && keys[0] !== 'trigger') {
157
- triggerName = keys[0];
158
- }
159
- }
160
-
161
- if (triggerName) {
162
- if (!TRIGGER_PATTERN.test(triggerName)) {
163
- ctx.addIssue({
164
- code: 'custom',
165
- path: ['agent', 'menu', index, 'triggers', triggerIndex],
166
- message: `agent.menu[].triggers[] must be kebab-case (lowercase words separated by hyphen) - got "${triggerName}"`,
167
- });
168
- return;
169
- }
170
-
171
- if (seenTriggers.has(triggerName)) {
172
- ctx.addIssue({
173
- code: 'custom',
174
- path: ['agent', 'menu', index, 'triggers', triggerIndex],
175
- message: `agent.menu[].triggers[] duplicates "${triggerName}" within the same agent`,
176
- });
177
- return;
178
- }
179
-
180
- seenTriggers.add(triggerName);
181
- }
182
- }
183
- }
184
-
185
- index += 1;
186
- }
187
- })
188
- // Refinement: suggest conversational_knowledge when discussion is true
189
- .superRefine((value, ctx) => {
190
- if (value.agent.discussion === true && !value.agent.conversational_knowledge) {
191
- ctx.addIssue({
192
- code: 'custom',
193
- path: ['agent', 'conversational_knowledge'],
194
- message: 'It is recommended to include conversational_knowledge when discussion is true',
195
- });
196
- }
197
- })
198
- );
199
- }
200
-
201
- /**
202
- * Assemble the full agent schema using the module expectation provided by the caller.
203
- * @param {string|null} expectedModule Trimmed module slug or null for core agents.
204
- */
205
- function buildAgentSchema(expectedModule) {
206
- return z
207
- .object({
208
- metadata: buildMetadataSchema(expectedModule),
209
- persona: buildPersonaSchema(),
210
- critical_actions: z.array(createNonEmptyString('agent.critical_actions[]')).optional(),
211
- menu: z.array(buildMenuItemSchema()).min(1, { message: 'agent.menu must include at least one entry' }),
212
- prompts: z.array(buildPromptSchema()).optional(),
213
- discussion: z.boolean().optional(),
214
- conversational_knowledge: z.array(z.object({}).passthrough()).min(1).optional(),
215
- })
216
- .strict();
217
- }
218
-
219
- /**
220
- * Validate metadata shape.
221
- * @param {string|null} expectedModule Trimmed module slug or null when core agent metadata is expected.
222
- * Note: Module field is optional and can be any value - no validation against path.
223
- */
224
- function buildMetadataSchema(expectedModule) {
225
- const schemaShape = {
226
- id: createNonEmptyString('agent.metadata.id'),
227
- name: createNonEmptyString('agent.metadata.name'),
228
- title: createNonEmptyString('agent.metadata.title'),
229
- icon: createNonEmptyString('agent.metadata.icon'),
230
- module: createNonEmptyString('agent.metadata.module').optional(),
231
- capabilities: createNonEmptyString('agent.metadata.capabilities').optional(),
232
- hasSidecar: z.boolean(),
233
- };
234
-
235
- return z.object(schemaShape).strict();
236
- }
237
-
238
- function buildPersonaSchema() {
239
- return z
240
- .object({
241
- role: createNonEmptyString('agent.persona.role'),
242
- identity: createNonEmptyString('agent.persona.identity'),
243
- communication_style: createNonEmptyString('agent.persona.communication_style'),
244
- principles: z.union([
245
- createNonEmptyString('agent.persona.principles'),
246
- z
247
- .array(createNonEmptyString('agent.persona.principles[]'))
248
- .min(1, { message: 'agent.persona.principles must include at least one entry' }),
249
- ]),
250
- })
251
- .strict();
252
- }
253
-
254
- function buildPromptSchema() {
255
- return z
256
- .object({
257
- id: createNonEmptyString('agent.prompts[].id'),
258
- content: z.string().refine((value) => value.trim().length > 0, {
259
- message: 'agent.prompts[].content must be a non-empty string',
260
- }),
261
- description: createNonEmptyString('agent.prompts[].description').optional(),
262
- })
263
- .strict();
264
- }
265
-
266
- /**
267
- * Schema for individual menu entries ensuring they are actionable.
268
- * Supports both legacy format and new multi format.
269
- */
270
- function buildMenuItemSchema() {
271
- // Legacy menu item format
272
- const legacyMenuItemSchema = z
273
- .object({
274
- trigger: createNonEmptyString('agent.menu[].trigger'),
275
- description: createNonEmptyString('agent.menu[].description'),
276
- 'validate-workflow': createNonEmptyString('agent.menu[].validate-workflow').optional(),
277
- exec: createNonEmptyString('agent.menu[].exec').optional(),
278
- action: createNonEmptyString('agent.menu[].action').optional(),
279
- tmpl: createNonEmptyString('agent.menu[].tmpl').optional(),
280
- data: z.string().optional(),
281
- checklist: createNonEmptyString('agent.menu[].checklist').optional(),
282
- document: createNonEmptyString('agent.menu[].document').optional(),
283
- 'ide-only': z.boolean().optional(),
284
- 'web-only': z.boolean().optional(),
285
- discussion: z.boolean().optional(),
286
- })
287
- .strict()
288
- .superRefine((value, ctx) => {
289
- const hasCommandTarget = COMMAND_TARGET_KEYS.some((key) => {
290
- const commandValue = value[key];
291
- return typeof commandValue === 'string' && commandValue.trim().length > 0;
292
- });
293
-
294
- if (!hasCommandTarget) {
295
- ctx.addIssue({
296
- code: 'custom',
297
- message: 'agent.menu[] entries must include at least one command target field',
298
- });
299
- }
300
- });
301
-
302
- // Multi menu item format
303
- const multiMenuItemSchema = z
304
- .object({
305
- multi: createNonEmptyString('agent.menu[].multi'),
306
- triggers: z
307
- .array(
308
- z.union([
309
- // Format 1: Simple flat format (has trigger field)
310
- z
311
- .object({
312
- trigger: z.string(),
313
- input: createNonEmptyString('agent.menu[].triggers[].input'),
314
- route: createNonEmptyString('agent.menu[].triggers[].route').optional(),
315
- action: createNonEmptyString('agent.menu[].triggers[].action').optional(),
316
- data: z.string().optional(),
317
- type: z.enum(['exec', 'action', 'workflow']).optional(),
318
- })
319
- .strict()
320
- .refine((data) => data.trigger, { message: 'Must have trigger field' })
321
- .superRefine((value, ctx) => {
322
- // Must have either route or action (or both)
323
- if (!value.route && !value.action) {
324
- ctx.addIssue({
325
- code: 'custom',
326
- message: 'agent.menu[].triggers[] must have either route or action (or both)',
327
- });
328
- }
329
- }),
330
- // Format 2a: Object with array format (like bmad-builder.agent.yaml)
331
- z
332
- .object({})
333
- .passthrough()
334
- .refine(
335
- (value) => {
336
- const keys = Object.keys(value);
337
- if (keys.length !== 1) return false;
338
- const triggerItems = value[keys[0]];
339
- return Array.isArray(triggerItems);
340
- },
341
- { message: 'Must be object with single key pointing to array' },
342
- )
343
- .superRefine((value, ctx) => {
344
- const triggerName = Object.keys(value)[0];
345
- const triggerItems = value[triggerName];
346
-
347
- if (!Array.isArray(triggerItems)) {
348
- ctx.addIssue({
349
- code: 'custom',
350
- message: `Trigger "${triggerName}" must be an array of items`,
351
- });
352
- return;
353
- }
354
-
355
- // Check required fields in the array
356
- const hasInput = triggerItems.some((item) => 'input' in item);
357
- const hasRouteOrAction = triggerItems.some((item) => 'route' in item || 'action' in item);
358
-
359
- if (!hasInput) {
360
- ctx.addIssue({
361
- code: 'custom',
362
- message: `Trigger "${triggerName}" must have an input field`,
363
- });
364
- }
365
-
366
- if (!hasRouteOrAction) {
367
- ctx.addIssue({
368
- code: 'custom',
369
- message: `Trigger "${triggerName}" must have a route or action field`,
370
- });
371
- }
372
- }),
373
- // Format 2b: Object with direct fields (like analyst.agent.yaml)
374
- z
375
- .object({})
376
- .passthrough()
377
- .refine(
378
- (value) => {
379
- const keys = Object.keys(value);
380
- if (keys.length !== 1) return false;
381
- const triggerFields = value[keys[0]];
382
- return !Array.isArray(triggerFields) && typeof triggerFields === 'object';
383
- },
384
- { message: 'Must be object with single key pointing to object' },
385
- )
386
- .superRefine((value, ctx) => {
387
- const triggerName = Object.keys(value)[0];
388
- const triggerFields = value[triggerName];
389
-
390
- // Check required fields
391
- if (!triggerFields.input || typeof triggerFields.input !== 'string') {
392
- ctx.addIssue({
393
- code: 'custom',
394
- message: `Trigger "${triggerName}" must have an input field`,
395
- });
396
- }
397
-
398
- if (!triggerFields.route && !triggerFields.action) {
399
- ctx.addIssue({
400
- code: 'custom',
401
- message: `Trigger "${triggerName}" must have a route or action field`,
402
- });
403
- }
404
- }),
405
- ]),
406
- )
407
- .min(1, { message: 'agent.menu[].triggers must have at least one trigger' }),
408
- discussion: z.boolean().optional(),
409
- })
410
- .strict()
411
- .superRefine((value, ctx) => {
412
- // Check for duplicate trigger names
413
- const seenTriggers = new Set();
414
- for (const [index, triggerItem] of value.triggers.entries()) {
415
- let triggerName = null;
416
-
417
- // Extract trigger name from either format
418
- if (triggerItem.trigger) {
419
- // Format 1
420
- triggerName = triggerItem.trigger;
421
- } else {
422
- // Format 2
423
- const keys = Object.keys(triggerItem);
424
- if (keys.length === 1) {
425
- triggerName = keys[0];
426
- }
427
- }
428
-
429
- if (triggerName) {
430
- if (seenTriggers.has(triggerName)) {
431
- ctx.addIssue({
432
- code: 'custom',
433
- path: ['agent', 'menu', 'triggers', index],
434
- message: `Trigger name "${triggerName}" is duplicated`,
435
- });
436
- }
437
- seenTriggers.add(triggerName);
438
-
439
- // Validate trigger name format
440
- if (!TRIGGER_PATTERN.test(triggerName)) {
441
- ctx.addIssue({
442
- code: 'custom',
443
- path: ['agent', 'menu', 'triggers', index],
444
- message: `Trigger name "${triggerName}" must be kebab-case (lowercase words separated by hyphen)`,
445
- });
446
- }
447
- }
448
- }
449
- });
450
-
451
- return z.union([legacyMenuItemSchema, multiMenuItemSchema]);
452
- }
453
-
454
- /**
455
- * Derive the expected module slug from a file path residing under src/<module>/agents/.
456
- * @param {string} filePath Absolute or relative agent path.
457
- * @returns {string|null} Module slug if identifiable, otherwise null.
458
- */
459
- function deriveModuleFromPath(filePath) {
460
- assert(filePath, 'validateAgentFile expects filePath to be provided');
461
- assert(typeof filePath === 'string', 'validateAgentFile expects filePath to be a string');
462
- assert(filePath.startsWith('src/'), 'validateAgentFile expects filePath to start with "src/"');
463
-
464
- const marker = 'src/';
465
- if (!filePath.startsWith(marker)) {
466
- return null;
467
- }
468
-
469
- const remainder = filePath.slice(marker.length);
470
- const slashIndex = remainder.indexOf('/');
471
- return slashIndex === -1 ? null : remainder.slice(0, slashIndex);
472
- }
473
-
474
- function normalizeModuleOption(moduleOption) {
475
- if (typeof moduleOption !== 'string') {
476
- return null;
477
- }
478
-
479
- const trimmed = moduleOption.trim();
480
- return trimmed.length > 0 ? trimmed : null;
481
- }
482
-
483
- // Primitive validators -----------------------------------------------------
484
-
485
- function createNonEmptyString(label) {
486
- return z.string().refine((value) => value.trim().length > 0, {
487
- message: `${label} must be a non-empty string`,
488
- });
489
- }