bmad-plus 0.7.5 → 0.9.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 (281) hide show
  1. package/CHANGELOG.md +479 -425
  2. package/LICENSE +21 -21
  3. package/README.md +557 -447
  4. package/osint-agent-package/README.md +88 -88
  5. package/osint-agent-package/SETUP_KEYS.md +108 -108
  6. package/osint-agent-package/agents/osint-investigator.md +80 -80
  7. package/osint-agent-package/install.ps1 +87 -87
  8. package/osint-agent-package/install.sh +76 -76
  9. package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
  10. package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +452 -452
  11. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +116 -116
  12. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
  13. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
  14. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
  15. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
  16. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
  17. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
  18. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -260
  19. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
  20. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
  21. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
  22. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
  23. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
  24. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
  25. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
  26. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
  27. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
  28. package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
  29. package/package.json +62 -57
  30. package/readme-international/README.de.md +584 -426
  31. package/readme-international/README.es.md +601 -518
  32. package/readme-international/README.fr.md +599 -516
  33. package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
  34. package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
  35. package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
  36. package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
  37. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
  38. package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
  39. package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
  40. package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
  41. package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
  42. package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
  43. package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
  44. package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
  45. package/src/bmad-plus/data/role-triggers.yaml +209 -209
  46. package/src/bmad-plus/module-help.csv +10 -10
  47. package/src/bmad-plus/module.yaml +283 -280
  48. package/src/bmad-plus/{agents → packs}/pack-animated/animated-website-agent.md +325 -325
  49. package/src/bmad-plus/{agents → packs}/pack-animated/templates/animated-website-workflow.md +55 -55
  50. package/src/bmad-plus/{agents → packs}/pack-backup/backup-agent.md +71 -71
  51. package/src/bmad-plus/{agents → packs}/pack-backup/templates/backup-workflow.md +51 -51
  52. package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
  70. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
  71. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
  72. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
  73. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
  74. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
  75. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
  76. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
  77. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
  78. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
  79. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
  80. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
  81. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
  82. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
  83. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
  84. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
  85. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
  86. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
  87. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
  88. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
  89. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
  90. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
  91. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
  92. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
  93. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
  94. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
  95. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
  96. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
  97. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
  98. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
  99. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
  100. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
  101. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
  102. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
  103. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
  104. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
  105. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
  106. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
  107. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
  108. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
  109. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
  110. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
  111. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
  112. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
  113. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
  114. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
  115. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
  116. package/src/bmad-plus/packs/pack-memory/README.md +106 -106
  117. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
  118. package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
  119. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
  120. package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
  121. package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
  122. package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
  123. package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
  124. package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
  125. package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
  126. package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
  127. package/src/bmad-plus/{agents → packs}/pack-seo/SKILL.md +171 -171
  128. package/src/bmad-plus/packs/pack-seo/bmad-skill-manifest.yaml +13 -0
  129. package/src/bmad-plus/{agents → packs}/pack-seo/checklist.md +140 -140
  130. package/src/bmad-plus/{agents → packs}/pack-seo/pagespeed-playbook.md +320 -320
  131. package/src/bmad-plus/{agents → packs}/pack-seo/ref/audit-schema.json +187 -187
  132. package/src/bmad-plus/{agents → packs}/pack-seo/ref/cwv-thresholds.md +87 -87
  133. package/src/bmad-plus/{agents → packs}/pack-seo/ref/eeat-criteria.md +123 -123
  134. package/src/bmad-plus/{agents → packs}/pack-seo/ref/geo-signals.md +167 -167
  135. package/src/bmad-plus/{agents → packs}/pack-seo/ref/hreflang-rules.md +153 -153
  136. package/src/bmad-plus/{agents → packs}/pack-seo/ref/quality-gates.md +133 -133
  137. package/src/bmad-plus/{agents → packs}/pack-seo/ref/schema-catalog.md +91 -91
  138. package/src/bmad-plus/{agents → packs}/pack-seo/ref/schema-templates.json +356 -356
  139. package/src/bmad-plus/{agents → packs}/pack-seo/seo-chief.md +294 -294
  140. package/src/bmad-plus/{agents → packs}/pack-seo/seo-judge.md +241 -241
  141. package/src/bmad-plus/{agents → packs}/pack-seo/seo-scout.md +171 -171
  142. package/src/bmad-plus/{agents → packs}/pack-seo/templates/seo-audit-workflow.md +241 -241
  143. package/src/bmad-plus/packs/pack-shield/README.md +110 -110
  144. package/src/bmad-plus/packs/pack-shield/SKILL.md +82 -0
  145. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +262 -262
  146. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +179 -179
  147. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +201 -201
  148. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +97 -97
  149. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +251 -251
  150. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +133 -133
  151. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +221 -221
  152. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +150 -150
  153. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +167 -167
  154. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +83 -83
  155. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +250 -250
  156. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +218 -218
  157. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
  158. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
  159. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
  160. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
  161. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
  162. package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +127 -127
  163. package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +272 -272
  164. package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +202 -202
  165. package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +367 -367
  166. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +510 -510
  167. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +247 -247
  168. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +173 -173
  169. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +239 -239
  170. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +266 -266
  171. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +164 -164
  172. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
  173. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
  174. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
  175. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
  176. package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
  177. package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
  178. package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
  179. package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
  180. package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
  181. package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
  182. package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
  183. package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
  184. package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
  185. package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
  186. package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
  187. package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
  188. package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
  189. package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
  190. package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
  191. package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
  192. package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
  193. package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
  194. package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
  195. package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
  196. package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
  197. package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
  198. package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
  199. package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
  200. package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
  201. package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
  202. package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
  203. package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
  204. package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
  205. package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
  206. package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
  207. package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
  208. package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
  209. package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
  210. package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
  211. package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
  212. package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
  213. package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
  214. package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
  215. package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
  216. package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
  217. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
  218. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
  219. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
  220. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
  221. package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
  222. package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
  223. package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
  224. package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
  225. package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
  226. package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
  227. package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
  228. package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
  229. package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
  230. package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
  231. package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
  232. package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
  233. package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
  234. package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
  235. package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
  236. package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
  237. package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
  238. package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
  239. package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
  240. package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
  241. package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
  242. package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
  243. package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
  244. package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
  245. package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
  246. package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
  247. package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
  248. package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
  249. package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
  250. package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
  251. package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
  252. package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
  253. package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
  254. package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
  255. package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
  256. package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
  257. package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
  258. package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
  259. package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
  260. package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
  261. package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
  262. package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
  263. package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
  264. package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
  265. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
  266. package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
  267. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
  268. package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
  269. package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
  270. package/tools/bmad-plus-npx.js +3 -5
  271. package/tools/cli/commands/autoconfig.js +508 -489
  272. package/tools/cli/commands/doctor.js +219 -222
  273. package/tools/cli/commands/install.js +548 -739
  274. package/tools/cli/commands/memory.js +194 -194
  275. package/tools/cli/commands/scan.js +362 -350
  276. package/tools/cli/commands/uninstall.js +96 -96
  277. package/tools/cli/commands/update.js +116 -174
  278. package/tools/cli/i18n.js +845 -763
  279. package/tools/cli/lib/memory-init.js +114 -0
  280. package/tools/cli/lib/pack-copy.js +84 -0
  281. package/tools/cli/lib/packs.js +114 -0
@@ -1,66 +1,66 @@
1
- ---
2
- name: bmad-index-docs
3
- description: 'Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder'
4
- ---
5
-
6
- # Index Docs
7
-
8
- **Goal:** Generate or update an index.md to reference all docs in a target folder.
9
-
10
-
11
- ## EXECUTION
12
-
13
- ### Step 1: Scan Directory
14
-
15
- - List all files and subdirectories in the target location
16
-
17
- ### Step 2: Group Content
18
-
19
- - Organize files by type, purpose, or subdirectory
20
-
21
- ### Step 3: Generate Descriptions
22
-
23
- - Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename
24
-
25
- ### Step 4: Create/Update Index
26
-
27
- - Write or update index.md with organized file listings
28
-
29
-
30
- ## OUTPUT FORMAT
31
-
32
- ```markdown
33
- # Directory Index
34
-
35
- ## Files
36
-
37
- - **[filename.ext](./filename.ext)** - Brief description
38
- - **[another-file.ext](./another-file.ext)** - Brief description
39
-
40
- ## Subdirectories
41
-
42
- ### subfolder/
43
-
44
- - **[file1.ext](./subfolder/file1.ext)** - Brief description
45
- - **[file2.ext](./subfolder/file2.ext)** - Brief description
46
-
47
- ### another-folder/
48
-
49
- - **[file3.ext](./another-folder/file3.ext)** - Brief description
50
- ```
51
-
52
-
53
- ## HALT CONDITIONS
54
-
55
- - HALT if target directory does not exist or is inaccessible
56
- - HALT if user does not have write permissions to create index.md
57
-
58
-
59
- ## VALIDATION
60
-
61
- - Use relative paths starting with ./
62
- - Group similar files together
63
- - Read file contents to generate accurate descriptions - don't guess from filenames
64
- - Keep descriptions concise but informative (3-10 words)
65
- - Sort alphabetically within groups
66
- - Skip hidden files (starting with .) unless specified
1
+ ---
2
+ name: bmad-index-docs
3
+ description: 'Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder'
4
+ ---
5
+
6
+ # Index Docs
7
+
8
+ **Goal:** Generate or update an index.md to reference all docs in a target folder.
9
+
10
+
11
+ ## EXECUTION
12
+
13
+ ### Step 1: Scan Directory
14
+
15
+ - List all files and subdirectories in the target location
16
+
17
+ ### Step 2: Group Content
18
+
19
+ - Organize files by type, purpose, or subdirectory
20
+
21
+ ### Step 3: Generate Descriptions
22
+
23
+ - Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename
24
+
25
+ ### Step 4: Create/Update Index
26
+
27
+ - Write or update index.md with organized file listings
28
+
29
+
30
+ ## OUTPUT FORMAT
31
+
32
+ ```markdown
33
+ # Directory Index
34
+
35
+ ## Files
36
+
37
+ - **[filename.ext](./filename.ext)** - Brief description
38
+ - **[another-file.ext](./another-file.ext)** - Brief description
39
+
40
+ ## Subdirectories
41
+
42
+ ### subfolder/
43
+
44
+ - **[file1.ext](./subfolder/file1.ext)** - Brief description
45
+ - **[file2.ext](./subfolder/file2.ext)** - Brief description
46
+
47
+ ### another-folder/
48
+
49
+ - **[file3.ext](./another-folder/file3.ext)** - Brief description
50
+ ```
51
+
52
+
53
+ ## HALT CONDITIONS
54
+
55
+ - HALT if target directory does not exist or is inaccessible
56
+ - HALT if user does not have write permissions to create index.md
57
+
58
+
59
+ ## VALIDATION
60
+
61
+ - Use relative paths starting with ./
62
+ - Group similar files together
63
+ - Read file contents to generate accurate descriptions - don't guess from filenames
64
+ - Keep descriptions concise but informative (3-10 words)
65
+ - Sort alphabetically within groups
66
+ - Skip hidden files (starting with .) unless specified
@@ -1,128 +1,128 @@
1
- ---
2
- name: bmad-party-mode
3
- description: 'Orchestrates group discussions between installed BMAD agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
4
- ---
5
-
6
- # Party Mode
7
-
8
- Facilitate roundtable discussions where BMAD agents participate as **real subagents** — each spawned independently via the Agent tool so they think for themselves. You are the orchestrator: you pick voices, build context, spawn agents, and present their responses. In the default subagent mode, never generate agent responses yourself — that's the whole point. In `--solo` mode, you roleplay all agents directly.
9
-
10
- ## Why This Matters
11
-
12
- The whole point of party mode is that each agent produces a genuinely independent perspective. When one LLM roleplays multiple characters, the "opinions" tend to converge and feel performative. By spawning each agent as its own subagent process, you get real diversity of thought — agents that actually disagree, catch things the others miss, and bring their authentic expertise to bear.
13
-
14
- ## Arguments
15
-
16
- Party mode accepts optional arguments when invoked:
17
-
18
- - `--model <model>` — Force all subagents to use a specific model (e.g. `--model haiku`, `--model opus`). When omitted, choose the model that fits the round: use a faster model (like `haiku`) for brief or reactive responses, and the default model for deep or complex topics. Match model weight to the depth of thinking the round requires.
19
- - `--solo` — Run without subagents. Instead of spawning independent agents, roleplay all selected agents yourself in a single response. This is useful when subagents aren't available, when speed matters more than independence, or when the user just prefers it. Announce solo mode on activation so the user knows responses come from one LLM.
20
-
21
- ## On Activation
22
-
23
- 1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
24
-
25
- 2. Load config from `{project-root}/core/config.yaml` and resolve:
26
- - Use `{user_name}` for greeting
27
- - Use `{communication_language}` for all communications
28
-
29
- 3. **Resolve the agent roster** by running:
30
-
31
- ```bash
32
- <!-- Adapted for BMAD+: original script dependency removed -->
33
- ```
34
-
35
- The resolver merges four layers in order: `config.toml` (installer base, team-scoped), `config.user.toml` (installer base, user-scoped), `config.toml` (team overrides), and `config.user.toml` (personal overrides). Each entry under `agents` is keyed by the agent's `code` and carries `name`, `title`, `icon`, `description`, `module`, and `team`. Build an internal roster of available agents from those fields.
36
-
37
- 4. **Load project context** — search for `**/project-context.md`. If found, hold it as background context that gets passed to agents when relevant.
38
-
39
- 5. **Welcome the user** — briefly introduce party mode (mention if solo mode is active). Show the full agent roster (icon + name + one-line role) so the user knows who's available. Ask what they'd like to discuss.
40
-
41
- ## The Core Loop
42
-
43
- For each user message:
44
-
45
- ### 1. Pick the Right Voices
46
-
47
- Choose 2-4 agents whose expertise is most relevant to what the user is asking. Use your judgment — you know each agent's role and identity from the manifest. Some guidelines:
48
-
49
- - **Simple question**: 2 agents with the most relevant expertise
50
- - **Complex or cross-cutting topic**: 3-4 agents from different domains
51
- - **User names specific agents**: Always include those, plus 1-2 complementary voices
52
- - **User asks an agent to respond to another**: Spawn just that agent with the other's response as context
53
- - **Rotate over time** — avoid the same 2 agents dominating every round
54
-
55
- ### 2. Build Context and Spawn
56
-
57
- For each selected agent, spawn a subagent using the Agent tool. Each subagent gets:
58
-
59
- **The agent prompt** (built from the resolved roster entry):
60
- ```
61
- You are {name} ({title}), a BMAD agent in a collaborative roundtable discussion.
62
-
63
- ## Your Persona
64
- {icon} {name} — {description}
65
-
66
- ## Discussion Context
67
- {summary of the conversation so far — keep under 400 words}
68
-
69
- {project context if relevant}
70
-
71
- ## What Other Agents Said This Round
72
- {if this is a cross-talk or reaction request, include the responses being reacted to — otherwise omit this section}
73
-
74
- ## The User's Message
75
- {the user's actual message}
76
-
77
- ## Guidelines
78
- - Respond authentically as {name}. Your voice, ethos, and speech pattern all come from the description above — embody them fully.
79
- - Start your response with: {icon} **{name}:**
80
- - Speak in {communication_language}.
81
- - Scale your response to the substance — don't pad. If you have a brief point, make it briefly.
82
- - Disagree with other agents when your perspective tells you to. Don't hedge or be polite about it.
83
- - If you have nothing substantive to add, say so in one sentence rather than manufacturing an opinion.
84
- - You may ask the user direct questions if something needs clarification.
85
- - Do NOT use tools. Just respond with your perspective.
86
- ```
87
-
88
- **Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. If `--model` was specified, use that model for all subagents. Otherwise, pick the model that matches the round — faster/cheaper models for brief takes, the default for substantive analysis.
89
-
90
- **Solo mode** — if `--solo` is active, skip spawning. Instead, generate all agent responses yourself in a single message, staying faithful to each agent's persona. Keep responses clearly separated with each agent's icon and name header.
91
-
92
- ### 3. Present Responses
93
-
94
- Present each agent's full response to the user — distinct, complete, and in their own voice. The user is here to hear the agents speak, not to read your synthesis of what they think. Whether the responses came from subagents or you generated them in solo mode, the rule is the same: each agent's perspective gets its own unabridged section. Never blend, paraphrase, or condense agent responses into a summary.
95
-
96
- The format is simple: each agent's response one after another, separated by a blank line. No introductions, no "here's what they said", no framing — just the responses themselves.
97
-
98
- After all agent responses are presented in full, you may optionally add a brief **Orchestrator Note** — flagging a disagreement worth exploring, or suggesting an agent to bring in next round. Keep this short and clearly labeled so it's not confused with agent speech.
99
-
100
- ### 4. Handle Follow-ups
101
-
102
- The user drives what happens next. Common patterns:
103
-
104
- | User says... | You do... |
105
- |---|---|
106
- | Continues the general discussion | Pick fresh agents, repeat the loop |
107
- | "Bezalel, what do you think about what Rachel said?" | Spawn just Bezalel with Rachel's response as context |
108
- | "Bring in Oholiab on this" | Spawn Oholiab with a summary of the discussion so far |
109
- | "I agree with Yosef, let's go deeper on that" | Spawn Yosef + 1-2 others to expand on Yosef's point |
110
- | "What would Miriam and Oholiab think about Bezalel's approach?" | Spawn Miriam and Oholiab with Bezalel's response as context |
111
- | Asks a question directed at everyone | Back to step 1 with all agents |
112
-
113
- The key insight: you can spawn any combination at any time. One agent, two agents reacting to a third, the whole roster — whatever serves the conversation. Each spawn is cheap and independent.
114
-
115
- ## Keeping Context Manageable
116
-
117
- As the conversation grows, you'll need to summarize prior rounds rather than passing the full transcript to each subagent. Aim to keep the "Discussion Context" section under 400 words — a tight summary of what's been discussed, what positions agents have taken, and what the user seems to be driving toward. Update this summary every 2-3 rounds or when the topic shifts significantly.
118
-
119
- ## When Things Go Sideways
120
-
121
- - **Agents are all saying the same thing**: Bring in a contrarian voice, or ask a specific agent to play devil's advocate by framing the prompt that way.
122
- - **Discussion is going in circles**: Summarize the impasse and ask the user what angle they want to explore next.
123
- - **User seems disengaged**: Ask directly — continue, change topic, or wrap up?
124
- - **Agent gives a weak response**: Don't retry. Present it and let the user decide if they want more from that agent.
125
-
126
- ## Exit
127
-
1
+ ---
2
+ name: bmad-party-mode
3
+ description: 'Orchestrates group discussions between installed BMAD agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
4
+ ---
5
+
6
+ # Party Mode
7
+
8
+ Facilitate roundtable discussions where BMAD agents participate as **real subagents** — each spawned independently via the Agent tool so they think for themselves. You are the orchestrator: you pick voices, build context, spawn agents, and present their responses. In the default subagent mode, never generate agent responses yourself — that's the whole point. In `--solo` mode, you roleplay all agents directly.
9
+
10
+ ## Why This Matters
11
+
12
+ The whole point of party mode is that each agent produces a genuinely independent perspective. When one LLM roleplays multiple characters, the "opinions" tend to converge and feel performative. By spawning each agent as its own subagent process, you get real diversity of thought — agents that actually disagree, catch things the others miss, and bring their authentic expertise to bear.
13
+
14
+ ## Arguments
15
+
16
+ Party mode accepts optional arguments when invoked:
17
+
18
+ - `--model <model>` — Force all subagents to use a specific model (e.g. `--model haiku`, `--model opus`). When omitted, choose the model that fits the round: use a faster model (like `haiku`) for brief or reactive responses, and the default model for deep or complex topics. Match model weight to the depth of thinking the round requires.
19
+ - `--solo` — Run without subagents. Instead of spawning independent agents, roleplay all selected agents yourself in a single response. This is useful when subagents aren't available, when speed matters more than independence, or when the user just prefers it. Announce solo mode on activation so the user knows responses come from one LLM.
20
+
21
+ ## On Activation
22
+
23
+ 1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
24
+
25
+ 2. Load config from `{project-root}/core/config.yaml` and resolve:
26
+ - Use `{user_name}` for greeting
27
+ - Use `{communication_language}` for all communications
28
+
29
+ 3. **Resolve the agent roster** by running:
30
+
31
+ ```bash
32
+ <!-- Adapted for BMAD+: original script dependency removed -->
33
+ ```
34
+
35
+ The resolver merges four layers in order: `config.toml` (installer base, team-scoped), `config.user.toml` (installer base, user-scoped), `config.toml` (team overrides), and `config.user.toml` (personal overrides). Each entry under `agents` is keyed by the agent's `code` and carries `name`, `title`, `icon`, `description`, `module`, and `team`. Build an internal roster of available agents from those fields.
36
+
37
+ 4. **Load project context** — search for `**/project-context.md`. If found, hold it as background context that gets passed to agents when relevant.
38
+
39
+ 5. **Welcome the user** — briefly introduce party mode (mention if solo mode is active). Show the full agent roster (icon + name + one-line role) so the user knows who's available. Ask what they'd like to discuss.
40
+
41
+ ## The Core Loop
42
+
43
+ For each user message:
44
+
45
+ ### 1. Pick the Right Voices
46
+
47
+ Choose 2-4 agents whose expertise is most relevant to what the user is asking. Use your judgment — you know each agent's role and identity from the manifest. Some guidelines:
48
+
49
+ - **Simple question**: 2 agents with the most relevant expertise
50
+ - **Complex or cross-cutting topic**: 3-4 agents from different domains
51
+ - **User names specific agents**: Always include those, plus 1-2 complementary voices
52
+ - **User asks an agent to respond to another**: Spawn just that agent with the other's response as context
53
+ - **Rotate over time** — avoid the same 2 agents dominating every round
54
+
55
+ ### 2. Build Context and Spawn
56
+
57
+ For each selected agent, spawn a subagent using the Agent tool. Each subagent gets:
58
+
59
+ **The agent prompt** (built from the resolved roster entry):
60
+ ```
61
+ You are {name} ({title}), a BMAD agent in a collaborative roundtable discussion.
62
+
63
+ ## Your Persona
64
+ {icon} {name} — {description}
65
+
66
+ ## Discussion Context
67
+ {summary of the conversation so far — keep under 400 words}
68
+
69
+ {project context if relevant}
70
+
71
+ ## What Other Agents Said This Round
72
+ {if this is a cross-talk or reaction request, include the responses being reacted to — otherwise omit this section}
73
+
74
+ ## The User's Message
75
+ {the user's actual message}
76
+
77
+ ## Guidelines
78
+ - Respond authentically as {name}. Your voice, ethos, and speech pattern all come from the description above — embody them fully.
79
+ - Start your response with: {icon} **{name}:**
80
+ - Speak in {communication_language}.
81
+ - Scale your response to the substance — don't pad. If you have a brief point, make it briefly.
82
+ - Disagree with other agents when your perspective tells you to. Don't hedge or be polite about it.
83
+ - If you have nothing substantive to add, say so in one sentence rather than manufacturing an opinion.
84
+ - You may ask the user direct questions if something needs clarification.
85
+ - Do NOT use tools. Just respond with your perspective.
86
+ ```
87
+
88
+ **Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. If `--model` was specified, use that model for all subagents. Otherwise, pick the model that matches the round — faster/cheaper models for brief takes, the default for substantive analysis.
89
+
90
+ **Solo mode** — if `--solo` is active, skip spawning. Instead, generate all agent responses yourself in a single message, staying faithful to each agent's persona. Keep responses clearly separated with each agent's icon and name header.
91
+
92
+ ### 3. Present Responses
93
+
94
+ Present each agent's full response to the user — distinct, complete, and in their own voice. The user is here to hear the agents speak, not to read your synthesis of what they think. Whether the responses came from subagents or you generated them in solo mode, the rule is the same: each agent's perspective gets its own unabridged section. Never blend, paraphrase, or condense agent responses into a summary.
95
+
96
+ The format is simple: each agent's response one after another, separated by a blank line. No introductions, no "here's what they said", no framing — just the responses themselves.
97
+
98
+ After all agent responses are presented in full, you may optionally add a brief **Orchestrator Note** — flagging a disagreement worth exploring, or suggesting an agent to bring in next round. Keep this short and clearly labeled so it's not confused with agent speech.
99
+
100
+ ### 4. Handle Follow-ups
101
+
102
+ The user drives what happens next. Common patterns:
103
+
104
+ | User says... | You do... |
105
+ |---|---|
106
+ | Continues the general discussion | Pick fresh agents, repeat the loop |
107
+ | "Bezalel, what do you think about what Rachel said?" | Spawn just Bezalel with Rachel's response as context |
108
+ | "Bring in Oholiab on this" | Spawn Oholiab with a summary of the discussion so far |
109
+ | "I agree with Yosef, let's go deeper on that" | Spawn Yosef + 1-2 others to expand on Yosef's point |
110
+ | "What would Miriam and Oholiab think about Bezalel's approach?" | Spawn Miriam and Oholiab with Bezalel's response as context |
111
+ | Asks a question directed at everyone | Back to step 1 with all agents |
112
+
113
+ The key insight: you can spawn any combination at any time. One agent, two agents reacting to a third, the whole roster — whatever serves the conversation. Each spawn is cheap and independent.
114
+
115
+ ## Keeping Context Manageable
116
+
117
+ As the conversation grows, you'll need to summarize prior rounds rather than passing the full transcript to each subagent. Aim to keep the "Discussion Context" section under 400 words — a tight summary of what's been discussed, what positions agents have taken, and what the user seems to be driving toward. Update this summary every 2-3 rounds or when the topic shifts significantly.
118
+
119
+ ## When Things Go Sideways
120
+
121
+ - **Agents are all saying the same thing**: Bring in a contrarian voice, or ask a specific agent to play devil's advocate by framing the prompt that way.
122
+ - **Discussion is going in circles**: Summarize the impasse and ask the user what angle they want to explore next.
123
+ - **User seems disengaged**: Ask directly — continue, change topic, or wrap up?
124
+ - **Agent gives a weak response**: Don't retry. Present it and let the user decide if they want more from that agent.
125
+
126
+ ## Exit
127
+
128
128
  When the user says they're done (any natural phrasing — "thanks", "that's all", "end party mode", etc.), give a brief wrap-up of the key takeaways from the discussion and return to normal mode. Don't force exit triggers — just read the room.
@@ -1,105 +1,105 @@
1
- ---
2
- name: bmad-shard-doc
3
- description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
4
- ---
5
-
6
- # Shard Document
7
-
8
- **Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan/markdown-tree-parser`.
9
-
10
- ## CRITICAL RULES
11
-
12
- - MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER
13
- - DO NOT skip steps or change the sequence
14
- - HALT immediately when halt-conditions are met
15
- - Each action within a step is a REQUIRED action to complete that step
16
-
17
- ## EXECUTION
18
-
19
- ### Step 1: Get Source Document
20
-
21
- - Ask user for the source document path if not provided already
22
- - Verify file exists and is accessible
23
- - Verify file is markdown format (.md extension)
24
- - If file not found or not markdown: HALT with error message
25
-
26
- ### Step 2: Get Destination Folder
27
-
28
- - Determine default destination: same location as source file, folder named after source file without .md extension
29
- - Example: `/path/to/architecture.md` --> `/path/to/architecture/`
30
- - Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)
31
- - If user accepts default: use the suggested destination path
32
- - If user provides custom path: use the custom destination path
33
- - Verify destination folder exists or can be created
34
- - Check write permissions for destination
35
- - If permission denied: HALT with error message
36
-
37
- ### Step 3: Execute Sharding
38
-
39
- - Inform user that sharding is beginning
40
- - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`
41
- - Capture command output and any errors
42
- - If command fails: HALT and display error to user
43
-
44
- ### Step 4: Verify Output
45
-
46
- - Check that destination folder contains sharded files
47
- - Verify index.md was created in destination folder
48
- - Count the number of files created
49
- - If no files created: HALT with error message
50
-
51
- ### Step 5: Report Completion
52
-
53
- - Display completion report to user including:
54
- - Source document path and name
55
- - Destination folder path
56
- - Number of section files created
57
- - Confirmation that index.md was created
58
- - Any tool output or warnings
59
- - Inform user that sharding completed successfully
60
-
61
- ### Step 6: Handle Original Document
62
-
63
- > **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.
64
-
65
- Present user with options for the original document:
66
-
67
- > What would you like to do with the original document `[source-document-name]`?
68
- >
69
- > Options:
70
- > - `[d]` Delete - Remove the original (recommended - shards can always be recombined)
71
- > - `[m]` Move to archive - Move original to a backup/archive location
72
- > - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)
73
- >
74
- > Your choice (d/m/k):
75
-
76
- #### If user selects `d` (delete)
77
-
78
- - Delete the original source document file
79
- - Confirm deletion to user: "Original document deleted: [source-document-path]"
80
- - Note: The document can be reconstructed from shards by concatenating all section files in order
81
-
82
- #### If user selects `m` (move)
83
-
84
- - Determine default archive location: same directory as source, in an `archive` subfolder
85
- - Example: `/path/to/architecture.md` --> `/path/to/archive/architecture.md`
86
- - Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)
87
- - If user accepts default: use default archive path
88
- - If user provides custom path: use custom archive path
89
- - Create archive directory if it does not exist
90
- - Move original document to archive location
91
- - Confirm move to user: "Original document moved to: [archive-path]"
92
-
93
- #### If user selects `k` (keep)
94
-
95
- - Display warning to user:
96
- - Keeping both original and sharded versions is NOT recommended
97
- - The discover_inputs protocol may load the wrong version
98
- - Updates to one will not reflect in the other
99
- - Duplicate content taking up space
100
- - Consider deleting or archiving the original document
101
- - Confirm user choice: "Original document kept at: [source-document-path]"
102
-
103
- ## HALT CONDITIONS
104
-
105
- - HALT if npx command fails or produces no output files
1
+ ---
2
+ name: bmad-shard-doc
3
+ description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
4
+ ---
5
+
6
+ # Shard Document
7
+
8
+ **Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan/markdown-tree-parser`.
9
+
10
+ ## CRITICAL RULES
11
+
12
+ - MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER
13
+ - DO NOT skip steps or change the sequence
14
+ - HALT immediately when halt-conditions are met
15
+ - Each action within a step is a REQUIRED action to complete that step
16
+
17
+ ## EXECUTION
18
+
19
+ ### Step 1: Get Source Document
20
+
21
+ - Ask user for the source document path if not provided already
22
+ - Verify file exists and is accessible
23
+ - Verify file is markdown format (.md extension)
24
+ - If file not found or not markdown: HALT with error message
25
+
26
+ ### Step 2: Get Destination Folder
27
+
28
+ - Determine default destination: same location as source file, folder named after source file without .md extension
29
+ - Example: `/path/to/architecture.md` --> `/path/to/architecture/`
30
+ - Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)
31
+ - If user accepts default: use the suggested destination path
32
+ - If user provides custom path: use the custom destination path
33
+ - Verify destination folder exists or can be created
34
+ - Check write permissions for destination
35
+ - If permission denied: HALT with error message
36
+
37
+ ### Step 3: Execute Sharding
38
+
39
+ - Inform user that sharding is beginning
40
+ - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`
41
+ - Capture command output and any errors
42
+ - If command fails: HALT and display error to user
43
+
44
+ ### Step 4: Verify Output
45
+
46
+ - Check that destination folder contains sharded files
47
+ - Verify index.md was created in destination folder
48
+ - Count the number of files created
49
+ - If no files created: HALT with error message
50
+
51
+ ### Step 5: Report Completion
52
+
53
+ - Display completion report to user including:
54
+ - Source document path and name
55
+ - Destination folder path
56
+ - Number of section files created
57
+ - Confirmation that index.md was created
58
+ - Any tool output or warnings
59
+ - Inform user that sharding completed successfully
60
+
61
+ ### Step 6: Handle Original Document
62
+
63
+ > **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.
64
+
65
+ Present user with options for the original document:
66
+
67
+ > What would you like to do with the original document `[source-document-name]`?
68
+ >
69
+ > Options:
70
+ > - `[d]` Delete - Remove the original (recommended - shards can always be recombined)
71
+ > - `[m]` Move to archive - Move original to a backup/archive location
72
+ > - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)
73
+ >
74
+ > Your choice (d/m/k):
75
+
76
+ #### If user selects `d` (delete)
77
+
78
+ - Delete the original source document file
79
+ - Confirm deletion to user: "Original document deleted: [source-document-path]"
80
+ - Note: The document can be reconstructed from shards by concatenating all section files in order
81
+
82
+ #### If user selects `m` (move)
83
+
84
+ - Determine default archive location: same directory as source, in an `archive` subfolder
85
+ - Example: `/path/to/architecture.md` --> `/path/to/archive/architecture.md`
86
+ - Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)
87
+ - If user accepts default: use default archive path
88
+ - If user provides custom path: use custom archive path
89
+ - Create archive directory if it does not exist
90
+ - Move original document to archive location
91
+ - Confirm move to user: "Original document moved to: [archive-path]"
92
+
93
+ #### If user selects `k` (keep)
94
+
95
+ - Display warning to user:
96
+ - Keeping both original and sharded versions is NOT recommended
97
+ - The discover_inputs protocol may load the wrong version
98
+ - Updates to one will not reflect in the other
99
+ - Duplicate content taking up space
100
+ - Consider deleting or archiving the original document
101
+ - Confirm user choice: "Original document kept at: [source-document-path]"
102
+
103
+ ## HALT CONDITIONS
104
+
105
+ - HALT if npx command fails or produces no output files