ma-agents 3.6.2 → 3.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 (951) hide show
  1. package/CONTRIBUTING.md +139 -0
  2. package/README.md +27 -11
  3. package/bin/cli.js +34 -10
  4. package/docs/deployment/vllm-nemotron.md +4 -2
  5. package/lib/.bmad-extension-plugin.build-1264-1777348888201/.claude-plugin/marketplace.json +109 -0
  6. package/lib/{bmad-extension → .bmad-extension-plugin.build-1264-1777348888201/skills}/module-help.csv +5 -5
  7. package/lib/.bmad-extension-plugin.build-1264-1777348888201/skills/module.yaml +20 -0
  8. package/lib/.bmad-extension-plugin.build-24696-1777348768444/.claude-plugin/marketplace.json +109 -0
  9. package/lib/.bmad-extension-plugin.build-24696-1777348768444/skills/module-help.csv +62 -0
  10. package/lib/.bmad-extension-plugin.build-24696-1777348768444/skills/module.yaml +20 -0
  11. package/lib/.bmad-extension-plugin.build-25428-1777348694953/.claude-plugin/marketplace.json +109 -0
  12. package/lib/.bmad-extension-plugin.build-25428-1777348694953/skills/module-help.csv +62 -0
  13. package/lib/.bmad-extension-plugin.build-25428-1777348694953/skills/module.yaml +20 -0
  14. package/lib/agents.js +36 -6
  15. package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +4 -11
  16. package/lib/bmad-cache/bmb/README.md +1 -1
  17. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  18. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.idx +0 -0
  19. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/{pack-554778ad4e7254827618ebd2497c3f4bce9054a4.pack → pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.pack} +0 -0
  20. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.rev +0 -0
  21. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
  22. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
  23. package/lib/bmad-cache/bmb/_git_preserved/refs/tags/v1.7.0 +1 -0
  24. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
  25. package/lib/bmad-cache/bmb/package-lock.json +2 -2
  26. package/lib/bmad-cache/bmb/package.json +2 -7
  27. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/customize-template.toml +62 -0
  28. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/sample-customize-analyst.toml +87 -0
  29. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/customize-template.toml +56 -0
  30. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/sample-customize-product-brief.toml +51 -0
  31. package/lib/bmad-cache/bmb/tools/validate-doc-links.cjs +6 -1
  32. package/lib/bmad-cache/bmb/website/astro.config.mjs +5 -1
  33. package/lib/bmad-cache/cache-manifest.json +13 -11
  34. package/lib/bmad-cache/cis/.claude-plugin/marketplace.json +1 -1
  35. package/lib/bmad-cache/cis/README.md +1 -1
  36. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  37. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.idx +0 -0
  38. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.pack → pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.pack} +0 -0
  39. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.rev +0 -0
  40. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  41. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  42. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  43. package/lib/bmad-cache/cis/package.json +1 -1
  44. package/lib/bmad-cache/cis/src/module.yaml +49 -0
  45. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-brainstorming-coach/customize.toml +38 -0
  46. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-creative-problem-solver/customize.toml +38 -0
  47. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-design-thinking-coach/customize.toml +39 -0
  48. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-innovation-strategist/customize.toml +38 -0
  49. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-presentation-master/customize.toml +73 -0
  50. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-storyteller/customize.toml +60 -0
  51. package/lib/bmad-cache/cis/src/skills/bmad-cis-design-thinking/customize.toml +41 -0
  52. package/lib/bmad-cache/cis/src/skills/bmad-cis-innovation-strategy/customize.toml +41 -0
  53. package/lib/bmad-cache/cis/src/skills/bmad-cis-problem-solving/customize.toml +42 -0
  54. package/lib/bmad-cache/cis/src/skills/bmad-cis-storytelling/customize.toml +41 -0
  55. package/lib/bmad-cache/cis/tools/build-docs.mjs +8 -0
  56. package/lib/bmad-cache/cis/website/astro.config.mjs +34 -4
  57. package/lib/bmad-cache/cis/website/src/content/config.ts +2 -1
  58. package/lib/bmad-cache/cis/website/src/content/i18n/zh-CN.json +28 -0
  59. package/lib/bmad-cache/cis/website/src/lib/locales.mjs +27 -0
  60. package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +7 -6
  61. package/lib/bmad-cache/gds/README.md +5 -3
  62. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  63. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.idx +0 -0
  64. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.pack → pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.pack} +0 -0
  65. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.rev +0 -0
  66. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  67. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  68. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  69. package/lib/bmad-cache/gds/package.json +1 -1
  70. package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/customize.toml +57 -0
  71. package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/customize.toml +59 -0
  72. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/customize.toml +129 -0
  73. package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/customize.toml +60 -0
  74. package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/customize.toml +65 -0
  75. package/lib/bmad-cache/gds/src/module-help.csv +4 -4
  76. package/lib/bmad-cache/gds/src/module.yaml +43 -1
  77. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/customize.toml +41 -0
  78. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/customize.toml +41 -0
  79. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/customize.toml +41 -0
  80. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/customize.toml +41 -0
  81. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/customize.toml +41 -0
  82. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-prd/customize.toml +41 -0
  83. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/customize.toml +41 -0
  84. package/lib/bmad-cache/gds/src/workflows/2-design/gds-edit-gdd/customize.toml +41 -0
  85. package/lib/bmad-cache/gds/src/workflows/2-design/gds-edit-prd/customize.toml +41 -0
  86. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-gdd/customize.toml +41 -0
  87. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-gdd/data/genre-complexity.csv +26 -0
  88. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/customize.toml +41 -0
  89. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/data/domain-complexity.csv +15 -0
  90. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/data/project-types.csv +11 -0
  91. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/customize.toml +41 -0
  92. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/customize.toml +41 -0
  93. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/customize.toml +41 -0
  94. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/customize.toml +41 -0
  95. package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/customize.toml +41 -0
  96. package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/customize.toml +41 -0
  97. package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/customize.toml +41 -0
  98. package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/customize.toml +41 -0
  99. package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/customize.toml +41 -0
  100. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/customize.toml +41 -0
  101. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/customize.toml +41 -0
  102. package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/customize.toml +41 -0
  103. package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/customize.toml +41 -0
  104. package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/customize.toml +41 -0
  105. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/customize.toml +41 -0
  106. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/customize.toml +41 -0
  107. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/customize.toml +41 -0
  108. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/customize.toml +41 -0
  109. package/lib/bmad-cache/gds/src/workflows/gds-document-project/customize.toml +41 -0
  110. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/customize.toml +41 -0
  111. package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +1 -1
  112. package/lib/bmad-cache/tea/.github/CODE_OF_CONDUCT.md +128 -0
  113. package/lib/bmad-cache/tea/.github/FUNDING.yaml +15 -0
  114. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/config.yaml +11 -0
  115. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/feature_request.md +70 -0
  116. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/issue.md +61 -0
  117. package/lib/bmad-cache/tea/.github/workflows/docs.yaml +66 -0
  118. package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +216 -0
  119. package/lib/bmad-cache/tea/.github/workflows/quality.yaml +117 -0
  120. package/lib/bmad-cache/tea/.vscode/settings.json +47 -0
  121. package/lib/bmad-cache/tea/README.md +63 -55
  122. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  123. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.idx +0 -0
  124. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-e75385cd52b693dbb8a3b2afb50058952543b3a2.pack → pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.pack} +0 -0
  125. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.rev +0 -0
  126. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  127. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  128. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  129. package/lib/bmad-cache/tea/docs/explanation/engagement-models.md +1 -1
  130. package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +1 -1
  131. package/lib/bmad-cache/tea/docs/glossary/index.md +1 -1
  132. package/lib/bmad-cache/tea/docs/how-to/customization/extend-tea-with-custom-workflows.md +29 -0
  133. package/lib/bmad-cache/tea/docs/how-to/workflows/run-trace.md +27 -20
  134. package/lib/bmad-cache/tea/docs/how-to/workflows/teach-me-testing.md +2 -2
  135. package/lib/bmad-cache/tea/docs/reference/commands.md +3 -3
  136. package/lib/bmad-cache/tea/docs/reference/troubleshooting.md +36 -0
  137. package/lib/bmad-cache/tea/docs/tutorials/learn-testing-tea-academy.md +1 -1
  138. package/lib/bmad-cache/tea/package-lock.json +2 -2
  139. package/lib/bmad-cache/tea/package.json +3 -3
  140. package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +54 -44
  141. package/lib/bmad-cache/tea/src/agents/bmad-tea/customize.toml +104 -0
  142. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/contract-testing.md +32 -15
  143. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-broker-webhooks.md +237 -0
  144. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  145. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-mcp.md +1 -0
  146. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  147. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-overview.md +15 -12
  148. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  149. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  150. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-module-setup.md +122 -0
  151. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-providers.md +155 -0
  152. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-risk-guidance.md +114 -0
  153. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-template-matchers.md +160 -0
  154. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  155. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-timeout-error.md +130 -0
  156. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-waiting-querying.md +167 -0
  157. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +13 -4
  158. package/lib/bmad-cache/tea/src/module.yaml +8 -0
  159. package/lib/bmad-cache/tea/src/workflows/testarch/README.md +5 -3
  160. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/SKILL.md +124 -1
  161. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/checklist.md +3 -2
  162. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/customize.toml +40 -0
  163. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/instructions.md +7 -0
  164. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01-init.md +1 -1
  165. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01b-continue.md +1 -1
  166. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-02-assess.md +1 -1
  167. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +1 -1
  168. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-02.md +1 -1
  169. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-03.md +1 -1
  170. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-04.md +1 -1
  171. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-05.md +1 -1
  172. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-06.md +1 -1
  173. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +1 -1
  174. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-05-completion.md +8 -0
  175. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-01-assess-workflow.md +2 -2
  176. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-02-apply-edits.md +9 -1
  177. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-v/step-v-01-validate.md +12 -3
  178. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/SKILL.md +80 -1
  179. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/customize.toml +40 -0
  180. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +2 -2
  181. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/contract-testing.md +32 -15
  182. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-broker-webhooks.md +237 -0
  183. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  184. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-mcp.md +1 -0
  185. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  186. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +15 -12
  187. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  188. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  189. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-module-setup.md +122 -0
  190. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-providers.md +155 -0
  191. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-risk-guidance.md +114 -0
  192. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-template-matchers.md +160 -0
  193. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  194. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-timeout-error.md +130 -0
  195. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-waiting-querying.md +167 -0
  196. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/tea-index.csv +13 -4
  197. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +3 -3
  198. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-02-generation-mode.md +1 -1
  199. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-03-test-strategy.md +1 -1
  200. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04-generate-tests.md +1 -1
  201. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +1 -1
  202. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04c-aggregate.md +1 -1
  203. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-05-validate-and-complete.md +8 -0
  204. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-01-assess.md +1 -1
  205. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-02-apply-edit.md +8 -0
  206. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-v/step-01-validate.md +9 -1
  207. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/SKILL.md +80 -1
  208. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/customize.toml +40 -0
  209. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +2 -2
  210. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/contract-testing.md +18 -2
  211. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-broker-webhooks.md +237 -0
  212. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  213. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-mcp.md +1 -0
  214. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  215. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  216. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-module-setup.md +122 -0
  217. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-providers.md +155 -0
  218. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-risk-guidance.md +114 -0
  219. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-template-matchers.md +160 -0
  220. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  221. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-timeout-error.md +130 -0
  222. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-waiting-querying.md +167 -0
  223. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/tea-index.csv +12 -4
  224. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
  225. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-02-identify-targets.md +1 -1
  226. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03-generate-tests.md +1 -1
  227. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03a-subagent-api.md +9 -1
  228. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +1 -1
  229. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-04-validate-and-summarize.md +8 -0
  230. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-01-assess.md +1 -1
  231. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-02-apply-edit.md +8 -0
  232. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-v/step-01-validate.md +9 -1
  233. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/SKILL.md +80 -1
  234. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/customize.toml +40 -0
  235. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +2 -2
  236. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/contract-testing.md +18 -2
  237. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-broker-webhooks.md +237 -0
  238. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  239. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-mcp.md +1 -0
  240. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  241. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  242. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-module-setup.md +122 -0
  243. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-providers.md +155 -0
  244. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-risk-guidance.md +114 -0
  245. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-template-matchers.md +160 -0
  246. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  247. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-timeout-error.md +130 -0
  248. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-waiting-querying.md +167 -0
  249. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/tea-index.csv +12 -4
  250. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-01-preflight.md +1 -1
  251. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +15 -7
  252. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +7 -2
  253. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-04-validate-and-summary.md +8 -0
  254. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-01-assess.md +1 -1
  255. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-02-apply-edit.md +8 -0
  256. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-v/step-01-validate.md +9 -1
  257. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/SKILL.md +80 -1
  258. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/customize.toml +40 -0
  259. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +2 -2
  260. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/contract-testing.md +18 -2
  261. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-broker-webhooks.md +237 -0
  262. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  263. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-mcp.md +1 -0
  264. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  265. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  266. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-module-setup.md +122 -0
  267. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-providers.md +155 -0
  268. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-risk-guidance.md +114 -0
  269. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-template-matchers.md +160 -0
  270. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  271. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-timeout-error.md +130 -0
  272. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-waiting-querying.md +167 -0
  273. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/tea-index.csv +12 -4
  274. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-01-preflight.md +1 -1
  275. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-02-select-framework.md +1 -1
  276. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +11 -7
  277. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-04-docs-and-scripts.md +1 -1
  278. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-05-validate-and-summary.md +8 -0
  279. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-01-assess.md +1 -1
  280. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-02-apply-edit.md +8 -0
  281. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-v/step-01-validate.md +9 -1
  282. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/SKILL.md +80 -1
  283. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/customize.toml +40 -0
  284. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/instructions.md +2 -2
  285. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/contract-testing.md +18 -2
  286. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-broker-webhooks.md +237 -0
  287. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  288. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-mcp.md +1 -0
  289. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  290. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  291. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-module-setup.md +122 -0
  292. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-providers.md +155 -0
  293. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-risk-guidance.md +114 -0
  294. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-template-matchers.md +160 -0
  295. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  296. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-timeout-error.md +130 -0
  297. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-waiting-querying.md +167 -0
  298. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/tea-index.csv +12 -4
  299. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
  300. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-02-define-thresholds.md +1 -1
  301. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-03-gather-evidence.md +1 -1
  302. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04-evaluate-and-score.md +1 -1
  303. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +1 -1
  304. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-05-generate-report.md +8 -0
  305. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-01-assess.md +1 -1
  306. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-02-apply-edit.md +8 -0
  307. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-v/step-01-validate.md +9 -1
  308. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/SKILL.md +82 -1
  309. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/customize.toml +40 -0
  310. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +2 -2
  311. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/contract-testing.md +18 -2
  312. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-broker-webhooks.md +237 -0
  313. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  314. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-mcp.md +1 -0
  315. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  316. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  317. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-module-setup.md +122 -0
  318. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-providers.md +155 -0
  319. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-risk-guidance.md +114 -0
  320. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-template-matchers.md +160 -0
  321. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  322. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-timeout-error.md +130 -0
  323. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-waiting-querying.md +167 -0
  324. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/tea-index.csv +12 -4
  325. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01-detect-mode.md +7 -1
  326. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01b-resume.md +29 -15
  327. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +7 -1
  328. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-03-risk-and-testability.md +7 -1
  329. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-04-coverage-plan.md +7 -1
  330. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-05-generate-output.md +14 -0
  331. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-01-assess.md +1 -1
  332. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-02-apply-edit.md +8 -0
  333. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-v/step-01-validate.md +9 -1
  334. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-architecture-template.md +3 -0
  335. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +3 -0
  336. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +3 -0
  337. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/SKILL.md +80 -1
  338. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/customize.toml +40 -0
  339. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/instructions.md +2 -2
  340. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/contract-testing.md +18 -2
  341. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-broker-webhooks.md +237 -0
  342. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  343. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-mcp.md +1 -0
  344. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  345. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  346. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-module-setup.md +122 -0
  347. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-providers.md +155 -0
  348. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-risk-guidance.md +114 -0
  349. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-template-matchers.md +160 -0
  350. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  351. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-timeout-error.md +130 -0
  352. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-waiting-querying.md +167 -0
  353. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/tea-index.csv +12 -4
  354. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +3 -3
  355. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +1 -1
  356. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03-quality-evaluation.md +1 -1
  357. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +43 -0
  358. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03f-aggregate-scores.md +1 -1
  359. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-04-generate-report.md +8 -0
  360. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-01-assess.md +1 -1
  361. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-02-apply-edit.md +8 -0
  362. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-v/step-01-validate.md +9 -1
  363. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/SKILL.md +82 -1
  364. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/checklist.md +42 -18
  365. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/customize.toml +40 -0
  366. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/instructions.md +6 -4
  367. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/contract-testing.md +18 -2
  368. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-broker-webhooks.md +237 -0
  369. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  370. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-mcp.md +1 -0
  371. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  372. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  373. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-module-setup.md +122 -0
  374. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-providers.md +155 -0
  375. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-risk-guidance.md +114 -0
  376. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-template-matchers.md +160 -0
  377. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  378. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-timeout-error.md +130 -0
  379. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-waiting-querying.md +167 -0
  380. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/tea-index.csv +12 -4
  381. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +74 -13
  382. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01b-resume.md +1 -1
  383. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-02-discover-tests.md +24 -4
  384. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-03-map-criteria.md +15 -11
  385. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-04-analyze-gaps.md +210 -3
  386. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-05-gate-decision.md +477 -62
  387. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-01-assess.md +1 -1
  388. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-02-apply-edit.md +8 -0
  389. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-v/step-01-validate.md +9 -1
  390. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/trace-template.md +10 -2
  391. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow-plan.md +14 -11
  392. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.yaml +24 -0
  393. package/lib/bmad-cache/tea/test/test-installation-components.js +210 -66
  394. package/lib/bmad-cache/tea/test/test-knowledge-base.js +6 -1
  395. package/lib/bmad-cache/tea/test/test-release-metadata.js +71 -0
  396. package/lib/bmad-cache/tea/tools/validate-agent-schema.js +73 -0
  397. package/lib/bmad-customize/bmm-qa.customize.yaml +1 -1
  398. package/lib/bmad-extension/.claude-plugin/marketplace.json.template +117 -0
  399. package/lib/bmad-extension/skills/ma-agent-cyber/.gitkeep +0 -0
  400. package/lib/bmad-extension/skills/ma-agent-cyber/SKILL.md +49 -0
  401. package/lib/bmad-extension/skills/ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
  402. package/lib/bmad-extension/skills/ma-agent-devops/.gitkeep +0 -0
  403. package/lib/bmad-extension/skills/ma-agent-devops/SKILL.md +49 -0
  404. package/lib/bmad-extension/skills/ma-agent-devops/bmad-skill-manifest.yaml +11 -0
  405. package/lib/bmad-extension/skills/ma-agent-ml/.gitkeep +0 -0
  406. package/lib/bmad-extension/skills/ma-agent-ml/SKILL.md +59 -0
  407. package/lib/bmad-extension/skills/ma-agent-ml/bmad-skill-manifest.yaml +11 -0
  408. package/lib/bmad-extension/skills/ma-agent-sqa/.gitkeep +0 -0
  409. package/lib/bmad-extension/skills/ma-agent-sqa/SKILL.md +59 -0
  410. package/lib/bmad-extension/skills/ma-agent-sqa/bmad-skill-manifest.yaml +11 -0
  411. package/lib/bmad-extension/skills/ma-agent-sre/.gitkeep +0 -0
  412. package/lib/bmad-extension/skills/ma-agent-sre/SKILL.md +49 -0
  413. package/lib/bmad-extension/skills/ma-agent-sre/bmad-skill-manifest.yaml +11 -0
  414. package/lib/bmad-extension/skills/module-help.csv +62 -0
  415. package/lib/bmad-extension/skills/module.yaml +20 -0
  416. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +109 -0
  417. package/lib/bmad-extension-plugin/skills/add-sprint/SKILL.md +175 -0
  418. package/lib/bmad-extension-plugin/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
  419. package/lib/bmad-extension-plugin/skills/add-to-sprint/SKILL.md +243 -0
  420. package/lib/bmad-extension-plugin/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
  421. package/lib/bmad-extension-plugin/skills/bmad-dev-story/SKILL.md +6 -0
  422. package/lib/bmad-extension-plugin/skills/bmad-dev-story/bmad-skill-manifest.yaml +3 -0
  423. package/lib/bmad-extension-plugin/skills/bmad-dev-story/checklist.md +80 -0
  424. package/lib/bmad-extension-plugin/skills/bmad-dev-story/workflow.md +509 -0
  425. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/SKILL.md +6 -0
  426. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/bmad-skill-manifest.yaml +3 -0
  427. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/checklist.md +74 -0
  428. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
  429. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/workflow.md +372 -0
  430. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/SKILL.md +6 -0
  431. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/bmad-skill-manifest.yaml +3 -0
  432. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/workflow.md +434 -0
  433. package/lib/bmad-extension-plugin/skills/cleanup-done/.gitkeep +0 -0
  434. package/lib/bmad-extension-plugin/skills/cleanup-done/SKILL.md +215 -0
  435. package/lib/bmad-extension-plugin/skills/cleanup-done/bmad-skill-manifest.yaml +3 -0
  436. package/lib/bmad-extension-plugin/skills/close-sprint/.gitkeep +0 -0
  437. package/lib/bmad-extension-plugin/skills/close-sprint/SKILL.md +379 -0
  438. package/lib/bmad-extension-plugin/skills/close-sprint/bmad-skill-manifest.yaml +3 -0
  439. package/lib/bmad-extension-plugin/skills/create-bug-story/.gitkeep +0 -0
  440. package/lib/bmad-extension-plugin/skills/create-bug-story/SKILL.md +195 -0
  441. package/lib/bmad-extension-plugin/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
  442. package/lib/bmad-extension-plugin/skills/cyber-generate-certs/.gitkeep +0 -0
  443. package/lib/bmad-extension-plugin/skills/cyber-generate-certs/SKILL.md +27 -0
  444. package/lib/bmad-extension-plugin/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
  445. package/lib/bmad-extension-plugin/skills/cyber-immunity-estimation/.gitkeep +0 -0
  446. package/lib/bmad-extension-plugin/skills/cyber-immunity-estimation/SKILL.md +29 -0
  447. package/lib/bmad-extension-plugin/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
  448. package/lib/bmad-extension-plugin/skills/cyber-security-audit/.gitkeep +0 -0
  449. package/lib/bmad-extension-plugin/skills/cyber-security-audit/SKILL.md +27 -0
  450. package/lib/bmad-extension-plugin/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
  451. package/lib/bmad-extension-plugin/skills/cyber-vault-secrets/.gitkeep +0 -0
  452. package/lib/bmad-extension-plugin/skills/cyber-vault-secrets/SKILL.md +28 -0
  453. package/lib/bmad-extension-plugin/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
  454. package/lib/bmad-extension-plugin/skills/cyber-verify-docker-users/.gitkeep +0 -0
  455. package/lib/bmad-extension-plugin/skills/cyber-verify-docker-users/SKILL.md +23 -0
  456. package/lib/bmad-extension-plugin/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
  457. package/lib/bmad-extension-plugin/skills/cyber-verify-image-signature/.gitkeep +0 -0
  458. package/lib/bmad-extension-plugin/skills/cyber-verify-image-signature/SKILL.md +22 -0
  459. package/lib/bmad-extension-plugin/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
  460. package/lib/bmad-extension-plugin/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  461. package/lib/bmad-extension-plugin/skills/cyber-vulnerability-scan/SKILL.md +28 -0
  462. package/lib/bmad-extension-plugin/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
  463. package/lib/bmad-extension-plugin/skills/devops-configure-infrastructure/.gitkeep +0 -0
  464. package/lib/bmad-extension-plugin/skills/devops-configure-infrastructure/SKILL.md +27 -0
  465. package/lib/bmad-extension-plugin/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
  466. package/lib/bmad-extension-plugin/skills/devops-disconnected-deployment/.gitkeep +0 -0
  467. package/lib/bmad-extension-plugin/skills/devops-disconnected-deployment/SKILL.md +27 -0
  468. package/lib/bmad-extension-plugin/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
  469. package/lib/bmad-extension-plugin/skills/devops-docker-compose-setup/.gitkeep +0 -0
  470. package/lib/bmad-extension-plugin/skills/devops-docker-compose-setup/SKILL.md +26 -0
  471. package/lib/bmad-extension-plugin/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
  472. package/lib/bmad-extension-plugin/skills/devops-manage-helm/.gitkeep +0 -0
  473. package/lib/bmad-extension-plugin/skills/devops-manage-helm/SKILL.md +28 -0
  474. package/lib/bmad-extension-plugin/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
  475. package/lib/bmad-extension-plugin/skills/devops-sign-docker-image/.gitkeep +0 -0
  476. package/lib/bmad-extension-plugin/skills/devops-sign-docker-image/SKILL.md +24 -0
  477. package/lib/bmad-extension-plugin/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
  478. package/lib/bmad-extension-plugin/skills/generate-backlog/.gitkeep +0 -0
  479. package/lib/bmad-extension-plugin/skills/generate-backlog/SKILL.md +195 -0
  480. package/lib/bmad-extension-plugin/skills/generate-backlog/bmad-skill-manifest.yaml +3 -0
  481. package/lib/bmad-extension-plugin/skills/ma-agent-cyber/.gitkeep +0 -0
  482. package/lib/{bmad-extension/skills/bmad-ma-agent-cyber → bmad-extension-plugin/skills/ma-agent-cyber}/SKILL.md +1 -1
  483. package/lib/{bmad-extension/skills/bmad-ma-agent-cyber → bmad-extension-plugin/skills/ma-agent-cyber}/bmad-skill-manifest.yaml +1 -1
  484. package/lib/bmad-extension-plugin/skills/ma-agent-devops/.gitkeep +0 -0
  485. package/lib/{bmad-extension/skills/bmad-ma-agent-devops → bmad-extension-plugin/skills/ma-agent-devops}/SKILL.md +1 -1
  486. package/lib/{bmad-extension/skills/bmad-ma-agent-devops → bmad-extension-plugin/skills/ma-agent-devops}/bmad-skill-manifest.yaml +1 -1
  487. package/lib/bmad-extension-plugin/skills/ma-agent-ml/.gitkeep +0 -0
  488. package/lib/{bmad-extension/skills/bmad-ma-agent-ml → bmad-extension-plugin/skills/ma-agent-ml}/SKILL.md +1 -1
  489. package/lib/{bmad-extension/skills/bmad-ma-agent-ml → bmad-extension-plugin/skills/ma-agent-ml}/bmad-skill-manifest.yaml +1 -1
  490. package/lib/bmad-extension-plugin/skills/ma-agent-sqa/.gitkeep +0 -0
  491. package/lib/{bmad-extension/skills/bmad-ma-agent-sqa → bmad-extension-plugin/skills/ma-agent-sqa}/SKILL.md +1 -1
  492. package/lib/{bmad-extension/skills/bmad-ma-agent-sqa → bmad-extension-plugin/skills/ma-agent-sqa}/bmad-skill-manifest.yaml +1 -1
  493. package/lib/bmad-extension-plugin/skills/ma-agent-sre/.gitkeep +0 -0
  494. package/lib/{bmad-extension/skills/bmad-ma-agent-sre → bmad-extension-plugin/skills/ma-agent-sre}/SKILL.md +1 -1
  495. package/lib/{bmad-extension/skills/bmad-ma-agent-sre → bmad-extension-plugin/skills/ma-agent-sre}/bmad-skill-manifest.yaml +1 -1
  496. package/lib/bmad-extension-plugin/skills/mil498-ocd/.gitkeep +0 -0
  497. package/lib/bmad-extension-plugin/skills/mil498-ocd/SKILL.md +30 -0
  498. package/lib/bmad-extension-plugin/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
  499. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
  500. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/02-load-template.md +10 -0
  501. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
  502. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/04-validate.md +14 -0
  503. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/05-review.md +15 -0
  504. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/06-save.md +15 -0
  505. package/lib/bmad-extension-plugin/skills/mil498-ocd/template.md +169 -0
  506. package/lib/bmad-extension-plugin/skills/mil498-requirement-quality/.gitkeep +0 -0
  507. package/lib/bmad-extension-plugin/skills/mil498-requirement-quality/SKILL.md +105 -0
  508. package/lib/bmad-extension-plugin/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
  509. package/lib/bmad-extension-plugin/skills/mil498-sdd/.gitkeep +0 -0
  510. package/lib/bmad-extension-plugin/skills/mil498-sdd/SKILL.md +30 -0
  511. package/lib/bmad-extension-plugin/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
  512. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
  513. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/02-load-template.md +10 -0
  514. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
  515. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/04-validate.md +16 -0
  516. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/05-review.md +15 -0
  517. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/06-save.md +19 -0
  518. package/lib/bmad-extension-plugin/skills/mil498-sdd/template.md +163 -0
  519. package/lib/bmad-extension-plugin/skills/mil498-sdp/.gitkeep +0 -0
  520. package/lib/bmad-extension-plugin/skills/mil498-sdp/SKILL.md +30 -0
  521. package/lib/bmad-extension-plugin/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
  522. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
  523. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/02-load-template.md +10 -0
  524. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
  525. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/04-validate.md +13 -0
  526. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/05-review.md +15 -0
  527. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/06-save.md +14 -0
  528. package/lib/bmad-extension-plugin/skills/mil498-sdp/template.md +307 -0
  529. package/lib/bmad-extension-plugin/skills/mil498-srs/.gitkeep +0 -0
  530. package/lib/bmad-extension-plugin/skills/mil498-srs/SKILL.md +30 -0
  531. package/lib/bmad-extension-plugin/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
  532. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
  533. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/02-load-template.md +10 -0
  534. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/03-generate-document.md +100 -0
  535. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/04-validate.md +16 -0
  536. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/05-review.md +15 -0
  537. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/06-save.md +18 -0
  538. package/lib/bmad-extension-plugin/skills/mil498-srs/template.md +219 -0
  539. package/lib/bmad-extension-plugin/skills/mil498-ssdd/.gitkeep +0 -0
  540. package/lib/bmad-extension-plugin/skills/mil498-ssdd/SKILL.md +32 -0
  541. package/lib/bmad-extension-plugin/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
  542. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
  543. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
  544. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
  545. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
  546. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/05-validate.md +18 -0
  547. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/06-review.md +16 -0
  548. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/07-save.md +16 -0
  549. package/lib/bmad-extension-plugin/skills/mil498-ssdd/template.md +154 -0
  550. package/lib/bmad-extension-plugin/skills/mil498-sss/.gitkeep +0 -0
  551. package/lib/bmad-extension-plugin/skills/mil498-sss/SKILL.md +31 -0
  552. package/lib/bmad-extension-plugin/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
  553. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
  554. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/02-load-template.md +10 -0
  555. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/03-generate-document.md +108 -0
  556. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/04-validate.md +16 -0
  557. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/05-review.md +15 -0
  558. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/06-save.md +15 -0
  559. package/lib/bmad-extension-plugin/skills/mil498-sss/template.md +225 -0
  560. package/lib/bmad-extension-plugin/skills/mil498-std/.gitkeep +0 -0
  561. package/lib/bmad-extension-plugin/skills/mil498-std/SKILL.md +30 -0
  562. package/lib/bmad-extension-plugin/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
  563. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
  564. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/02-load-template.md +10 -0
  565. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/03-generate-document.md +117 -0
  566. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/04-validate.md +15 -0
  567. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/05-review.md +15 -0
  568. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/06-save.md +15 -0
  569. package/lib/bmad-extension-plugin/skills/mil498-std/template.md +188 -0
  570. package/lib/bmad-extension-plugin/skills/ml-advise/.gitkeep +0 -0
  571. package/lib/bmad-extension-plugin/skills/ml-advise/SKILL.md +76 -0
  572. package/lib/bmad-extension-plugin/skills/ml-advise/bmad-skill-manifest.yaml +3 -0
  573. package/lib/bmad-extension-plugin/skills/ml-advise/skill.json +7 -0
  574. package/lib/bmad-extension-plugin/skills/ml-analysis/.gitkeep +0 -0
  575. package/lib/bmad-extension-plugin/skills/ml-analysis/SKILL.md +60 -0
  576. package/lib/bmad-extension-plugin/skills/ml-analysis/bmad-skill-manifest.yaml +3 -0
  577. package/lib/bmad-extension-plugin/skills/ml-analysis/skill.json +7 -0
  578. package/lib/bmad-extension-plugin/skills/ml-architecture/.gitkeep +0 -0
  579. package/lib/bmad-extension-plugin/skills/ml-architecture/SKILL.md +55 -0
  580. package/lib/bmad-extension-plugin/skills/ml-architecture/bmad-skill-manifest.yaml +3 -0
  581. package/lib/bmad-extension-plugin/skills/ml-architecture/skill.json +7 -0
  582. package/lib/bmad-extension-plugin/skills/ml-detailed-design/.gitkeep +0 -0
  583. package/lib/bmad-extension-plugin/skills/ml-detailed-design/SKILL.md +67 -0
  584. package/lib/bmad-extension-plugin/skills/ml-detailed-design/bmad-skill-manifest.yaml +3 -0
  585. package/lib/bmad-extension-plugin/skills/ml-detailed-design/skill.json +7 -0
  586. package/lib/bmad-extension-plugin/skills/ml-eda/.gitkeep +0 -0
  587. package/lib/bmad-extension-plugin/skills/ml-eda/SKILL.md +56 -0
  588. package/lib/bmad-extension-plugin/skills/ml-eda/bmad-skill-manifest.yaml +3 -0
  589. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/baseline_classifier.py +522 -0
  590. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/class_weights_calculator.py +295 -0
  591. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/clustering_explorer.py +383 -0
  592. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/eda_analyzer.py +654 -0
  593. package/lib/bmad-extension-plugin/skills/ml-eda/skill.json +7 -0
  594. package/lib/bmad-extension-plugin/skills/ml-experiment/.gitkeep +0 -0
  595. package/lib/bmad-extension-plugin/skills/ml-experiment/SKILL.md +74 -0
  596. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/advanced_trainer_configs.py +430 -0
  597. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/quick_trainer_setup.py +233 -0
  598. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_datamodule.py +219 -0
  599. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_gnn_module.py +341 -0
  600. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_lightning_module.py +158 -0
  601. package/lib/bmad-extension-plugin/skills/ml-experiment/bmad-skill-manifest.yaml +3 -0
  602. package/lib/bmad-extension-plugin/skills/ml-experiment/skill.json +7 -0
  603. package/lib/bmad-extension-plugin/skills/ml-hparam/.gitkeep +0 -0
  604. package/lib/bmad-extension-plugin/skills/ml-hparam/SKILL.md +81 -0
  605. package/lib/bmad-extension-plugin/skills/ml-hparam/bmad-skill-manifest.yaml +3 -0
  606. package/lib/bmad-extension-plugin/skills/ml-hparam/skill.json +7 -0
  607. package/lib/bmad-extension-plugin/skills/ml-ideation/.gitkeep +0 -0
  608. package/lib/bmad-extension-plugin/skills/ml-ideation/SKILL.md +50 -0
  609. package/lib/bmad-extension-plugin/skills/ml-ideation/bmad-skill-manifest.yaml +3 -0
  610. package/lib/bmad-extension-plugin/skills/ml-ideation/scripts/validate_ml_prd.py +287 -0
  611. package/lib/bmad-extension-plugin/skills/ml-ideation/skill.json +7 -0
  612. package/lib/bmad-extension-plugin/skills/ml-infra/.gitkeep +0 -0
  613. package/lib/bmad-extension-plugin/skills/ml-infra/SKILL.md +58 -0
  614. package/lib/bmad-extension-plugin/skills/ml-infra/bmad-skill-manifest.yaml +3 -0
  615. package/lib/bmad-extension-plugin/skills/ml-infra/skill.json +7 -0
  616. package/lib/bmad-extension-plugin/skills/ml-retrospective/.gitkeep +0 -0
  617. package/lib/bmad-extension-plugin/skills/ml-retrospective/SKILL.md +63 -0
  618. package/lib/bmad-extension-plugin/skills/ml-retrospective/bmad-skill-manifest.yaml +3 -0
  619. package/lib/bmad-extension-plugin/skills/ml-retrospective/skill.json +7 -0
  620. package/lib/bmad-extension-plugin/skills/ml-revision/.gitkeep +0 -0
  621. package/lib/bmad-extension-plugin/skills/ml-revision/SKILL.md +82 -0
  622. package/lib/bmad-extension-plugin/skills/ml-revision/bmad-skill-manifest.yaml +3 -0
  623. package/lib/bmad-extension-plugin/skills/ml-revision/skill.json +7 -0
  624. package/lib/bmad-extension-plugin/skills/ml-techspec/.gitkeep +0 -0
  625. package/lib/bmad-extension-plugin/skills/ml-techspec/SKILL.md +80 -0
  626. package/lib/bmad-extension-plugin/skills/ml-techspec/bmad-skill-manifest.yaml +3 -0
  627. package/lib/bmad-extension-plugin/skills/ml-techspec/skill.json +7 -0
  628. package/lib/bmad-extension-plugin/skills/modify-sprint/.gitkeep +0 -0
  629. package/lib/bmad-extension-plugin/skills/modify-sprint/SKILL.md +311 -0
  630. package/lib/bmad-extension-plugin/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
  631. package/lib/bmad-extension-plugin/skills/module-help.csv +62 -0
  632. package/lib/bmad-extension-plugin/skills/module.yaml +20 -0
  633. package/lib/bmad-extension-plugin/skills/prioritize-backlog/.gitkeep +0 -0
  634. package/lib/bmad-extension-plugin/skills/prioritize-backlog/SKILL.md +217 -0
  635. package/lib/bmad-extension-plugin/skills/prioritize-backlog/bmad-skill-manifest.yaml +3 -0
  636. package/lib/bmad-extension-plugin/skills/project-context-expansion/.gitkeep +0 -0
  637. package/lib/bmad-extension-plugin/skills/project-context-expansion/SKILL.md +238 -0
  638. package/lib/bmad-extension-plugin/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
  639. package/lib/bmad-extension-plugin/skills/remove-from-sprint/.gitkeep +0 -0
  640. package/lib/bmad-extension-plugin/skills/remove-from-sprint/SKILL.md +184 -0
  641. package/lib/bmad-extension-plugin/skills/remove-from-sprint/bmad-skill-manifest.yaml +3 -0
  642. package/lib/bmad-extension-plugin/skills/sprint-status-view/.gitkeep +0 -0
  643. package/lib/bmad-extension-plugin/skills/sprint-status-view/SKILL.md +177 -0
  644. package/lib/bmad-extension-plugin/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
  645. package/lib/bmad-extension-plugin/skills/sqa-audit/.gitkeep +0 -0
  646. package/lib/bmad-extension-plugin/skills/sqa-audit/SKILL.md +279 -0
  647. package/lib/bmad-extension-plugin/skills/sqa-audit/bmad-skill-manifest.yaml +3 -0
  648. package/lib/bmad-extension-plugin/skills/sqa-ieee12207/.gitkeep +0 -0
  649. package/lib/bmad-extension-plugin/skills/sqa-ieee12207/SKILL.md +374 -0
  650. package/lib/bmad-extension-plugin/skills/sqa-ieee12207/bmad-skill-manifest.yaml +3 -0
  651. package/lib/bmad-extension-plugin/skills/sqa-requirements-quality/.gitkeep +0 -0
  652. package/lib/bmad-extension-plugin/skills/sqa-requirements-quality/SKILL.md +244 -0
  653. package/lib/bmad-extension-plugin/skills/sqa-requirements-quality/bmad-skill-manifest.yaml +3 -0
  654. package/lib/bmad-extension-plugin/skills/sre-check-deployment-status/.gitkeep +0 -0
  655. package/lib/bmad-extension-plugin/skills/sre-check-deployment-status/SKILL.md +32 -0
  656. package/lib/bmad-extension-plugin/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
  657. package/lib/bmad-extension-plugin/skills/sre-check-secrets/.gitkeep +0 -0
  658. package/lib/bmad-extension-plugin/skills/sre-check-secrets/SKILL.md +23 -0
  659. package/lib/bmad-extension-plugin/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
  660. package/lib/bmad-extension-plugin/skills/sre-check-system-status/.gitkeep +0 -0
  661. package/lib/bmad-extension-plugin/skills/sre-check-system-status/SKILL.md +27 -0
  662. package/lib/bmad-extension-plugin/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
  663. package/lib/bmad-extension-plugin/skills/sre-day-2-ops/.gitkeep +0 -0
  664. package/lib/bmad-extension-plugin/skills/sre-day-2-ops/SKILL.md +26 -0
  665. package/lib/bmad-extension-plugin/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
  666. package/lib/bmad-extension-plugin/skills/sre-deployment-strategies/.gitkeep +0 -0
  667. package/lib/bmad-extension-plugin/skills/sre-deployment-strategies/SKILL.md +28 -0
  668. package/lib/bmad-extension-plugin/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
  669. package/lib/bmad-extension-plugin/skills/sre-fix-deployments/.gitkeep +0 -0
  670. package/lib/bmad-extension-plugin/skills/sre-fix-deployments/SKILL.md +25 -0
  671. package/lib/bmad-extension-plugin/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
  672. package/lib/bmad-extension-plugin/skills/sre-gitops-status/.gitkeep +0 -0
  673. package/lib/bmad-extension-plugin/skills/sre-gitops-status/SKILL.md +25 -0
  674. package/lib/bmad-extension-plugin/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
  675. package/lib/bmad.js +1379 -372
  676. package/lib/installer.js +362 -2
  677. package/package.json +23 -5
  678. package/scripts/build-bmad-cache.js +250 -47
  679. package/scripts/build-plugin.js +574 -0
  680. package/.ma-agents.json +0 -10
  681. package/AGENTS.md +0 -97
  682. package/AiAudit.md +0 -12
  683. package/DEVELOPMENT.md +0 -173
  684. package/MANIFEST.yaml +0 -3
  685. package/_bmad-output/implementation-artifacts/16-4-validation-report.md +0 -79
  686. package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +0 -237
  687. package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +0 -339
  688. package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +0 -348
  689. package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +0 -383
  690. package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +0 -348
  691. package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +0 -385
  692. package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +0 -362
  693. package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +0 -477
  694. package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +0 -377
  695. package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +0 -301
  696. package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +0 -508
  697. package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +0 -455
  698. package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +0 -325
  699. package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +0 -403
  700. package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +0 -344
  701. package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +0 -279
  702. package/_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md +0 -239
  703. package/_bmad-output/implementation-artifacts/19-2-graph-emission-create-prd.md +0 -171
  704. package/_bmad-output/implementation-artifacts/19-3-graph-emission-create-architecture-epics.md +0 -179
  705. package/_bmad-output/implementation-artifacts/19-4-graph-emission-create-story-remaining.md +0 -190
  706. package/_bmad-output/implementation-artifacts/19-5-open-graph-skill.md +0 -213
  707. package/_bmad-output/implementation-artifacts/19-6-interactive-visualization-renderer.md +0 -259
  708. package/_bmad-output/implementation-artifacts/19-7-llm-writability-validation-tests.md +0 -280
  709. package/_bmad-output/implementation-artifacts/21-1-install-time-profile-prompt.md +0 -181
  710. package/_bmad-output/implementation-artifacts/21-10-profile-reconfigure.md +0 -161
  711. package/_bmad-output/implementation-artifacts/21-11-profile-uninstall.md +0 -150
  712. package/_bmad-output/implementation-artifacts/21-2-universal-instruction-block-expansion.md +0 -253
  713. package/_bmad-output/implementation-artifacts/21-3-roomodes-template-bmad-modes.md +0 -229
  714. package/_bmad-output/implementation-artifacts/21-4-agents-md-template-opencode.md +0 -275
  715. package/_bmad-output/implementation-artifacts/21-5-clinerules-template-extension.md +0 -221
  716. package/_bmad-output/implementation-artifacts/21-6-onprem-layered-guardrails.md +0 -287
  717. package/_bmad-output/implementation-artifacts/21-7-bmad-persona-phase-prefix.md +0 -258
  718. package/_bmad-output/implementation-artifacts/21-8-vllm-reference-doc-readme.md +0 -158
  719. package/_bmad-output/implementation-artifacts/21-9-tests-validation.md +0 -368
  720. package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +0 -173
  721. package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +0 -129
  722. package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +0 -274
  723. package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +0 -186
  724. package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +0 -144
  725. package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +0 -132
  726. package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +0 -119
  727. package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +0 -162
  728. package/_bmad-output/implementation-artifacts/bug-bmad-recompile-fails-on-airgapped-network.md +0 -112
  729. package/_bmad-output/implementation-artifacts/bug-experimentalwarning-about-commonjs-loading-es-module-during-install.md +0 -57
  730. package/_bmad-output/implementation-artifacts/deferred-work.md +0 -9
  731. package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +0 -200
  732. package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +0 -172
  733. package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +0 -102
  734. package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +0 -119
  735. package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +0 -132
  736. package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +0 -111
  737. package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +0 -126
  738. package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +0 -137
  739. package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +0 -127
  740. package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +0 -129
  741. package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +0 -179
  742. package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +0 -138
  743. package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +0 -150
  744. package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +0 -128
  745. package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +0 -118
  746. package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +0 -132
  747. package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +0 -174
  748. package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +0 -183
  749. package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +0 -252
  750. package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +0 -232
  751. package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +0 -163
  752. package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +0 -133
  753. package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +0 -172
  754. package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +0 -342
  755. package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +0 -223
  756. package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +0 -180
  757. package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +0 -136
  758. package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +0 -137
  759. package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +0 -79
  760. package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +0 -110
  761. package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +0 -116
  762. package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +0 -109
  763. package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +0 -97
  764. package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +0 -125
  765. package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +0 -322
  766. package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +0 -264
  767. package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +0 -208
  768. package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +0 -209
  769. package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +0 -221
  770. package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +0 -273
  771. package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +0 -235
  772. package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +0 -285
  773. package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +0 -188
  774. package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +0 -211
  775. package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +0 -189
  776. package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +0 -184
  777. package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +0 -178
  778. package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +0 -136
  779. package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +0 -141
  780. package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +0 -145
  781. package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +0 -188
  782. package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +0 -219
  783. package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +0 -234
  784. package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +0 -274
  785. package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +0 -173
  786. package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +0 -131
  787. package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +0 -124
  788. package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +0 -187
  789. package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +0 -102
  790. package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +0 -126
  791. package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +0 -101
  792. package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +0 -73
  793. package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +0 -91
  794. package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +0 -113
  795. package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +0 -90
  796. package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +0 -53
  797. package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +0 -287
  798. package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +0 -49
  799. package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +0 -230
  800. package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +0 -37
  801. package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +0 -140
  802. package/_bmad-output/implementation-artifacts/sprint-status.yaml +0 -139
  803. package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +0 -508
  804. package/_bmad-output/planning-artifacts/architecture.md +0 -2023
  805. package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +0 -295
  806. package/_bmad-output/planning-artifacts/epics.md +0 -4232
  807. package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +0 -290
  808. package/_bmad-output/planning-artifacts/prd.md +0 -811
  809. package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +0 -214
  810. package/_bmad-output/planning-artifacts/sprint-status-schema.md +0 -506
  811. package/_bmad-output/planning-artifacts/validation-report-prd-2026-04-07.md +0 -330
  812. package/_bmad-output/project-context.md +0 -47
  813. package/agents.code-workspace +0 -11
  814. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-554778ad4e7254827618ebd2497c3f4bce9054a4.idx +0 -0
  815. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-554778ad4e7254827618ebd2497c3f4bce9054a4.rev +0 -0
  816. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.idx +0 -0
  817. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.rev +0 -0
  818. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml +0 -11
  819. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml +0 -11
  820. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml +0 -11
  821. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml +0 -11
  822. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml +0 -11
  823. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml +0 -11
  824. package/lib/bmad-cache/cis/src/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
  825. package/lib/bmad-cache/cis/src/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
  826. package/lib/bmad-cache/cis/src/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
  827. package/lib/bmad-cache/cis/src/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
  828. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.idx +0 -0
  829. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.rev +0 -0
  830. package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/bmad-skill-manifest.yaml +0 -11
  831. package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/bmad-skill-manifest.yaml +0 -11
  832. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/bmad-skill-manifest.yaml +0 -11
  833. package/lib/bmad-cache/gds/src/agents/gds-agent-game-qa/bmad-skill-manifest.yaml +0 -11
  834. package/lib/bmad-cache/gds/src/agents/gds-agent-game-scrum-master/bmad-skill-manifest.yaml +0 -11
  835. package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/bmad-skill-manifest.yaml +0 -11
  836. package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
  837. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/bmad-skill-manifest.yaml +0 -1
  838. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/bmad-skill-manifest.yaml +0 -1
  839. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/bmad-skill-manifest.yaml +0 -9
  840. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/bmad-skill-manifest.yaml +0 -1
  841. package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/bmad-skill-manifest.yaml +0 -14
  842. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/bmad-skill-manifest.yaml +0 -1
  843. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/bmad-skill-manifest.yaml +0 -1
  844. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/bmad-skill-manifest.yaml +0 -1
  845. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/bmad-skill-manifest.yaml +0 -1
  846. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/bmad-skill-manifest.yaml +0 -1
  847. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/bmad-skill-manifest.yaml +0 -1
  848. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/bmad-skill-manifest.yaml +0 -1
  849. package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/bmad-skill-manifest.yaml +0 -1
  850. package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/bmad-skill-manifest.yaml +0 -1
  851. package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/bmad-skill-manifest.yaml +0 -1
  852. package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/bmad-skill-manifest.yaml +0 -1
  853. package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/bmad-skill-manifest.yaml +0 -1
  854. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/bmad-skill-manifest.yaml +0 -1
  855. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/bmad-skill-manifest.yaml +0 -1
  856. package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/bmad-skill-manifest.yaml +0 -1
  857. package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/bmad-skill-manifest.yaml +0 -1
  858. package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/bmad-skill-manifest.yaml +0 -1
  859. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/bmad-skill-manifest.yaml +0 -1
  860. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/bmad-skill-manifest.yaml +0 -1
  861. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/bmad-skill-manifest.yaml +0 -1
  862. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/bmad-skill-manifest.yaml +0 -1
  863. package/lib/bmad-cache/gds/src/workflows/gds-document-project/bmad-skill-manifest.yaml +0 -1
  864. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml +0 -1
  865. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev-new-preview/bmad-skill-manifest.yaml +0 -1
  866. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-spec/bmad-skill-manifest.yaml +0 -1
  867. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-e75385cd52b693dbb8a3b2afb50058952543b3a2.idx +0 -0
  868. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-e75385cd52b693dbb8a3b2afb50058952543b3a2.rev +0 -0
  869. package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.10.0 +0 -1
  870. package/lib/bmad-cache/tea/src/agents/bmad-tea/bmad-skill-manifest.yaml +0 -14
  871. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/bmad-skill-manifest.yaml +0 -1
  872. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow.md +0 -90
  873. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/bmad-skill-manifest.yaml +0 -1
  874. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow.md +0 -41
  875. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/bmad-skill-manifest.yaml +0 -1
  876. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow.md +0 -41
  877. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/bmad-skill-manifest.yaml +0 -1
  878. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow.md +0 -41
  879. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/bmad-skill-manifest.yaml +0 -1
  880. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow.md +0 -41
  881. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/bmad-skill-manifest.yaml +0 -1
  882. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.md +0 -41
  883. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/bmad-skill-manifest.yaml +0 -1
  884. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow.md +0 -41
  885. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/bmad-skill-manifest.yaml +0 -1
  886. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow.md +0 -41
  887. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/bmad-skill-manifest.yaml +0 -1
  888. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.md +0 -41
  889. package/lib/bmad-customizations/bmm-demerzel.customize.yaml +0 -36
  890. package/lib/bmad-customizations/demerzel.md +0 -32
  891. package/lib/bmad-customize/bmm-quick-flow-solo-dev.customize.yaml +0 -8
  892. package/lib/bmad-extension/module.yaml +0 -5
  893. package/out.txt +0 -0
  894. package/test/agent-injection-strategy.test.js +0 -129
  895. package/test/agents-md.test.js +0 -398
  896. package/test/bmad-extension.test.js +0 -283
  897. package/test/bmad-output-policy.test.js +0 -119
  898. package/test/bmad-persona-phase-prefix.test.js +0 -271
  899. package/test/bmad-version-bump.test.js +0 -313
  900. package/test/build-bmad-args.test.js +0 -368
  901. package/test/cicd-remote-mode.test.js +0 -224
  902. package/test/clinerules.test.js +0 -339
  903. package/test/config-layout.test.js +0 -230
  904. package/test/config-lost-on-update.test.js +0 -363
  905. package/test/config-storage.test.js +0 -275
  906. package/test/convert-agents-to-skills.test.js +0 -255
  907. package/test/create-agent.test.js +0 -232
  908. package/test/cross-repo-validation.test.js +0 -201
  909. package/test/enforcement-hooks.test.js +0 -324
  910. package/test/experimental-warning.test.js +0 -314
  911. package/test/extension-module-restructure.test.js +0 -407
  912. package/test/fixtures/README.md +0 -74
  913. package/test/fixtures/empty-project/README.md +0 -5
  914. package/test/fixtures/empty-project/package.json +0 -5
  915. package/test/fixtures/onprem-profile-baseline/.gitkeep +0 -2
  916. package/test/fixtures/standard-profile-baseline/.gitkeep +0 -2
  917. package/test/generate-project-context.test.js +0 -483
  918. package/test/instruction-block.test.js +0 -388
  919. package/test/instruction-injection.test.js +0 -336
  920. package/test/integration-verification.test.js +0 -433
  921. package/test/migration-validation.test.js +0 -506
  922. package/test/migration.test.js +0 -832
  923. package/test/offline-recompile.test.js +0 -267
  924. package/test/onprem-injection.test.js +0 -441
  925. package/test/onprem-layer.test.js +0 -419
  926. package/test/opencode-agent.test.js +0 -150
  927. package/test/opencode-json-error.test.js +0 -260
  928. package/test/opencode-json-injection.test.js +0 -264
  929. package/test/opencode-json-merge.test.js +0 -318
  930. package/test/portable-paths.test.js +0 -268
  931. package/test/profile.test.js +0 -301
  932. package/test/reconfigure.test.js +0 -436
  933. package/test/repo-layout.test.js +0 -246
  934. package/test/roo-code-agent.test.js +0 -166
  935. package/test/roo-code-injection.test.js +0 -172
  936. package/test/roomodes.test.js +0 -343
  937. package/test/skill-authoring.test.js +0 -272
  938. package/test/skill-customize-agent.test.js +0 -253
  939. package/test/skill-mandatory.test.js +0 -235
  940. package/test/skill-validation.test.js +0 -378
  941. package/test/story-15-5-workflow-skills.test.js +0 -311
  942. package/test/uninstall.test.js +0 -402
  943. package/test/yes-flag.test.js +0 -200
  944. /package/lib/bmad-cache/gds/src/{gametest → agents/gds-agent-game-dev/gametest}/qa-index.csv +0 -0
  945. /package/lib/bmad-cache/gds/src/workflows/2-design/{create-prd → gds-create-prd}/data/domain-complexity.csv +0 -0
  946. /package/lib/bmad-cache/gds/src/workflows/2-design/{create-prd → gds-create-prd}/data/project-types.csv +0 -0
  947. /package/lib/{bmad-extension/skills/bmad-ma-agent-cyber → bmad-extension-plugin/skills/add-sprint}/.gitkeep +0 -0
  948. /package/lib/{bmad-extension/skills/bmad-ma-agent-devops → bmad-extension-plugin/skills/add-to-sprint}/.gitkeep +0 -0
  949. /package/lib/{bmad-extension/skills/bmad-ma-agent-ml → bmad-extension-plugin/skills/bmad-dev-story}/.gitkeep +0 -0
  950. /package/lib/{bmad-extension/skills/bmad-ma-agent-sqa → bmad-extension-plugin/skills/bmad-sprint-planning}/.gitkeep +0 -0
  951. /package/lib/{bmad-extension/skills/bmad-ma-agent-sre → bmad-extension-plugin/skills/bmad-sprint-status}/.gitkeep +0 -0
@@ -4,13 +4,21 @@ lastStep: ''
4
4
  lastSaved: ''
5
5
  workflowType: 'testarch-trace'
6
6
  inputDocuments: []
7
+ coverageBasis: ''
8
+ oracleConfidence: ''
9
+ oracleResolutionMode: ''
10
+ oracleSources: []
11
+ externalPointerStatus: ''
7
12
  ---
8
13
 
9
- # Traceability Matrix & Gate Decision - Story {STORY_ID}
14
+ # Traceability Matrix & Gate Decision - {TRACE_TARGET_LABEL}
10
15
 
11
- **Story:** {STORY_TITLE}
16
+ **Target:** {TRACE_TARGET_LABEL}
12
17
  **Date:** {DATE}
13
18
  **Evaluator:** {user_name or TEA Agent}
19
+ **Coverage Oracle:** {COVERAGE_BASIS}
20
+ **Oracle Confidence:** {ORACLE_CONFIDENCE}
21
+ **Oracle Sources:** {ORACLE_SOURCES}
14
22
 
15
23
  ---
16
24
 
@@ -1,21 +1,24 @@
1
- # Workflow Plan: testarch-trace
1
+ # Workflow Plan: testarch-trace
2
2
 
3
- ## Create Mode (steps-c)
4
- - step-01-load-context.md
3
+ ## Create Mode (steps-c)
5
4
 
5
+ - step-01-load-context.md
6
6
  - step-02-discover-tests.md
7
7
  - step-03-map-criteria.md
8
8
  - step-04-analyze-gaps.md
9
9
  - step-05-gate-decision.md
10
10
 
11
- ## Validate Mode (steps-v)
12
- - step-01-validate.md
11
+ ## Validate Mode (steps-v)
13
12
 
14
- ## Edit Mode (steps-e)
15
- - step-01-assess.md
16
- - step-02-apply-edit.md
13
+ - step-01-validate.md
17
14
 
18
- ## Outputs
19
- - {test_artifacts}/traceability-matrix.md
15
+ ## Edit Mode (steps-e)
20
16
 
21
- - Gate decision summary (if evidence available)
17
+ - step-01-assess.md
18
+ - step-02-apply-edit.md
19
+
20
+ ## Outputs
21
+
22
+ - {test_artifacts}/traceability-matrix.md
23
+ - {test_artifacts}/e2e-trace-summary.json
24
+ - {test_artifacts}/gate-decision.json (when gate-eligible)
@@ -28,9 +28,33 @@ variables:
28
28
  coverage_levels: "e2e,api,component,unit" # Which test levels to trace
29
29
  gate_type: "story" # story | epic | release | hotfix - determines gate scope
30
30
  decision_mode: "deterministic" # deterministic (rule-based) | manual (team decision)
31
+ collection_mode: "contract_static" # contract_static | inventory_only | runtime_manifest | deferred_shared | waived | restricted | inaccessible
32
+ allow_gate: true # Emit gate_status and gate-decision.json only when collection is gate-eligible
33
+ coverage_basis: "auto" # auto | acceptance_criteria | synthetic_requirements | openapi_endpoints | user_journeys; Step 1 must resolve and persist a concrete value before Step 4/5 export
34
+ summary_confidence: "auto" # auto | high | medium | low; Step 1 must resolve and persist a concrete value before Step 4/5 export
35
+ allow_external_pointer_resolution: true # Follow local placeholder pointers (e.g., Jira/Confluence) when compatible adapters exist
36
+ allow_synthetic_oracle: true # Infer journeys/requirements from source when no formal oracle exists
31
37
 
32
38
  # Output configuration
33
39
  default_output_file: "{test_artifacts}/traceability-matrix.md"
40
+ e2e_trace_summary_output: "{test_artifacts}/e2e-trace-summary.json" # Machine-readable summary consumed by CI/CD and reporting pipelines
41
+ gate_decision_output: "{test_artifacts}/gate-decision.json" # Optional downstream gate signal for CI/CD enforcement
42
+
43
+ # e2e-trace-summary.json schema (emitted by step-05 at workflow completion)
44
+ # schema_version: 1
45
+ # generated_at: ISO timestamp
46
+ # workflow: "bmad-testarch-trace"
47
+ # repo / collection_mode / collection_status / coverage_basis / source_sha
48
+ # target: { type, id, label }
49
+ # gate_status: PASS | CONCERNS | FAIL | WAIVED (only when allow_gate is true and collection_status is COLLECTED)
50
+ # coverage_statistics: { total_requirements, fully_covered, partially_covered, uncovered, overall_coverage_pct, priority_breakdown{P0..P3}, by_level{e2e,api,component,unit} }
51
+ # tests: { files, cases, skipped_cases, fixme_cases, pending_cases }
52
+ # gap_analysis: { critical_gaps, high_gaps, medium_gaps, low_gaps }
53
+ # heuristics: { endpoint_gaps, auth_negative_path_status, error_path_status }
54
+ # gate_criteria: { p0_coverage_required/actual/status, p1_coverage_target/minimum/actual/status, overall_coverage_minimum/actual/status } (gate-eligible runs only)
55
+ # blockers: [ { id, severity, reason, test_file?, test_title? } ]
56
+ # recommendations: [ { priority, action, requirements[] } ]
57
+ # links: { trace_report_path, trace_report_url, artifact_url }
34
58
 
35
59
  # Required tools
36
60
  required_tools:
@@ -99,63 +99,104 @@ async function runTests() {
99
99
  try {
100
100
  const skillDir = path.join(projectRoot, 'src/agents/bmad-tea');
101
101
  const skillMdPath = path.join(skillDir, 'SKILL.md');
102
- const manifestPath = path.join(skillDir, 'bmad-skill-manifest.yaml');
102
+ const customizePath = path.join(skillDir, 'customize.toml');
103
103
 
104
- // Validate SKILL.md exists and has required sections
104
+ // Validate SKILL.md matches the new BMM agent activation pattern
105
105
  if (await pathExists(skillMdPath)) {
106
106
  const skillContent = await fs.readFile(skillMdPath, 'utf8');
107
107
 
108
108
  assert(skillContent.includes('name: bmad-tea'), 'SKILL.md has correct skill name in frontmatter');
109
- assert(skillContent.includes('## Identity'), 'SKILL.md has Identity section');
110
- assert(skillContent.includes('## Principles'), 'SKILL.md has Principles section');
111
- assert(skillContent.includes('## Critical Actions'), 'SKILL.md has Critical Actions section');
112
- assert(skillContent.includes('## Capabilities'), 'SKILL.md has Capabilities section');
113
109
  assert(skillContent.includes('## On Activation'), 'SKILL.md has On Activation section');
110
+ assert(
111
+ skillContent.includes('{project-root}/_bmad/scripts/resolve_customization.py'),
112
+ 'SKILL.md routes customization through the shared resolver',
113
+ );
114
+ assert(skillContent.includes('--key agent'), 'SKILL.md resolves the [agent] customization block');
115
+ assert(skillContent.includes('{agent.role}'), 'SKILL.md layers {agent.role} onto the persona');
116
+ assert(skillContent.includes('{agent.identity}'), 'SKILL.md layers {agent.identity} onto the persona');
117
+ assert(skillContent.includes('{agent.principles}'), 'SKILL.md layers {agent.principles} onto the persona');
118
+ assert(skillContent.includes('{agent.persistent_facts}'), 'SKILL.md loads {agent.persistent_facts}');
119
+ assert(skillContent.includes('{agent.menu}'), 'SKILL.md dispatches from {agent.menu}');
120
+ assert(skillContent.includes('activation_steps_prepend'), 'SKILL.md runs activation_steps_prepend');
121
+ assert(skillContent.includes('activation_steps_append'), 'SKILL.md runs activation_steps_append');
122
+ assert(skillContent.includes('## Critical Actions'), 'SKILL.md has Critical Actions section');
114
123
 
115
- // Verify all 9 capability codes are present in the capabilities table
116
- const capabilityCodes = ['TMT', 'TF', 'AT', 'TA', 'TD', 'TR', 'NR', 'CI', 'RV'];
117
- for (const code of capabilityCodes) {
118
- const codePattern = new RegExp(`\\|\\s*${code}\\s*\\|`);
119
- assert(codePattern.test(skillContent), `SKILL.md has capability code ${code}`);
120
- }
121
-
122
- // Verify no BMM references
124
+ // Verify old-pattern artifacts are gone
125
+ assert(!skillContent.includes('resolve-customization.py'), 'SKILL.md no longer calls the per-skill resolver stub');
126
+ assert(!skillContent.includes('{persona.displayName}'), 'SKILL.md no longer uses the old {persona.*} namespace');
123
127
  assert(!skillContent.includes('_bmad/bmm/'), 'SKILL.md has no _bmad/bmm/ references');
124
128
  assert(!skillContent.includes('module: bmm'), 'SKILL.md has no module: bmm references');
125
129
  } else {
126
130
  assert(false, 'SKILL.md exists', 'src/agents/bmad-tea/SKILL.md not found');
127
131
  }
128
132
 
129
- // Validate bmad-skill-manifest.yaml
130
- if (await pathExists(manifestPath)) {
131
- const manifest = yaml.load(await fs.readFile(manifestPath, 'utf8'));
132
-
133
- assert(manifest.type === 'agent', 'Manifest has type: agent');
134
- assert(manifest.name === 'bmad-tea', 'Manifest has correct name');
135
- assert(manifest.module === 'tea', 'Manifest has module: tea');
136
- assert(manifest.canonicalId === 'bmad-tea', 'Manifest has correct canonicalId');
137
- assert(manifest.webskip === true, 'Manifest has webskip: true');
138
- assert(manifest.hasSidecar === false, 'Manifest has hasSidecar: false');
139
-
140
- // Verify all 9 capability skill IDs reference real workflow directories
141
- const expectedSkillDirs = [
142
- 'bmad-teach-me-testing',
143
- 'bmad-testarch-framework',
144
- 'bmad-testarch-atdd',
145
- 'bmad-testarch-automate',
146
- 'bmad-testarch-test-design',
147
- 'bmad-testarch-trace',
148
- 'bmad-testarch-nfr',
149
- 'bmad-testarch-ci',
150
- 'bmad-testarch-test-review',
133
+ // Validate customize.toml carries the agent essence + menu in the new [agent] namespace.
134
+ // Parse with a tiny line-by-line reader — good enough for flat key/value assertions
135
+ // without adding a TOML dep.
136
+ if (await pathExists(customizePath)) {
137
+ const customizeContent = await fs.readFile(customizePath, 'utf8');
138
+
139
+ assert(customizeContent.includes('[agent]'), 'customize.toml has [agent] section');
140
+ assert(/^\s*name\s*=\s*"Murat"/m.test(customizeContent), 'customize.toml pins agent.name = "Murat"');
141
+ assert(/^\s*title\s*=\s*"Master Test Architect and Quality Advisor"/m.test(customizeContent), 'customize.toml pins agent.title');
142
+ assert(/^\s*icon\s*=\s*"🧪"/m.test(customizeContent), 'customize.toml pins agent.icon');
143
+ assert(customizeContent.includes('persistent_facts'), 'customize.toml defines persistent_facts');
144
+ assert(
145
+ customizeContent.includes('file:{project-root}/**/project-context.md'),
146
+ 'customize.toml loads project-context.md as a persistent fact',
147
+ );
148
+ assert(customizeContent.includes('activation_steps_prepend'), 'customize.toml defines activation_steps_prepend');
149
+ assert(customizeContent.includes('activation_steps_append'), 'customize.toml defines activation_steps_append');
150
+
151
+ // Verify all 9 capability codes live on the [[agent.menu]] array-of-tables
152
+ const expectedMenu = [
153
+ { code: 'TMT', skill: 'bmad-teach-me-testing' },
154
+ { code: 'TF', skill: 'bmad-testarch-framework' },
155
+ { code: 'AT', skill: 'bmad-testarch-atdd' },
156
+ { code: 'TA', skill: 'bmad-testarch-automate' },
157
+ { code: 'TD', skill: 'bmad-testarch-test-design' },
158
+ { code: 'TR', skill: 'bmad-testarch-trace' },
159
+ { code: 'NR', skill: 'bmad-testarch-nfr' },
160
+ { code: 'CI', skill: 'bmad-testarch-ci' },
161
+ { code: 'RV', skill: 'bmad-testarch-test-review' },
151
162
  ];
152
- for (const skillDir of expectedSkillDirs) {
153
- const workflowDir = path.join(projectRoot, `src/workflows/testarch/${skillDir}`);
154
- assert(await pathExists(workflowDir), `Capability skill ${skillDir} has matching workflow directory`);
163
+ for (const { code, skill } of expectedMenu) {
164
+ const codePattern = new RegExp(`\\[\\[agent\\.menu]]\\s*\\ncode\\s*=\\s*"${code}"`);
165
+ assert(codePattern.test(customizeContent), `customize.toml has [[agent.menu]] entry for code ${code}`);
166
+ assert(customizeContent.includes(`skill = "${skill}"`), `customize.toml menu ${code} dispatches to ${skill}`);
167
+ const workflowDir = path.join(projectRoot, `src/workflows/testarch/${skill}`);
168
+ assert(await pathExists(workflowDir), `Capability skill ${skill} has matching workflow directory`);
155
169
  }
156
170
  } else {
157
- assert(false, 'bmad-skill-manifest.yaml exists', 'src/agents/bmad-tea/bmad-skill-manifest.yaml not found');
171
+ assert(false, 'customize.toml exists', 'src/agents/bmad-tea/customize.toml not found');
172
+ }
173
+
174
+ // module.yaml must declare the agent essence for the BMM central config roster
175
+ const moduleYamlPath = path.join(projectRoot, 'src/module.yaml');
176
+ const moduleYaml = yaml.load(await fs.readFile(moduleYamlPath, 'utf8'));
177
+ assert(Array.isArray(moduleYaml.agents), 'module.yaml has agents: array');
178
+ const teaAgentEntry = (moduleYaml.agents || []).find((entry) => entry && entry.code === 'bmad-tea');
179
+ assert(teaAgentEntry !== undefined, 'module.yaml agents: contains bmad-tea entry');
180
+ if (teaAgentEntry) {
181
+ assert(teaAgentEntry.name === 'Murat', 'module.yaml bmad-tea entry has name: Murat');
182
+ assert(teaAgentEntry.title && teaAgentEntry.title.length > 0, 'module.yaml bmad-tea entry has a title');
183
+ assert(teaAgentEntry.icon === '🧪', 'module.yaml bmad-tea entry has icon 🧪');
184
+ assert(teaAgentEntry.team === 'software-development', 'module.yaml bmad-tea entry has team: software-development');
185
+ assert(
186
+ typeof teaAgentEntry.description === 'string' && teaAgentEntry.description.length > 0,
187
+ 'module.yaml bmad-tea entry has a description',
188
+ );
158
189
  }
190
+
191
+ // Old-pattern files must be gone
192
+ assert(
193
+ !(await pathExists(path.join(skillDir, 'bmad-skill-manifest.yaml'))),
194
+ 'Legacy bmad-skill-manifest.yaml is removed from the agent',
195
+ );
196
+ assert(
197
+ !(await pathExists(path.join(skillDir, 'scripts', 'resolve-customization.py'))),
198
+ 'Legacy per-agent resolve-customization.py is removed',
199
+ );
159
200
  } catch (error) {
160
201
  assert(false, 'TEA agent native skill structure validates', error.message);
161
202
  }
@@ -169,12 +210,18 @@ async function runTests() {
169
210
 
170
211
  try {
171
212
  const teaIndexPath = path.join(projectRoot, 'src/agents/bmad-tea/resources/tea-index.csv');
213
+ const knowledgeDir = path.join(projectRoot, 'src/agents/bmad-tea/resources/knowledge');
172
214
 
173
215
  if (await pathExists(teaIndexPath)) {
174
216
  const csvContent = await fs.readFile(teaIndexPath, 'utf8');
175
- const lines = csvContent.trim().split('\n');
176
-
177
- assert(lines.length === 43, 'tea-index.csv has 43 lines (header + 42 fragments)', `Found ${lines.length} lines`);
217
+ const lines = csvContent.trim().split(/\r?\n/);
218
+ const knowledgeFiles = (await fs.readdir(knowledgeDir)).filter((fileName) => fileName.endsWith('.md'));
219
+
220
+ assert(
221
+ lines.length === knowledgeFiles.length + 1,
222
+ 'tea-index.csv line count matches knowledge fragments',
223
+ `Found ${lines.length} lines for ${knowledgeFiles.length} knowledge fragments`,
224
+ );
178
225
  assert(lines[0].includes('id,name,description,tags,tier,fragment_file'), 'tea-index.csv has correct header format');
179
226
 
180
227
  // Verify no BMM references in CSV
@@ -193,32 +240,72 @@ async function runTests() {
193
240
  // ============================================================
194
241
  console.log(`${colors.yellow}Test Suite 4: Workflow Structure${colors.reset}\n`);
195
242
 
196
- const teachMeWorkflowPath = path.join(projectRoot, 'src/workflows/testarch/bmad-teach-me-testing/workflow.md');
197
- try {
198
- if (await pathExists(teachMeWorkflowPath)) {
199
- const teachMeContent = await fs.readFile(teachMeWorkflowPath, 'utf8');
200
- assert(teachMeContent.length > 0, 'bmad-teach-me-testing/workflow.md exists');
201
- assert(!teachMeContent.includes('_bmad/bmm/'), 'bmad-teach-me-testing has no _bmad/bmm/ references');
243
+ const workflowDirs = [
244
+ 'bmad-teach-me-testing',
245
+ 'bmad-testarch-framework',
246
+ 'bmad-testarch-ci',
247
+ 'bmad-testarch-test-design',
248
+ 'bmad-testarch-atdd',
249
+ 'bmad-testarch-automate',
250
+ 'bmad-testarch-test-review',
251
+ 'bmad-testarch-nfr',
252
+ 'bmad-testarch-trace',
253
+ ];
254
+
255
+ for (const dirName of workflowDirs) {
256
+ const skillMdPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/SKILL.md`);
257
+ const customizeTomlPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/customize.toml`);
258
+ const workflowYamlPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/workflow.yaml`);
259
+ const instructionsMdPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/instructions.md`);
260
+
261
+ if (await pathExists(skillMdPath)) {
262
+ try {
263
+ const skillContent = await fs.readFile(skillMdPath, 'utf8');
264
+ assert(skillContent && skillContent.trim().length > 0, `${dirName}/SKILL.md is not empty`);
265
+ assert(skillContent.includes('## On Activation'), `${dirName}/SKILL.md has On Activation section`);
266
+ assert(
267
+ skillContent.includes('resolve_customization.py --skill {skill-root} --key workflow'),
268
+ `${dirName}/SKILL.md resolves the workflow customization block`,
269
+ );
270
+ assert(skillContent.includes('{workflow.activation_steps_prepend}'), `${dirName}/SKILL.md executes prepend activation steps`);
271
+ assert(skillContent.includes('{workflow.activation_steps_append}'), `${dirName}/SKILL.md executes append activation steps`);
272
+ assert(skillContent.includes('{workflow.persistent_facts}'), `${dirName}/SKILL.md loads persistent facts`);
273
+ assert(
274
+ skillContent.includes('Resolve sibling workflow files such as `instructions.md`'),
275
+ `${dirName}/SKILL.md explains sibling workflow path resolution`,
276
+ );
277
+ assert(/\{skill-root\}\/steps-[cev]\//.test(skillContent), `${dirName}/SKILL.md routes first step from {skill-root}`);
278
+ assert(!skillContent.includes('Read `{skill-root}/workflow.md`'), `${dirName}/SKILL.md no longer redirects to workflow.md`);
279
+ assert(!skillContent.includes('[workflow.md](workflow.md)'), `${dirName}/SKILL.md no longer uses a bare relative workflow link`);
280
+ } catch (error) {
281
+ assert(false, `${dirName}/SKILL.md validates`, error.message);
282
+ }
202
283
  } else {
203
- assert(false, 'bmad-teach-me-testing workflow exists', 'src/workflows/testarch/bmad-teach-me-testing/workflow.md not found');
284
+ assert(false, `${dirName}/SKILL.md exists`, `src/workflows/testarch/${dirName}/SKILL.md not found`);
204
285
  }
205
- } catch (error) {
206
- assert(false, 'teach-me-testing workflow validates', error.message);
207
- }
208
286
 
209
- const workflowDirs = {
210
- 'bmad-testarch-framework': 'framework',
211
- 'bmad-testarch-ci': 'ci',
212
- 'bmad-testarch-test-design': 'test-design',
213
- 'bmad-testarch-atdd': 'atdd',
214
- 'bmad-testarch-automate': 'automate',
215
- 'bmad-testarch-test-review': 'test-review',
216
- 'bmad-testarch-nfr': 'nfr-assess',
217
- 'bmad-testarch-trace': 'trace',
218
- };
219
-
220
- for (const [dirName, displayName] of Object.entries(workflowDirs)) {
221
- const workflowYamlPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/workflow.yaml`);
287
+ if (await pathExists(customizeTomlPath)) {
288
+ try {
289
+ const customizeContent = await fs.readFile(customizeTomlPath, 'utf8');
290
+ assert(customizeContent.includes('[workflow]'), `${dirName}/customize.toml has [workflow] section`);
291
+ assert(customizeContent.includes('activation_steps_prepend'), `${dirName}/customize.toml defines activation_steps_prepend`);
292
+ assert(customizeContent.includes('activation_steps_append'), `${dirName}/customize.toml defines activation_steps_append`);
293
+ assert(customizeContent.includes('persistent_facts'), `${dirName}/customize.toml defines persistent_facts`);
294
+ assert(customizeContent.includes('on_complete'), `${dirName}/customize.toml defines on_complete`);
295
+ assert(
296
+ customizeContent.includes('file:{project-root}/**/project-context.md'),
297
+ `${dirName}/customize.toml loads project-context.md as a persistent fact`,
298
+ );
299
+ } catch (error) {
300
+ assert(false, `${dirName}/customize.toml validates`, error.message);
301
+ }
302
+ } else {
303
+ assert(false, `${dirName}/customize.toml exists`, `src/workflows/testarch/${dirName}/customize.toml not found`);
304
+ }
305
+
306
+ // workflow.md was folded into SKILL.md and removed (PR: workflow customization rollout).
307
+ const legacyWorkflowMdPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/workflow.md`);
308
+ assert(!(await pathExists(legacyWorkflowMdPath)), `${dirName}/workflow.md is removed (content lives in SKILL.md)`);
222
309
 
223
310
  if (await pathExists(workflowYamlPath)) {
224
311
  try {
@@ -232,6 +319,63 @@ async function runTests() {
232
319
  assert(false, `${dirName}/workflow.yaml validates`, error.message);
233
320
  }
234
321
  }
322
+
323
+ if (await pathExists(instructionsMdPath)) {
324
+ try {
325
+ const instructionsContent = await fs.readFile(instructionsMdPath, 'utf8');
326
+ assert(!instructionsContent.includes('`./steps-'), `${dirName}/instructions.md has no bare relative step references`);
327
+ assert(
328
+ instructionsContent.includes('`{skill-root}/steps-c/') ||
329
+ instructionsContent.includes('`{skill-root}/steps-v/') ||
330
+ instructionsContent.includes('`{skill-root}/steps-e/'),
331
+ `${dirName}/instructions.md anchors step entrypoints to {skill-root}`,
332
+ );
333
+ } catch (error) {
334
+ assert(false, `${dirName}/instructions.md validates`, error.message);
335
+ }
336
+ }
337
+
338
+ for (const stepDir of ['steps-c', 'steps-e', 'steps-v']) {
339
+ const stepDirPath = path.join(projectRoot, `src/workflows/testarch/${dirName}/${stepDir}`);
340
+ if (!(await pathExists(stepDirPath))) continue;
341
+
342
+ const stepFiles = (await fs.readdir(stepDirPath)).filter((fileName) => fileName.endsWith('.md'));
343
+ for (const fileName of stepFiles) {
344
+ const stepPath = path.join(stepDirPath, fileName);
345
+ try {
346
+ const stepContent = await fs.readFile(stepPath, 'utf8');
347
+ const stepLabel = `${dirName}/${stepDir}/${fileName}`;
348
+
349
+ assert(!stepContent.includes("nextStepFile: './"), `${stepLabel} has no cwd-sensitive nextStepFile`);
350
+ if (stepContent.includes('nextStepFile:')) {
351
+ assert(/nextStepFile: '\{skill-root\}\/steps-[cev]\//.test(stepContent), `${stepLabel} anchors nextStepFile to {skill-root}`);
352
+ }
353
+
354
+ assert(!stepContent.includes("validationChecklist: '../checklist.md'"), `${stepLabel} has no relative validation checklist path`);
355
+ if (stepContent.includes('validationChecklist:')) {
356
+ assert(
357
+ stepContent.includes("validationChecklist: '{skill-root}/checklist.md'"),
358
+ `${stepLabel} anchors validationChecklist to {skill-root}`,
359
+ );
360
+ }
361
+
362
+ assert(!stepContent.includes("checklistFile: '../checklist.md'"), `${stepLabel} has no relative checklistFile path`);
363
+ if (stepContent.includes('checklistFile:')) {
364
+ assert(
365
+ stepContent.includes("checklistFile: '{skill-root}/checklist.md'"),
366
+ `${stepLabel} anchors checklistFile to {skill-root}`,
367
+ );
368
+ }
369
+
370
+ assert(!stepContent.includes("workflowPath: '../'"), `${stepLabel} has no relative workflowPath`);
371
+ if (stepContent.includes('workflowPath:')) {
372
+ assert(stepContent.includes("workflowPath: '{skill-root}'"), `${stepLabel} anchors workflowPath to {skill-root}`);
373
+ }
374
+ } catch (error) {
375
+ assert(false, `${dirName}/${stepDir}/${fileName} validates`, error.message);
376
+ }
377
+ }
378
+ }
235
379
  }
236
380
 
237
381
  const frameworkScaffoldStepPath = path.join(
@@ -88,7 +88,12 @@ function runTests() {
88
88
  const csv = fs.readFileSync(indexPath, 'utf8');
89
89
  records = parse(csv, { columns: true, skip_empty_lines: true });
90
90
 
91
- assert(records.length === 42, 'tea-index.csv has 42 fragment records', `Found ${records.length}`);
91
+ const expectedFragmentCount = fs.readdirSync(path.join(kbRoot, 'knowledge')).filter((f) => f.endsWith('.md')).length;
92
+ assert(
93
+ records.length === expectedFragmentCount,
94
+ `tea-index.csv has ${expectedFragmentCount} fragment records`,
95
+ `Found ${records.length}`,
96
+ );
92
97
 
93
98
  const requiredFields = ['id', 'name', 'description', 'tags', 'tier', 'fragment_file'];
94
99
  const missingFields = requiredFields.filter((field) => !Object.prototype.hasOwnProperty.call(records[0] || {}, field));
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Release metadata validation for publishable builds.
3
+ *
4
+ * Verifies:
5
+ * - package.json, package-lock.json, and marketplace.json share the same version
6
+ * - the package is not marked private
7
+ * - publishConfig.access remains public
8
+ *
9
+ * Usage: node test/test-release-metadata.js
10
+ */
11
+
12
+ const fs = require('node:fs');
13
+ const path = require('node:path');
14
+
15
+ const projectRoot = path.join(__dirname, '..');
16
+ const packageJsonPath = path.join(projectRoot, 'package.json');
17
+ const packageLockPath = path.join(projectRoot, 'package-lock.json');
18
+ const marketplacePath = path.join(projectRoot, '.claude-plugin', 'marketplace.json');
19
+
20
+ function readJson(filePath, label) {
21
+ try {
22
+ return JSON.parse(fs.readFileSync(filePath, 'utf8'));
23
+ } catch (error) {
24
+ console.error(`Release metadata validation failed: unable to read ${label} at ${filePath}`);
25
+ console.error(error.message);
26
+ process.exit(1);
27
+ }
28
+ }
29
+
30
+ const packageJson = readJson(packageJsonPath, 'package.json');
31
+ const packageLock = readJson(packageLockPath, 'package-lock.json');
32
+ const marketplace = readJson(marketplacePath, '.claude-plugin/marketplace.json');
33
+ const marketplacePlugin = (marketplace.plugins || []).find((plugin) => plugin && plugin.name === packageJson.name);
34
+
35
+ const errors = [];
36
+
37
+ if (packageJson.private === true) {
38
+ errors.push('package.json must not set "private": true when publishing to npm.');
39
+ }
40
+
41
+ if (packageJson.publishConfig?.access !== 'public') {
42
+ errors.push('package.json must set publishConfig.access to "public".');
43
+ }
44
+
45
+ if (packageLock.version !== packageJson.version) {
46
+ errors.push(`package-lock.json version ${packageLock.version} does not match package.json version ${packageJson.version}.`);
47
+ }
48
+
49
+ if (packageLock.packages?.['']?.version !== packageJson.version) {
50
+ errors.push(
51
+ `package-lock.json root package version ${packageLock.packages?.['']?.version} does not match package.json version ${packageJson.version}.`,
52
+ );
53
+ }
54
+
55
+ if (!marketplacePlugin) {
56
+ errors.push(`.claude-plugin/marketplace.json is missing the plugin entry for ${packageJson.name}.`);
57
+ } else if (marketplacePlugin.version !== packageJson.version) {
58
+ errors.push(
59
+ `.claude-plugin/marketplace.json version ${marketplacePlugin.version} does not match package.json version ${packageJson.version}.`,
60
+ );
61
+ }
62
+
63
+ if (errors.length > 0) {
64
+ console.error('Release metadata validation failed:\n');
65
+ for (const error of errors) {
66
+ console.error(`- ${error}`);
67
+ }
68
+ process.exit(1);
69
+ }
70
+
71
+ console.log(`Release metadata is synchronized and publishable for v${packageJson.version}.`);
@@ -4,6 +4,8 @@
4
4
  * Scans for agent definitions in src/agents/:
5
5
  * - Legacy format: *.agent.yaml (validated against Zod schema)
6
6
  * - Native skill format: {name}/bmad-skill-manifest.yaml + SKILL.md
7
+ * - BMM native format: {name}/customize.toml + SKILL.md, with the agent's
8
+ * essence declared under the top-level agents: array in src/module.yaml
7
9
  *
8
10
  * Usage: node tools/validate-agent-schema.js [project_root]
9
11
  * Exit codes: 0 = success, 1 = validation failures
@@ -41,6 +43,77 @@ async function main(customProjectRoot) {
41
43
  absolute: true,
42
44
  });
43
45
 
46
+ // BMM-native agents: customize.toml + SKILL.md, with essence in module.yaml agents: array
47
+ const bmmAgents = await glob('src/agents/*/customize.toml', {
48
+ cwd: project_root,
49
+ absolute: true,
50
+ });
51
+
52
+ // If no legacy agents and no manifest-style agents, fall through to BMM-native validation
53
+ if (agentFiles.length === 0 && skillManifests.length === 0 && bmmAgents.length > 0) {
54
+ console.log(`Found ${bmmAgents.length} BMM-native agent(s) (customize.toml + SKILL.md + module.yaml agents:)\n`);
55
+
56
+ const moduleYamlPath = path.join(project_root, 'src/module.yaml');
57
+ let moduleAgents = [];
58
+ if (fs.existsSync(moduleYamlPath)) {
59
+ try {
60
+ const parsed = yaml.parse(fs.readFileSync(moduleYamlPath, 'utf8'));
61
+ if (parsed && Array.isArray(parsed.agents)) moduleAgents = parsed.agents;
62
+ } catch (error) {
63
+ console.log(`❌ Failed to parse src/module.yaml: ${error.message}`);
64
+ process.exit(1);
65
+ }
66
+ }
67
+
68
+ const bmmErrors = [];
69
+ for (const customizePath of bmmAgents) {
70
+ const relativePath = path.relative(process.cwd(), customizePath);
71
+ const agentDir = path.dirname(customizePath);
72
+ const agentCode = path.basename(agentDir);
73
+ const issues = [];
74
+
75
+ if (!fs.existsSync(path.join(agentDir, 'SKILL.md'))) {
76
+ issues.push({ message: 'Missing SKILL.md file alongside customize.toml' });
77
+ }
78
+
79
+ const customizeRaw = fs.readFileSync(customizePath, 'utf8');
80
+ if (!customizeRaw.includes('[agent]')) {
81
+ issues.push({ message: 'customize.toml must declare an [agent] section' });
82
+ }
83
+
84
+ const rosterEntry = moduleAgents.find((entry) => entry && entry.code === agentCode);
85
+ if (rosterEntry) {
86
+ const requiredRosterFields = ['name', 'title', 'icon', 'description', 'team'];
87
+ const missing = requiredRosterFields.filter((f) => !rosterEntry[f]);
88
+ if (missing.length > 0) {
89
+ issues.push({ message: `src/module.yaml agents: entry for "${agentCode}" missing fields: ${missing.join(', ')}` });
90
+ }
91
+ } else {
92
+ issues.push({
93
+ message: `No matching entry in src/module.yaml agents: for code "${agentCode}" — the BMM central config roster won't pick this agent up on install`,
94
+ });
95
+ }
96
+
97
+ if (issues.length > 0) {
98
+ bmmErrors.push({ file: relativePath, issues });
99
+ } else {
100
+ console.log(`✅ ${relativePath}`);
101
+ }
102
+ }
103
+
104
+ if (bmmErrors.length > 0) {
105
+ console.log('\n❌ Validation failed:\n');
106
+ for (const { file, issues } of bmmErrors) {
107
+ console.log(`\n📄 ${file}`);
108
+ for (const issue of issues) console.log(` Error: ${issue.message}`);
109
+ }
110
+ process.exit(1);
111
+ }
112
+
113
+ console.log(`\n✨ All ${bmmAgents.length} BMM-native agent(s) passed validation!\n`);
114
+ process.exit(0);
115
+ }
116
+
44
117
  // If no legacy agents found, validate native skills or fail
45
118
  if (agentFiles.length === 0) {
46
119
  if (skillManifests.length > 0) {
@@ -16,7 +16,7 @@ persona:
16
16
  - "Evidence matters more than opinions."
17
17
 
18
18
  menu:
19
- - trigger: skill:bmad-ma-agent-sqa
19
+ - trigger: skill:ma-agent-sqa
20
20
  description: "Activate Gad — Software Quality Assurance Expert"
21
21
 
22
22
  critical_actions: