ma-agents 3.4.7 → 3.4.8

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 (575) hide show
  1. package/.opencode/skills/.ma-agents.json +48 -167
  2. package/.opencode/skills/MANIFEST.yaml +0 -128
  3. package/.opencode/skills/add-sprint/.gitkeep +0 -0
  4. package/.opencode/skills/add-sprint/SKILL.md +207 -0
  5. package/.opencode/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
  6. package/.opencode/skills/add-to-sprint/.gitkeep +0 -0
  7. package/.opencode/skills/add-to-sprint/SKILL.md +189 -0
  8. package/.opencode/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
  9. package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +137 -0
  10. package/.opencode/skills/bmad-advanced-elicitation/methods.csv +51 -0
  11. package/.opencode/skills/bmad-agent-analyst/SKILL.md +56 -0
  12. package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +11 -0
  13. package/.opencode/skills/bmad-agent-architect/SKILL.md +52 -0
  14. package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +11 -0
  15. package/.opencode/skills/bmad-agent-dev/SKILL.md +62 -0
  16. package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +11 -0
  17. package/.opencode/skills/bmad-agent-pm/SKILL.md +57 -0
  18. package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +11 -0
  19. package/.opencode/skills/bmad-agent-qa/SKILL.md +59 -0
  20. package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +11 -0
  21. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +51 -0
  22. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +11 -0
  23. package/.opencode/skills/bmad-agent-sm/SKILL.md +53 -0
  24. package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +11 -0
  25. package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +55 -0
  26. package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
  27. package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +20 -0
  28. package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +20 -0
  29. package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +19 -0
  30. package/.opencode/skills/bmad-agent-tech-writer/write-document.md +20 -0
  31. package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +53 -0
  32. package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +11 -0
  33. package/.opencode/skills/bmad-brainstorming/SKILL.md +6 -0
  34. package/.opencode/skills/bmad-brainstorming/brain-methods.csv +62 -0
  35. package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
  36. package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
  37. package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
  38. package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  39. package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
  40. package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  41. package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
  42. package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
  43. package/.opencode/skills/bmad-brainstorming/template.md +15 -0
  44. package/.opencode/skills/bmad-brainstorming/workflow.md +53 -0
  45. package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +6 -0
  46. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  47. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  48. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  49. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  50. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  51. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  52. package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  53. package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +49 -0
  54. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +6 -0
  55. package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
  56. package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +31 -0
  57. package/.opencode/skills/bmad-cis-design-thinking/template.md +111 -0
  58. package/.opencode/skills/bmad-cis-design-thinking/workflow.md +242 -0
  59. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +6 -0
  60. package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
  61. package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
  62. package/.opencode/skills/bmad-cis-innovation-strategy/template.md +189 -0
  63. package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +315 -0
  64. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +6 -0
  65. package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
  66. package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +31 -0
  67. package/.opencode/skills/bmad-cis-problem-solving/template.md +165 -0
  68. package/.opencode/skills/bmad-cis-problem-solving/workflow.md +291 -0
  69. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +6 -0
  70. package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
  71. package/.opencode/skills/bmad-cis-storytelling/story-types.csv +26 -0
  72. package/.opencode/skills/bmad-cis-storytelling/template.md +113 -0
  73. package/.opencode/skills/bmad-cis-storytelling/workflow.md +321 -0
  74. package/.opencode/skills/bmad-code-review/SKILL.md +6 -0
  75. package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +62 -0
  76. package/.opencode/skills/bmad-code-review/steps/step-02-review.md +34 -0
  77. package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +49 -0
  78. package/.opencode/skills/bmad-code-review/steps/step-04-present.md +129 -0
  79. package/.opencode/skills/bmad-code-review/workflow.md +55 -0
  80. package/.opencode/skills/bmad-correct-course/SKILL.md +6 -0
  81. package/.opencode/skills/bmad-correct-course/checklist.md +288 -0
  82. package/.opencode/skills/bmad-correct-course/workflow.md +267 -0
  83. package/.opencode/skills/bmad-create-architecture/SKILL.md +6 -0
  84. package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +12 -0
  85. package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +13 -0
  86. package/.opencode/skills/bmad-create-architecture/data/project-types.csv +7 -0
  87. package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +153 -0
  88. package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +173 -0
  89. package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +224 -0
  90. package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +329 -0
  91. package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +318 -0
  92. package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +359 -0
  93. package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +379 -0
  94. package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +359 -0
  95. package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +76 -0
  96. package/.opencode/skills/bmad-create-architecture/workflow.md +38 -0
  97. package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +6 -0
  98. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  99. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  100. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  101. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  102. package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
  103. package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +53 -0
  104. package/.opencode/skills/bmad-create-prd/SKILL.md +6 -0
  105. package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +15 -0
  106. package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +197 -0
  107. package/.opencode/skills/bmad-create-prd/data/project-types.csv +11 -0
  108. package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +178 -0
  109. package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
  110. package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
  111. package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
  112. package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  113. package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +214 -0
  114. package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
  115. package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +194 -0
  116. package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
  117. package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
  118. package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +216 -0
  119. package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +219 -0
  120. package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  121. package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +221 -0
  122. package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +115 -0
  123. package/.opencode/skills/bmad-create-prd/templates/prd-template.md +10 -0
  124. package/.opencode/skills/bmad-create-prd/workflow.md +62 -0
  125. package/.opencode/skills/bmad-create-story/SKILL.md +6 -0
  126. package/.opencode/skills/bmad-create-story/checklist.md +357 -0
  127. package/.opencode/skills/bmad-create-story/discover-inputs.md +88 -0
  128. package/.opencode/skills/bmad-create-story/template.md +49 -0
  129. package/.opencode/skills/bmad-create-story/workflow.md +380 -0
  130. package/.opencode/skills/bmad-create-ux-design/SKILL.md +6 -0
  131. package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +135 -0
  132. package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
  133. package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
  134. package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
  135. package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
  136. package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
  137. package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
  138. package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
  139. package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  140. package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
  141. package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
  142. package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
  143. package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  144. package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  145. package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +171 -0
  146. package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +13 -0
  147. package/.opencode/skills/bmad-create-ux-design/workflow.md +36 -0
  148. package/.opencode/skills/bmad-dev-story/SKILL.md +6 -0
  149. package/.opencode/skills/bmad-dev-story/checklist.md +80 -0
  150. package/.opencode/skills/bmad-dev-story/workflow.md +450 -0
  151. package/.opencode/skills/bmad-distillator/SKILL.md +178 -0
  152. package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
  153. package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
  154. package/.opencode/skills/bmad-distillator/resources/compression-rules.md +51 -0
  155. package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
  156. package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
  157. package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
  158. package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
  159. package/.opencode/skills/bmad-document-project/SKILL.md +6 -0
  160. package/.opencode/skills/bmad-document-project/checklist.md +245 -0
  161. package/.opencode/skills/bmad-document-project/documentation-requirements.csv +12 -0
  162. package/.opencode/skills/bmad-document-project/instructions.md +128 -0
  163. package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +345 -0
  164. package/.opencode/skills/bmad-document-project/templates/index-template.md +169 -0
  165. package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +103 -0
  166. package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +160 -0
  167. package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +135 -0
  168. package/.opencode/skills/bmad-document-project/workflow.md +27 -0
  169. package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +299 -0
  170. package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
  171. package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +1107 -0
  172. package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +34 -0
  173. package/.opencode/skills/bmad-domain-research/SKILL.md +6 -0
  174. package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +137 -0
  175. package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  176. package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  177. package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  178. package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  179. package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  180. package/.opencode/skills/bmad-domain-research/research.template.md +29 -0
  181. package/.opencode/skills/bmad-domain-research/workflow.md +49 -0
  182. package/.opencode/skills/bmad-edit-prd/SKILL.md +6 -0
  183. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  184. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  185. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
  186. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
  187. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +165 -0
  188. package/.opencode/skills/bmad-edit-prd/workflow.md +63 -0
  189. package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +86 -0
  190. package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +179 -0
  191. package/.opencode/skills/bmad-generate-project-context/SKILL.md +6 -0
  192. package/.opencode/skills/bmad-generate-project-context/project-context-template.md +21 -0
  193. package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +186 -0
  194. package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +321 -0
  195. package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +278 -0
  196. package/.opencode/skills/bmad-generate-project-context/workflow.md +43 -0
  197. package/.opencode/skills/bmad-help/SKILL.md +73 -0
  198. package/.opencode/skills/bmad-index-docs/SKILL.md +66 -0
  199. package/.opencode/skills/bmad-init/SKILL.md +100 -0
  200. package/.opencode/skills/bmad-init/resources/core-module.yaml +25 -0
  201. package/.opencode/skills/bmad-init/scripts/bmad_init.py +593 -0
  202. package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +329 -0
  203. package/.opencode/skills/bmad-ma-agent-cyber/.gitkeep +0 -0
  204. package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +49 -0
  205. package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
  206. package/.opencode/skills/bmad-ma-agent-devops/.gitkeep +0 -0
  207. package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +49 -0
  208. package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +11 -0
  209. package/.opencode/skills/bmad-ma-agent-mil498/.gitkeep +0 -0
  210. package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +53 -0
  211. package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +11 -0
  212. package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
  213. package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +59 -0
  214. package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +11 -0
  215. package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
  216. package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +49 -0
  217. package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +11 -0
  218. package/.opencode/skills/bmad-market-research/SKILL.md +6 -0
  219. package/.opencode/skills/bmad-market-research/research.template.md +29 -0
  220. package/.opencode/skills/bmad-market-research/steps/step-01-init.md +184 -0
  221. package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
  222. package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
  223. package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
  224. package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
  225. package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +478 -0
  226. package/.opencode/skills/bmad-market-research/workflow.md +49 -0
  227. package/.opencode/skills/bmad-party-mode/SKILL.md +6 -0
  228. package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +138 -0
  229. package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +187 -0
  230. package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +167 -0
  231. package/.opencode/skills/bmad-party-mode/workflow.md +190 -0
  232. package/.opencode/skills/bmad-product-brief/SKILL.md +87 -0
  233. package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +60 -0
  234. package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +44 -0
  235. package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +44 -0
  236. package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +49 -0
  237. package/.opencode/skills/bmad-product-brief/bmad-manifest.json +17 -0
  238. package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +57 -0
  239. package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +86 -0
  240. package/.opencode/skills/bmad-product-brief/prompts/finalize.md +75 -0
  241. package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +70 -0
  242. package/.opencode/skills/bmad-product-brief/resources/brief-template.md +60 -0
  243. package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
  244. package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
  245. package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +136 -0
  246. package/.opencode/skills/bmad-quick-dev/SKILL.md +6 -0
  247. package/.opencode/skills/bmad-quick-dev/spec-template.md +88 -0
  248. package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +64 -0
  249. package/.opencode/skills/bmad-quick-dev/step-02-plan.md +35 -0
  250. package/.opencode/skills/bmad-quick-dev/step-03-implement.md +37 -0
  251. package/.opencode/skills/bmad-quick-dev/step-04-review.md +49 -0
  252. package/.opencode/skills/bmad-quick-dev/step-05-present.md +63 -0
  253. package/.opencode/skills/bmad-quick-dev/step-oneshot.md +49 -0
  254. package/.opencode/skills/bmad-quick-dev/workflow.md +79 -0
  255. package/.opencode/skills/bmad-retrospective/SKILL.md +6 -0
  256. package/.opencode/skills/bmad-retrospective/workflow.md +1479 -0
  257. package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +37 -0
  258. package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
  259. package/.opencode/skills/bmad-shard-doc/SKILL.md +105 -0
  260. package/.opencode/skills/bmad-sprint-planning/SKILL.md +6 -0
  261. package/.opencode/skills/bmad-sprint-planning/checklist.md +33 -0
  262. package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +56 -0
  263. package/.opencode/skills/bmad-sprint-planning/workflow.md +263 -0
  264. package/.opencode/skills/bmad-sprint-status/SKILL.md +6 -0
  265. package/.opencode/skills/bmad-sprint-status/workflow.md +261 -0
  266. package/.opencode/skills/bmad-technical-research/SKILL.md +6 -0
  267. package/.opencode/skills/bmad-technical-research/research.template.md +29 -0
  268. package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +137 -0
  269. package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  270. package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  271. package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  272. package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  273. package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  274. package/.opencode/skills/bmad-technical-research/workflow.md +50 -0
  275. package/.opencode/skills/bmad-validate-prd/SKILL.md +6 -0
  276. package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +15 -0
  277. package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +197 -0
  278. package/.opencode/skills/bmad-validate-prd/data/project-types.csv +11 -0
  279. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  280. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  281. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  282. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  283. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  284. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  285. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  286. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  287. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  288. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  289. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  290. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  291. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  292. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  293. package/.opencode/skills/bmad-validate-prd/workflow.md +62 -0
  294. package/.opencode/skills/cleanup-done/.gitkeep +0 -0
  295. package/.opencode/skills/cleanup-done/SKILL.md +159 -0
  296. package/.opencode/skills/cleanup-done/bmad-skill-manifest.yaml +3 -0
  297. package/.opencode/skills/create-bug-story/.gitkeep +0 -0
  298. package/.opencode/skills/create-bug-story/SKILL.md +263 -0
  299. package/.opencode/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
  300. package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
  301. package/.opencode/skills/cyber-generate-certs/SKILL.md +27 -0
  302. package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
  303. package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
  304. package/.opencode/skills/cyber-immunity-estimation/SKILL.md +29 -0
  305. package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
  306. package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
  307. package/.opencode/skills/cyber-security-audit/SKILL.md +27 -0
  308. package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
  309. package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
  310. package/.opencode/skills/cyber-vault-secrets/SKILL.md +28 -0
  311. package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
  312. package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
  313. package/.opencode/skills/cyber-verify-docker-users/SKILL.md +23 -0
  314. package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
  315. package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
  316. package/.opencode/skills/cyber-verify-image-signature/SKILL.md +22 -0
  317. package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
  318. package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  319. package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +28 -0
  320. package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
  321. package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
  322. package/.opencode/skills/devops-configure-infrastructure/SKILL.md +27 -0
  323. package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
  324. package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
  325. package/.opencode/skills/devops-disconnected-deployment/SKILL.md +27 -0
  326. package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
  327. package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
  328. package/.opencode/skills/devops-docker-compose-setup/SKILL.md +26 -0
  329. package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
  330. package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
  331. package/.opencode/skills/devops-manage-helm/SKILL.md +28 -0
  332. package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
  333. package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
  334. package/.opencode/skills/devops-sign-docker-image/SKILL.md +24 -0
  335. package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
  336. package/.opencode/skills/generate-backlog/.gitkeep +0 -0
  337. package/.opencode/skills/generate-backlog/SKILL.md +183 -0
  338. package/.opencode/skills/generate-backlog/bmad-skill-manifest.yaml +3 -0
  339. package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
  340. package/.opencode/skills/mil498-ocd/SKILL.md +30 -0
  341. package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
  342. package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
  343. package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +10 -0
  344. package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
  345. package/.opencode/skills/mil498-ocd/prompts/04-validate.md +14 -0
  346. package/.opencode/skills/mil498-ocd/prompts/05-review.md +15 -0
  347. package/.opencode/skills/mil498-ocd/prompts/06-save.md +15 -0
  348. package/.opencode/skills/mil498-ocd/template.md +169 -0
  349. package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
  350. package/.opencode/skills/mil498-sdd/SKILL.md +30 -0
  351. package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
  352. package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
  353. package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +10 -0
  354. package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
  355. package/.opencode/skills/mil498-sdd/prompts/04-validate.md +16 -0
  356. package/.opencode/skills/mil498-sdd/prompts/05-review.md +15 -0
  357. package/.opencode/skills/mil498-sdd/prompts/06-save.md +19 -0
  358. package/.opencode/skills/mil498-sdd/template.md +163 -0
  359. package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
  360. package/.opencode/skills/mil498-sdp/SKILL.md +30 -0
  361. package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
  362. package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
  363. package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +10 -0
  364. package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
  365. package/.opencode/skills/mil498-sdp/prompts/04-validate.md +13 -0
  366. package/.opencode/skills/mil498-sdp/prompts/05-review.md +15 -0
  367. package/.opencode/skills/mil498-sdp/prompts/06-save.md +14 -0
  368. package/.opencode/skills/mil498-sdp/template.md +307 -0
  369. package/.opencode/skills/mil498-srs/.gitkeep +0 -0
  370. package/.opencode/skills/mil498-srs/SKILL.md +30 -0
  371. package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
  372. package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
  373. package/.opencode/skills/mil498-srs/prompts/02-load-template.md +10 -0
  374. package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +100 -0
  375. package/.opencode/skills/mil498-srs/prompts/04-validate.md +16 -0
  376. package/.opencode/skills/mil498-srs/prompts/05-review.md +15 -0
  377. package/.opencode/skills/mil498-srs/prompts/06-save.md +18 -0
  378. package/.opencode/skills/mil498-srs/template.md +219 -0
  379. package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
  380. package/.opencode/skills/mil498-ssdd/SKILL.md +32 -0
  381. package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
  382. package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
  383. package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
  384. package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
  385. package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
  386. package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +14 -0
  387. package/.opencode/skills/mil498-ssdd/prompts/06-review.md +16 -0
  388. package/.opencode/skills/mil498-ssdd/prompts/07-save.md +16 -0
  389. package/.opencode/skills/mil498-ssdd/template.md +154 -0
  390. package/.opencode/skills/mil498-sss/.gitkeep +0 -0
  391. package/.opencode/skills/mil498-sss/SKILL.md +31 -0
  392. package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
  393. package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
  394. package/.opencode/skills/mil498-sss/prompts/02-load-template.md +10 -0
  395. package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +108 -0
  396. package/.opencode/skills/mil498-sss/prompts/04-validate.md +16 -0
  397. package/.opencode/skills/mil498-sss/prompts/05-review.md +15 -0
  398. package/.opencode/skills/mil498-sss/prompts/06-save.md +15 -0
  399. package/.opencode/skills/mil498-sss/template.md +225 -0
  400. package/.opencode/skills/mil498-std/.gitkeep +0 -0
  401. package/.opencode/skills/mil498-std/SKILL.md +30 -0
  402. package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
  403. package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
  404. package/.opencode/skills/mil498-std/prompts/02-load-template.md +10 -0
  405. package/.opencode/skills/mil498-std/prompts/03-generate-document.md +117 -0
  406. package/.opencode/skills/mil498-std/prompts/04-validate.md +15 -0
  407. package/.opencode/skills/mil498-std/prompts/05-review.md +15 -0
  408. package/.opencode/skills/mil498-std/prompts/06-save.md +15 -0
  409. package/.opencode/skills/mil498-std/template.md +188 -0
  410. package/.opencode/skills/ml-advise/.gitkeep +0 -0
  411. package/.opencode/skills/ml-advise/SKILL.md +76 -0
  412. package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +3 -0
  413. package/.opencode/skills/ml-advise/skill.json +7 -0
  414. package/.opencode/skills/ml-analysis/.gitkeep +0 -0
  415. package/.opencode/skills/ml-analysis/SKILL.md +60 -0
  416. package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +3 -0
  417. package/.opencode/skills/ml-analysis/skill.json +7 -0
  418. package/.opencode/skills/ml-architecture/.gitkeep +0 -0
  419. package/.opencode/skills/ml-architecture/SKILL.md +55 -0
  420. package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +3 -0
  421. package/.opencode/skills/ml-architecture/skill.json +7 -0
  422. package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
  423. package/.opencode/skills/ml-detailed-design/SKILL.md +67 -0
  424. package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +3 -0
  425. package/.opencode/skills/ml-detailed-design/skill.json +7 -0
  426. package/.opencode/skills/ml-eda/.gitkeep +0 -0
  427. package/.opencode/skills/ml-eda/SKILL.md +56 -0
  428. package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +3 -0
  429. package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +522 -0
  430. package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +295 -0
  431. package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +383 -0
  432. package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +654 -0
  433. package/.opencode/skills/ml-eda/skill.json +7 -0
  434. package/.opencode/skills/ml-experiment/.gitkeep +0 -0
  435. package/.opencode/skills/ml-experiment/SKILL.md +74 -0
  436. package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +430 -0
  437. package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +233 -0
  438. package/.opencode/skills/ml-experiment/assets/template_datamodule.py +219 -0
  439. package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +341 -0
  440. package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +158 -0
  441. package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +3 -0
  442. package/.opencode/skills/ml-experiment/skill.json +7 -0
  443. package/.opencode/skills/ml-hparam/.gitkeep +0 -0
  444. package/.opencode/skills/ml-hparam/SKILL.md +81 -0
  445. package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +3 -0
  446. package/.opencode/skills/ml-hparam/skill.json +7 -0
  447. package/.opencode/skills/ml-ideation/.gitkeep +0 -0
  448. package/.opencode/skills/ml-ideation/SKILL.md +50 -0
  449. package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +3 -0
  450. package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +287 -0
  451. package/.opencode/skills/ml-ideation/skill.json +7 -0
  452. package/.opencode/skills/ml-infra/.gitkeep +0 -0
  453. package/.opencode/skills/ml-infra/SKILL.md +58 -0
  454. package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +3 -0
  455. package/.opencode/skills/ml-infra/skill.json +7 -0
  456. package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
  457. package/.opencode/skills/ml-retrospective/SKILL.md +63 -0
  458. package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +3 -0
  459. package/.opencode/skills/ml-retrospective/skill.json +7 -0
  460. package/.opencode/skills/ml-revision/.gitkeep +0 -0
  461. package/.opencode/skills/ml-revision/SKILL.md +82 -0
  462. package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +3 -0
  463. package/.opencode/skills/ml-revision/skill.json +7 -0
  464. package/.opencode/skills/ml-techspec/.gitkeep +0 -0
  465. package/.opencode/skills/ml-techspec/SKILL.md +80 -0
  466. package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +3 -0
  467. package/.opencode/skills/ml-techspec/skill.json +7 -0
  468. package/.opencode/skills/modify-sprint/.gitkeep +0 -0
  469. package/.opencode/skills/modify-sprint/SKILL.md +322 -0
  470. package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
  471. package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
  472. package/.opencode/skills/prioritize-backlog/SKILL.md +195 -0
  473. package/.opencode/skills/prioritize-backlog/bmad-skill-manifest.yaml +3 -0
  474. package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
  475. package/.opencode/skills/project-context-expansion/SKILL.md +238 -0
  476. package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
  477. package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
  478. package/.opencode/skills/remove-from-sprint/SKILL.md +163 -0
  479. package/.opencode/skills/remove-from-sprint/bmad-skill-manifest.yaml +3 -0
  480. package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
  481. package/.opencode/skills/sprint-status-view/SKILL.md +263 -0
  482. package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
  483. package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
  484. package/.opencode/skills/sre-check-deployment-status/SKILL.md +32 -0
  485. package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
  486. package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
  487. package/.opencode/skills/sre-check-secrets/SKILL.md +23 -0
  488. package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
  489. package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
  490. package/.opencode/skills/sre-check-system-status/SKILL.md +27 -0
  491. package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
  492. package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
  493. package/.opencode/skills/sre-day-2-ops/SKILL.md +26 -0
  494. package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
  495. package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
  496. package/.opencode/skills/sre-deployment-strategies/SKILL.md +28 -0
  497. package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
  498. package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
  499. package/.opencode/skills/sre-fix-deployments/SKILL.md +25 -0
  500. package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
  501. package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
  502. package/.opencode/skills/sre-gitops-status/SKILL.md +25 -0
  503. package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
  504. package/.roo/skills/.ma-agents.json +48 -167
  505. package/.roo/skills/MANIFEST.yaml +0 -128
  506. package/bin/cli.js +20 -6
  507. package/lib/agents.js +5 -50
  508. package/lib/installer.js +13 -5
  509. package/package.json +1 -1
  510. package/.opencode/skills/ai-audit-trail/SKILL.md +0 -23
  511. package/.opencode/skills/auto-bug-detection/SKILL.md +0 -169
  512. package/.opencode/skills/cmake-best-practices/SKILL.md +0 -64
  513. package/.opencode/skills/cmake-best-practices/examples/cmake.md +0 -59
  514. package/.opencode/skills/code-documentation/SKILL.md +0 -57
  515. package/.opencode/skills/code-documentation/examples/cpp.md +0 -29
  516. package/.opencode/skills/code-documentation/examples/csharp.md +0 -28
  517. package/.opencode/skills/code-documentation/examples/javascript_typescript.md +0 -28
  518. package/.opencode/skills/code-documentation/examples/python.md +0 -57
  519. package/.opencode/skills/code-review/SKILL.md +0 -43
  520. package/.opencode/skills/commit-message/SKILL.md +0 -79
  521. package/.opencode/skills/cpp-best-practices/SKILL.md +0 -234
  522. package/.opencode/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
  523. package/.opencode/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
  524. package/.opencode/skills/cpp-concurrency-safety/SKILL.md +0 -60
  525. package/.opencode/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  526. package/.opencode/skills/cpp-const-correctness/SKILL.md +0 -63
  527. package/.opencode/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  528. package/.opencode/skills/cpp-memory-handling/SKILL.md +0 -42
  529. package/.opencode/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  530. package/.opencode/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  531. package/.opencode/skills/cpp-modern-composition/SKILL.md +0 -64
  532. package/.opencode/skills/cpp-modern-composition/examples/composition.md +0 -51
  533. package/.opencode/skills/cpp-robust-interfaces/SKILL.md +0 -55
  534. package/.opencode/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  535. package/.opencode/skills/create-hardened-docker-skill/SKILL.md +0 -637
  536. package/.opencode/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  537. package/.opencode/skills/csharp-best-practices/SKILL.md +0 -278
  538. package/.opencode/skills/docker-hardening-verification/SKILL.md +0 -28
  539. package/.opencode/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  540. package/.opencode/skills/docker-image-signing/SKILL.md +0 -28
  541. package/.opencode/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  542. package/.opencode/skills/document-revision-history/SKILL.md +0 -104
  543. package/.roo/skills/ai-audit-trail/SKILL.md +0 -23
  544. package/.roo/skills/auto-bug-detection/SKILL.md +0 -169
  545. package/.roo/skills/cmake-best-practices/SKILL.md +0 -64
  546. package/.roo/skills/cmake-best-practices/examples/cmake.md +0 -59
  547. package/.roo/skills/code-documentation/SKILL.md +0 -57
  548. package/.roo/skills/code-documentation/examples/cpp.md +0 -29
  549. package/.roo/skills/code-documentation/examples/csharp.md +0 -28
  550. package/.roo/skills/code-documentation/examples/javascript_typescript.md +0 -28
  551. package/.roo/skills/code-documentation/examples/python.md +0 -57
  552. package/.roo/skills/code-review/SKILL.md +0 -43
  553. package/.roo/skills/commit-message/SKILL.md +0 -79
  554. package/.roo/skills/cpp-best-practices/SKILL.md +0 -234
  555. package/.roo/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
  556. package/.roo/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
  557. package/.roo/skills/cpp-concurrency-safety/SKILL.md +0 -60
  558. package/.roo/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  559. package/.roo/skills/cpp-const-correctness/SKILL.md +0 -63
  560. package/.roo/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  561. package/.roo/skills/cpp-memory-handling/SKILL.md +0 -42
  562. package/.roo/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  563. package/.roo/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  564. package/.roo/skills/cpp-modern-composition/SKILL.md +0 -64
  565. package/.roo/skills/cpp-modern-composition/examples/composition.md +0 -51
  566. package/.roo/skills/cpp-robust-interfaces/SKILL.md +0 -55
  567. package/.roo/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  568. package/.roo/skills/create-hardened-docker-skill/SKILL.md +0 -637
  569. package/.roo/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  570. package/.roo/skills/csharp-best-practices/SKILL.md +0 -278
  571. package/.roo/skills/docker-hardening-verification/SKILL.md +0 -28
  572. package/.roo/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  573. package/.roo/skills/docker-image-signing/SKILL.md +0 -28
  574. package/.roo/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  575. package/.roo/skills/document-revision-history/SKILL.md +0 -104
@@ -0,0 +1,238 @@
1
+ ---
2
+ name: project-context-expansion
3
+ description: Post-retrospective workflow to update project-context.md with discovered patterns and conventions
4
+ type: skill
5
+ triggers:
6
+ - "project context expansion"
7
+ - "expand project context"
8
+ ---
9
+
10
+ # Project Context Expansion Workflow
11
+
12
+ Post-retrospective companion workflow to update `_bmad-output/project-context.md` with
13
+ patterns and conventions discovered during the sprint.
14
+
15
+ Run this workflow at the end of `/bmad-retrospective` to close the living document lifecycle loop.
16
+ The agent proposes additions; the human decides what gets written.
17
+
18
+ <workflow>
19
+
20
+ <step n="1" goal="Check whether project-context.md exists">
21
+
22
+ <action>Check if `_bmad-output/project-context.md` exists in the project root</action>
23
+
24
+ <check if="file does NOT exist">
25
+ <output>
26
+ ℹ️ **No project-context.md found.**
27
+
28
+ `_bmad-output/project-context.md` does not exist in this project yet.
29
+
30
+ To create it, either:
31
+ - Run `npx ma-agents install` at the project level (auto-generates on first install)
32
+ - Run `/bmad-generate-project-context` to create it manually
33
+
34
+ Skipping project-context expansion — nothing to update.
35
+ </output>
36
+ <action>Exit workflow</action>
37
+ </check>
38
+
39
+ <check if="file exists">
40
+ <output>
41
+ ✅ Found `_bmad-output/project-context.md` — proceeding with expansion review.
42
+ </output>
43
+ </check>
44
+
45
+ </step>
46
+
47
+ <step n="2" goal="Read and present the current Project-Specific Rules section">
48
+
49
+ <action>Read the complete contents of `_bmad-output/project-context.md`</action>
50
+
51
+ <action>Extract the `## Project-Specific Rules` section:
52
+ - Find the line starting with `## Project-Specific Rules`
53
+ - Read all content until the next `##` section header (or end of file)
54
+ - Store as {{current_rules_content}}
55
+ </action>
56
+
57
+ <check if="{{current_rules_content}} contains only the TODO comment or is effectively empty">
58
+ <action>Set {{rules_are_empty}} = true</action>
59
+ </check>
60
+
61
+ <check if="{{current_rules_content}} contains substantive rules">
62
+ <action>Set {{rules_are_empty}} = false</action>
63
+ </check>
64
+
65
+ <output>
66
+ ## Current Project-Specific Rules
67
+
68
+ {{current_rules_content}}
69
+
70
+ ---
71
+
72
+ I will now review the retrospective discussion to propose additions to this section.
73
+ </output>
74
+
75
+ </step>
76
+
77
+ <step n="3" goal="Gather sprint patterns — from retrospective context or user input">
78
+
79
+ <action>Check whether there is active retrospective context in this session (i.e., this workflow
80
+ was invoked immediately after running /bmad-retrospective and discussion content is available).
81
+ </action>
82
+
83
+ <check if="retrospective context IS present in this session">
84
+ <action>Use the retrospective discussion to identify patterns, conventions, and lessons.
85
+ Skip the user prompt below — proceed directly to the proposal step.
86
+ </action>
87
+ </check>
88
+
89
+ <check if="retrospective context is NOT present (workflow invoked cold or standalone)">
90
+ <output>
91
+ ℹ️ **No retrospective session detected in this context.**
92
+
93
+ This workflow is designed to run after `/bmad-retrospective`, but it can also be used
94
+ standalone to capture any conventions or patterns you've observed.
95
+ </output>
96
+ <ask>
97
+ Briefly describe the patterns or conventions you want to add to Project-Specific Rules.
98
+ For example: "agents kept omitting error handling in async functions" or
99
+ "we decided all PRs need a test-plan section in the description".
100
+
101
+ You can also just say "run retrospective first" to cancel.
102
+ </ask>
103
+ <check if="user says 'run retrospective first' or equivalent cancel">
104
+ <output>
105
+ ℹ️ To get the most value, run `/bmad-retrospective` first, then invoke `/project-context-expansion`
106
+ at the end of that session. No changes made.
107
+ </output>
108
+ <action>Exit workflow</action>
109
+ </check>
110
+ <action>Store the user-described patterns as {{sprint_patterns}} and use them as the source
111
+ material for the proposal in the next action below.
112
+ </action>
113
+ </check>
114
+
115
+ <action>Based on the retrospective discussion OR user-described patterns, identify items that
116
+ should become standing rules for AI agents — specifically:
117
+ - Coding conventions agents got wrong or needed correction on during the sprint
118
+ - Patterns agents should consistently apply in this project
119
+ - Architectural decisions that agents must respect (and that are not obvious from the code)
120
+ - Testing or review conventions specific to this project
121
+ - Gotchas or anti-patterns agents kept producing that should be explicitly prohibited
122
+ - Workflow or communication rules specific to this team's practices
123
+ </action>
124
+
125
+ <action>Filter OUT anything that belongs in other sections:
126
+ - Technology Stack updates → belongs in `## Technology Stack` (use `/bmad-generate-project-context`)
127
+ - Mandatory pre-task rules → belongs in `## AI Agent Mandatory Rules` (set at install time)
128
+ - Do NOT propose changes to any section other than `## Project-Specific Rules`
129
+ </action>
130
+
131
+ <check if="no relevant patterns found from retrospective">
132
+ <output>
133
+ ℹ️ **No new rules to propose.**
134
+
135
+ Based on the retrospective discussion, no patterns were identified that would add value
136
+ as standing rules in `## Project-Specific Rules`. The section is already up to date.
137
+
138
+ If you noticed patterns the agents got wrong, you can manually edit
139
+ `_bmad-output/project-context.md` to add your own rules at any time.
140
+ </output>
141
+ <action>Exit workflow</action>
142
+ </check>
143
+
144
+ <action>Draft proposed additions as clear, imperative rules:
145
+ - Each rule is a single actionable statement (e.g., "Always use X when Y")
146
+ - Rules are specific enough to change agent behavior, not vague principles
147
+ - Each rule is distinct — no overlap with existing rules
148
+ - Store as {{proposed_additions}}
149
+ </action>
150
+
151
+ <output>
152
+ ## Proposed Additions to Project-Specific Rules
153
+
154
+ Based on patterns from this sprint's retrospective, here are the additions I recommend:
155
+
156
+ {{proposed_additions}}
157
+
158
+ ---
159
+
160
+ **Review these carefully.** These additions will be appended to `## Project-Specific Rules`
161
+ in `_bmad-output/project-context.md` and will govern all future AI agent sessions.
162
+ </output>
163
+
164
+ </step>
165
+
166
+ <step n="4" goal="Human review and confirmation gate">
167
+
168
+ <ask>
169
+ Review the proposed additions above.
170
+
171
+ Options:
172
+ - **[y] Accept all** — append all proposed additions as shown
173
+ - **[n] Reject all** — skip without any changes
174
+ - **[e] Edit** — describe which rules to add, remove, or reword before writing
175
+ </ask>
176
+
177
+ <check if="user selects 'n'">
178
+ <output>
179
+ ❌ **Expansion skipped.** No changes were made to `_bmad-output/project-context.md`.
180
+ </output>
181
+ <action>Exit workflow</action>
182
+ </check>
183
+
184
+ <check if="user selects 'e'">
185
+ <ask>Describe your edits — which rules to keep, drop, or reword:</ask>
186
+ <action>Apply user edits to {{proposed_additions}}</action>
187
+ <action>Re-display the revised proposal</action>
188
+ <ask>Proceed with this revised version? [y] Yes / [n] Cancel:</ask>
189
+ <check if="user selects 'n'">
190
+ <output>
191
+ ❌ **Expansion cancelled.** No changes were made to `_bmad-output/project-context.md`.
192
+ </output>
193
+ <action>Exit workflow</action>
194
+ </check>
195
+ </check>
196
+
197
+ </step>
198
+
199
+ <step n="5" goal="Write approved additions to Project-Specific Rules only">
200
+
201
+ <action>Read the current full contents of `_bmad-output/project-context.md` again (to ensure freshness)</action>
202
+
203
+ <action>Locate the `## Project-Specific Rules` section:
204
+ - Find the line starting with `## Project-Specific Rules`
205
+ - Identify the end of the section (next `##` header or end of file)
206
+ - Preserve all existing content in the section — do NOT remove or reorder existing rules
207
+ </action>
208
+
209
+ <action>Append the approved additions at the END of the `## Project-Specific Rules` section,
210
+ before the next `##` header. Insert a blank line separator if the section is not empty.
211
+ </action>
212
+
213
+ <action>CRITICAL CONSTRAINTS — do NOT touch any other section:
214
+ - Do NOT modify `## AI Agent Mandatory Rules`
215
+ - Do NOT modify `## Technology Stack`
216
+ - Do NOT modify any other section
217
+ - Do NOT reformat or reorganize the file
218
+ - Only append to `## Project-Specific Rules`
219
+ </action>
220
+
221
+ <action>Save the updated `_bmad-output/project-context.md`</action>
222
+
223
+ <output>
224
+ ✅ **Project-Specific Rules updated successfully!**
225
+
226
+ - **File:** `_bmad-output/project-context.md`
227
+ - **Rules added:** {{count_of_added_rules}}
228
+
229
+ The new rules will be active in all AI agent sessions that load `project-context.md`
230
+ via `critical_actions` (all BMAD agents load it automatically on activation).
231
+
232
+ **Next:** Commit `_bmad-output/project-context.md` to version control so the rules
233
+ are shared across the team and persist across sessions.
234
+ </output>
235
+
236
+ </step>
237
+
238
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: project-context-expansion
3
+ module: ma-skills
File without changes
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: remove-from-sprint
3
+ description: Remove items from a sprint and return them to the unassigned backlog
4
+ type: skill
5
+ triggers:
6
+ - "remove from sprint"
7
+ - "unassign from sprint"
8
+ ---
9
+
10
+ # Remove-from-Sprint Workflow
11
+
12
+ Remove items from a sprint and return them to the unassigned backlog.
13
+
14
+ <workflow>
15
+
16
+ <step n="1" goal="List sprints that have items and select one">
17
+ <action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover all sprint files</action>
18
+ <check if="no sprint files found">
19
+ <output>No sprints found. Run `/add-sprint` first to create a sprint.</output>
20
+ <action>Exit workflow</action>
21
+ </check>
22
+ <action>For each sprint file, read and extract: id, name, status, capacity, items (array), last_modified</action>
23
+ <action>Filter to sprints that have at least 1 item in their items array</action>
24
+ <check if="no sprints have items">
25
+ <output>No sprints contain any items. Nothing to remove.</output>
26
+ <action>Exit workflow</action>
27
+ </check>
28
+ <output>
29
+ ## Sprints with Items
30
+
31
+ | # | Sprint | Status | Items | Capacity | Last Modified |
32
+ |---|---|---|---|---|---|
33
+ {{#each filtered_sprints}}
34
+ | {{@index+1}} | {{name}} ({{id}}) | {{status}} | {{items_count}} | {{capacity}} | {{last_modified}} |
35
+ {{/each}}
36
+ </output>
37
+ <ask>Select sprint (enter number):</ask>
38
+ <action>Store selected sprint as {{target_sprint}}</action>
39
+ <action>Store {{session_last_modified}} = {{target_sprint.last_modified}} for concurrency guard</action>
40
+ </step>
41
+
42
+ <step n="2" goal="Display sprint items with backlog metadata">
43
+ <action>Read `_bmad-output/implementation-artifacts/backlog.yaml`</action>
44
+ <action>For each item ID in {{target_sprint.items}}, look up metadata from backlog.yaml to get: title, type, status, priority</action>
45
+ <action>If an item is not found in backlog.yaml, infer title from ID (kebab-case to title case) and mark type/status/priority as "unknown"</action>
46
+ <output>
47
+ ## Items in {{target_sprint.name}}
48
+
49
+ | # | ID | Title | Type | Status | Priority |
50
+ |---|---|---|---|---|---|
51
+ {{#each sprint_items}}
52
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} | {{status}} | {{priority}} |
53
+ {{/each}}
54
+ </output>
55
+ </step>
56
+
57
+ <step n="3" goal="Prompt for items to remove">
58
+ <ask>Which items to remove? Enter item numbers (comma-separated), 'all' to remove all, or 'q' to cancel:</ask>
59
+ <check if="user enters 'q'">
60
+ <output>Cancelled. No changes made.</output>
61
+ <action>Exit workflow</action>
62
+ </check>
63
+ <check if="user enters 'all'">
64
+ <action>Set {{items_to_remove}} = all items in {{target_sprint.items}}</action>
65
+ </check>
66
+ <check if="user enters item numbers">
67
+ <action>Resolve entered numbers against the table from step 2</action>
68
+ <action>Set {{items_to_remove}} = selected items</action>
69
+ </check>
70
+ </step>
71
+
72
+ <step n="4" goal="Confirm removal">
73
+ <output>
74
+ ## Confirm Removal
75
+
76
+ The following items will be removed from **{{target_sprint.name}}** and returned to the unassigned backlog:
77
+
78
+ {{#each items_to_remove}}
79
+ - {{id}} — {{title}}
80
+ {{/each}}
81
+
82
+ **Note:** Item status will NOT be changed. Items retain their current status.
83
+ </output>
84
+ <ask>Proceed? [y] Yes / [n] Cancel / [e] Edit selection:</ask>
85
+ <check if="user selects 'n'">
86
+ <output>Cancelled. No changes made.</output>
87
+ <action>Exit workflow</action>
88
+ </check>
89
+ <check if="user selects 'e'">
90
+ <goto step="3" />
91
+ </check>
92
+ <check if="user input is not 'y', 'n', or 'e'">
93
+ <output>Unrecognized option: "{{user_input}}". Please enter [y], [n], or [e].</output>
94
+ <goto step="4" />
95
+ </check>
96
+ </step>
97
+
98
+ <step n="5" goal="Concurrency guard — re-read sprint before writing">
99
+ <action>Re-read the sprint file: `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
100
+ <action>Extract the current `last_modified` timestamp from the file</action>
101
+ <check if="current file last_modified != {{session_last_modified}}">
102
+ <output>
103
+ **Conflict Detected:** The sprint file was modified since this session started.
104
+
105
+ **Session started with:** `last_modified: {{session_last_modified}}`
106
+ **Current file has:** `last_modified: {{current_file_last_modified}}`
107
+ </output>
108
+ <ask>How to proceed?
109
+ - [o] Overwrite with your changes (your modifications replace current file)
110
+ - [r] Reload — restart from current file state
111
+ - [x] Cancel — discard all changes
112
+
113
+ Choice:</ask>
114
+ <check if="choice == 'x'">
115
+ <output>Cancelled. Sprint file not modified.</output>
116
+ <action>Exit workflow</action>
117
+ </check>
118
+ <check if="choice == 'r'">
119
+ <action>Reload {{target_sprint}} from current file content</action>
120
+ <action>Update {{session_last_modified}} to current file's last_modified</action>
121
+ <output>Reloaded sprint from current state. Restarting item selection.</output>
122
+ <goto step="2" />
123
+ </check>
124
+ <!-- if 'o', proceed to write with session changes -->
125
+ </check>
126
+ </step>
127
+
128
+ <step n="6" goal="Remove items from sprint and update backlog">
129
+ <action>For each item in {{items_to_remove}}:
130
+ 1. Remove the item ID from the sprint's `items` array
131
+ 2. In `backlog.yaml`, find the matching backlog entry and set its `sprint` field to null (or remove it)
132
+ 3. Do NOT change the item's `status` field — status is preserved as-is
133
+ </action>
134
+ <action>**Dual-write — both files must be updated for consistency:**</action>
135
+ <action>Update `last_modified` in the sprint file to current ISO timestamp</action>
136
+ <action>Write the updated sprint file: `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
137
+ <check if="sprint file write fails">
138
+ <output>**Error:** Failed to write sprint file. No changes persisted. Backlog NOT modified.</output>
139
+ <action>Exit workflow</action>
140
+ </check>
141
+ <action>Write the updated `_bmad-output/implementation-artifacts/backlog.yaml`</action>
142
+ <check if="backlog.yaml write fails">
143
+ <output>**Warning: Inconsistent state!** Sprint file was updated but backlog.yaml write failed. Items have been removed from the sprint's `items` array but their `sprint` field in backlog.yaml still references {{target_sprint.id}}. Re-run `/remove-from-sprint` or manually fix backlog.yaml.</output>
144
+ </check>
145
+ <output>
146
+ ## Removal Complete
147
+
148
+ **Sprint:** {{target_sprint.name}} ({{target_sprint.id}})
149
+
150
+ **Removed items:**
151
+ {{#each items_to_remove}}
152
+ - {{id}} — {{title}} (status unchanged: {{status}})
153
+ {{/each}}
154
+
155
+ **Updated sprint capacity:** {{new_items_count}}/{{target_sprint.capacity}} items ({{new_remaining}} remaining)
156
+
157
+ **Next Steps:**
158
+ - Use `/add-to-sprint` to reassign items to a different sprint
159
+ - Use `/sprint-status-view` to view sprint progress
160
+ </output>
161
+ </step>
162
+
163
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: remove-from-sprint
3
+ module: ma-skills
File without changes
@@ -0,0 +1,263 @@
1
+ ---
2
+ name: sprint-status-view
3
+ description: Display sprint progress with capacity, items, and backlog. Regenerates sprint-status.yaml.
4
+ type: skill
5
+ triggers:
6
+ - "sprint status view"
7
+ - "view sprint status"
8
+ ---
9
+
10
+ # Sprint Status View Workflow
11
+
12
+ Display sprint status with capacity, items, and backlog summary. Regenerates `sprint-status.yaml` from authoritative sources.
13
+
14
+ <workflow>
15
+
16
+ <step n="1" goal="Suggest running /cleanup-done first">
17
+ <output>
18
+ **Tip:** Consider running `/cleanup-done` before viewing sprint status to archive completed items and free capacity.
19
+ </output>
20
+ <action>Continue to next step (advisory only -- do not auto-invoke /cleanup-done)</action>
21
+ </step>
22
+
23
+ <step n="2" goal="Load data sources">
24
+ <action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover all sprint entity files</action>
25
+ <action>Store discovered sprint files as {{sprint_files}} list</action>
26
+
27
+ <action>Read `_bmad-output/implementation-artifacts/backlog.yaml` if it exists</action>
28
+ <action>Store the backlog items list as {{backlog_items}} (or empty list if file not found)</action>
29
+
30
+ <action>Glob `_bmad-output/implementation-artifacts/bug-*.md` to discover all bug story files (fallback for bug metadata)</action>
31
+ <action>For each bug file found, parse YAML frontmatter to extract: title, severity, status</action>
32
+ <action>Store as {{bug_metadata_map}} keyed by file basename (e.g., `bug-login-crash`)</action>
33
+
34
+ <action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml` if it exists (fallback for story status when backlog.yaml is missing or incomplete)</action>
35
+ <action>Parse development_status section into {{status_fallback_map}} -- key: story key, value: status</action>
36
+ <action>Exclude epic-* keys and *-retrospective keys from the fallback map</action>
37
+
38
+ <check if="no sprint files found AND no backlog.yaml exists">
39
+ <output>
40
+ **No Sprint Data Found**
41
+
42
+ No sprint files exist (`sprints/sprint-*.yaml`) and no `backlog.yaml` was found.
43
+
44
+ **To get started:**
45
+ 1. Run `/generate-backlog` to create a backlog from your epics
46
+ 2. Run `/add-sprint` to create your first sprint
47
+ 3. Run `/add-to-sprint` to assign backlog items to it
48
+ </output>
49
+ <action>Exit workflow</action>
50
+ </check>
51
+ </step>
52
+
53
+ <step n="3" goal="Display each sprint">
54
+ <action>For each sprint in {{sprint_files}}, read the full YAML content</action>
55
+ <action>Sort sprints for display: active first, then planning, then closed</action>
56
+ <action>Initialize {{total_done_in_sprints}} = 0 for step 4</action>
57
+
58
+ <action>For each sprint (in sorted order):
59
+
60
+ **If sprint.status is "closed":**
61
+ - Count total items in sprint.items
62
+ - Display collapsed summary line only
63
+
64
+ **If sprint.status is NOT "closed" (active or planning):**
65
+ - Calculate {{item_count}} = length(sprint.items)
66
+ - For each item identifier in sprint.items, resolve details:
67
+ - Look up item in {{backlog_items}} by matching `id` field
68
+ - If found in backlog: use `type`, `title`, `status`, `severity` from backlog entry
69
+ - If NOT found in backlog and item matches `^bug-`: look up in {{bug_metadata_map}} for title/severity, use status from bug frontmatter or default to "backlog"
70
+ - If NOT found in backlog and item matches a story pattern: look up in {{status_fallback_map}} for status, infer title from key, set type to "story"
71
+ - If item cannot be resolved from any source: display with raw identifier, type "unknown", status "unknown"
72
+ - If resolved item status is "done", increment {{total_done_in_sprints}}
73
+ - Build capacity bar: `[===---]` style where `=` represents filled slots and `-` represents remaining capacity
74
+ </action>
75
+
76
+ <action>Display non-closed sprints:</action>
77
+ <output>
78
+ {{#each non_closed_sprints}}
79
+ ---
80
+
81
+ ## {{sprint.name}} ({{sprint.status}}) -- {{item_count}}/{{sprint.capacity}} items
82
+
83
+ {{#if sprint.start}}**Start:** {{sprint.start}}{{/if}}{{#if sprint.end}} | **End:** {{sprint.end}}{{/if}}
84
+
85
+ | Item | Type | Status |
86
+ |---|---|---|
87
+ {{#each resolved_items}}
88
+ | {{id}} | {{#if is_story}}[story]{{/if}}{{#if is_bug}}[bug, {{severity}}]{{/if}} | {{status}} |
89
+ {{/each}}
90
+ {{#if items_empty}}
91
+ *(No items assigned)*
92
+ {{/if}}
93
+
94
+ **Capacity:** {{capacity_bar}}
95
+ {{/each}}
96
+ </output>
97
+
98
+ <action>Display closed sprints:</action>
99
+ <output>
100
+ {{#each closed_sprints}}
101
+ ---
102
+ **{{sprint.name}}** (closed) -- {{item_count}} items completed
103
+ {{/each}}
104
+ </output>
105
+ </step>
106
+
107
+ <step n="4" goal="Completed items summary">
108
+ <action>Count items with status "done" that are still present in non-closed sprint files (use {{total_done_in_sprints}} from step 3)</action>
109
+ <check if="total_done_in_sprints > 0">
110
+ <output>
111
+ ---
112
+
113
+ ## Completed Items
114
+
115
+ {{total_done_in_sprints}} done item(s) are still in sprint files. Run `/cleanup-done` to archive them and free capacity.
116
+ </output>
117
+ </check>
118
+ <check if="total_done_in_sprints == 0">
119
+ <action>Skip this section -- no done items lingering in sprints</action>
120
+ </check>
121
+ </step>
122
+
123
+ <step n="5" goal="Unassigned backlog">
124
+ <action>Filter {{backlog_items}} to find items where sprint is null (unassigned)</action>
125
+ <action>Exclude items with status "done" from the unassigned list</action>
126
+ <action>Sort unassigned items by priority ascending (lowest number = highest priority)</action>
127
+ <action>Store as {{unassigned_items}}</action>
128
+ <action>Store total count as {{unassigned_total}}</action>
129
+ <action>Take top 15 items for display as {{unassigned_display}}</action>
130
+
131
+ <check if="unassigned_total > 0">
132
+ <output>
133
+ ---
134
+
135
+ ## Unassigned Backlog
136
+
137
+ | # | Item | Type | Priority | Status |
138
+ |---|---|---|---|---|
139
+ {{#each unassigned_display}}
140
+ | {{priority}} | {{id}} | {{type}} | {{priority}} | {{status}} |
141
+ {{/each}}
142
+ {{#if unassigned_total > 15}}
143
+
144
+ ... and {{unassigned_total - 15}} more
145
+ {{/if}}
146
+ </output>
147
+ </check>
148
+ <check if="unassigned_total == 0">
149
+ <output>
150
+ ---
151
+
152
+ ## Unassigned Backlog
153
+
154
+ *(All backlog items are assigned to sprints)*
155
+ </output>
156
+ </check>
157
+ </step>
158
+
159
+ <step n="6" goal="Next actions menu">
160
+ <ask>
161
+ **Next Actions:**
162
+ [1] Full backlog
163
+ [2] /add-to-sprint
164
+ [3] /remove-from-sprint
165
+ [4] /prioritize-backlog
166
+ [5] /add-sprint
167
+ [6] /cleanup-done
168
+ [7] Exit
169
+
170
+ Choice:
171
+ </ask>
172
+ <check if="choice == 1">
173
+ <action>Display all items from {{backlog_items}} in a table: id, type, priority, status, sprint, severity</action>
174
+ <goto step="6" />
175
+ </check>
176
+ <check if="choice == 2">
177
+ <output>Run `/add-to-sprint` to assign backlog items to a sprint.</output>
178
+ </check>
179
+ <check if="choice == 3">
180
+ <output>Run `/remove-from-sprint` to remove items from a sprint.</output>
181
+ </check>
182
+ <check if="choice == 4">
183
+ <output>Run `/prioritize-backlog` to reorder backlog priorities.</output>
184
+ </check>
185
+ <check if="choice == 5">
186
+ <output>Run `/add-sprint` to create a new sprint.</output>
187
+ </check>
188
+ <check if="choice == 6">
189
+ <output>Run `/cleanup-done` to archive completed items from sprints.</output>
190
+ </check>
191
+ <check if="choice == 7">
192
+ <action>Exit workflow</action>
193
+ </check>
194
+ </step>
195
+
196
+ <step n="7" goal="Regenerate sprint-status.yaml (internal)" internal="true">
197
+ <action>This step runs automatically after display (steps 3-6) completes, before the workflow exits.</action>
198
+
199
+ <action>Read existing `_bmad-output/implementation-artifacts/sprint-status.yaml` if it exists</action>
200
+ <action>Preserve the STATUS DEFINITIONS comment block at the top of the file (lines starting with `#` that define status values)</action>
201
+ <action>Preserve any epic-* keys and *-retrospective keys from the existing file</action>
202
+
203
+ <action>Build the new development_status section:
204
+ - Source 1: {{backlog_items}} from backlog.yaml -- for each item where status is NOT "done", add an entry: key = item.id, value = item.status
205
+ - Source 2: sprint entity files -- for each sprint, for each item in sprint.items, ensure the item has an entry. If the item was already added from backlog.yaml, the backlog value wins. If the item is NOT in backlog.yaml, look up status from {{bug_metadata_map}} or {{status_fallback_map}}.
206
+ - Exclude items with status "done" -- only non-done items appear in sprint-status.yaml
207
+ </action>
208
+
209
+ <action>Collect sprint metadata for header comments:
210
+ - For each sprint: id, name, status, item count, capacity
211
+ </action>
212
+
213
+ <action>Get current ISO timestamp as {{generated_at}}</action>
214
+
215
+ <action>Write `_bmad-output/implementation-artifacts/sprint-status.yaml` with this structure:
216
+
217
+ ```yaml
218
+ # generated: {{original_generated_date or generated_at}}
219
+ # updated: {{generated_at}} — regenerated by sprint-status-view
220
+ # project: {{project_name from existing file or "unknown"}}
221
+ # project_key: {{project_key from existing file or "NOKEY"}}
222
+ # tracking_system: file-system
223
+ # story_location: _bmad-output/implementation-artifacts
224
+ #
225
+ # Sprints:
226
+ {{#each sprints}}
227
+ # {{sprint.id}}: {{sprint.name}} ({{sprint.status}}) — {{item_count}}/{{sprint.capacity}} items
228
+ {{/each}}
229
+ #
230
+ # STATUS DEFINITIONS:
231
+ # ==================
232
+ # (preserve the full STATUS DEFINITIONS block from the existing file verbatim)
233
+ # If no existing file, use these defaults:
234
+ # backlog — item is in the backlog, not yet started
235
+ # ready-for-dev — story file created, ready for development
236
+ # in-progress — item is actively being worked on
237
+ # review — item is in review
238
+ # done — item is complete (excluded from this file)
239
+
240
+ {{#if preserved_epic_keys}}
241
+ # Epic tracking
242
+ {{#each preserved_epic_keys}}
243
+ {{key}}: {{value}}
244
+ {{/each}}
245
+ {{/if}}
246
+
247
+ development_status:
248
+ {{#each active_items}}
249
+ {{id}}: {{status}}
250
+ {{/each}}
251
+
252
+ {{#if preserved_retro_keys}}
253
+ # Retrospective tracking
254
+ {{#each preserved_retro_keys}}
255
+ {{key}}: {{value}}
256
+ {{/each}}
257
+ {{/if}}
258
+ ```
259
+
260
+ </action>
261
+ </step>
262
+
263
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: sprint-status-view
3
+ module: ma-skills