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,322 @@
1
+ ---
2
+ name: modify-sprint
3
+ description: Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata
4
+ type: skill
5
+ triggers:
6
+ - "modify sprint"
7
+ - "edit sprint"
8
+ ---
9
+
10
+ <!-- PARTIALLY REWORKED: Item assignment is handled by /add-to-sprint (Story 17.4).
11
+ Item removal is handled by /remove-from-sprint (Story 17.5).
12
+ Sprint activation (planning -> active) is handled below (Step 3e).
13
+ The legacy workflow below still references old sprint-plan-{n}.yaml paths for
14
+ other operations. A full rework of modify-sprint is planned for a future story. -->
15
+
16
+ > **Note:** Item assignment and removal are now handled by `/add-to-sprint` and `/remove-from-sprint`. Use the **Activate Sprint** option below to transition a sprint from `planning` to `active`.
17
+
18
+ # Modify Sprint Workflow
19
+
20
+ Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata.
21
+
22
+ <workflow>
23
+
24
+ <step n="3e" goal="Activate a sprint (planning -> active)">
25
+ <action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover all sprint files</action>
26
+ <check if="no sprint files found">
27
+ <output>No sprints found. Run `/add-sprint` first.</output>
28
+ <action>Exit workflow</action>
29
+ </check>
30
+ <action>Read each sprint file; extract: id, name, status, capacity, items count</action>
31
+ <action>Display sprints table</action>
32
+ <output>
33
+ ## Available Sprints
34
+
35
+ | # | ID | Name | Status | Items | Capacity |
36
+ |---|---|---|---|---|---|
37
+ {{#each sprints}}
38
+ | {{@index+1}} | {{id}} | {{name}} | {{status}} | {{items_count}} | {{capacity}} |
39
+ {{/each}}
40
+ </output>
41
+ <ask>Which sprint to activate? (enter number, or 'q' to cancel):</ask>
42
+ <check if="user enters 'q'">
43
+ <output>Cancelled.</output>
44
+ <action>Exit workflow</action>
45
+ </check>
46
+ <action>Store selected sprint as {{target_sprint}}</action>
47
+
48
+ <!-- Validate transition -->
49
+ <check if="target_sprint.status != 'planning'">
50
+ <output>Only sprints in `planning` status can be activated. Sprint "{{target_sprint.name}}" is currently `{{target_sprint.status}}`.</output>
51
+ <action>Exit workflow</action>
52
+ </check>
53
+
54
+ <!-- Check single-active constraint -->
55
+ <action>Check if any other sprint has status `active`</action>
56
+ <check if="another sprint is already active">
57
+ <output>Cannot activate "{{target_sprint.name}}" — sprint "{{active_sprint.name}}" ({{active_sprint.id}}) is already active. Close it first before activating another sprint.</output>
58
+ <action>Exit workflow</action>
59
+ </check>
60
+
61
+ <ask>Activate "{{target_sprint.name}}" ({{target_sprint.id}})? This will set status to `active`. [y] Yes / [n] Cancel:</ask>
62
+ <check if="user selects 'n'">
63
+ <output>Cancelled.</output>
64
+ <action>Exit workflow</action>
65
+ </check>
66
+
67
+ <action>Set target_sprint.status = "active"</action>
68
+ <action>Update `last_modified` to current ISO timestamp</action>
69
+ <action>Write updated sprint file to `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
70
+ <output>
71
+ Sprint "{{target_sprint.name}}" is now **active**.
72
+
73
+ **Next Steps:**
74
+ - Use `/add-to-sprint` to assign backlog items
75
+ - Use `/sprint-status-view` to see sprint progress
76
+ </output>
77
+ </step>
78
+
79
+ <step n="1" goal="List available sprints and select one to modify">
80
+ <action>Glob `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` to discover all sprint artifact files</action>
81
+ <check if="no sprint files found">
82
+ <output>❌ No sprint plans found. Run `/add-sprint` first to create a sprint.</output>
83
+ <action>Exit workflow</action>
84
+ </check>
85
+ <action>For each sprint file found, read and extract: sprint_number, sprint_name, capacity, assigned_items, status, last_modified</action>
86
+ <output>
87
+ ## 🏃 Available Sprints
88
+
89
+ | # | Sprint | Status | Capacity | Assigned | Remaining | Last Modified |
90
+ |---|---|---|---|---|---|---|
91
+ {{#each sprints}}
92
+ | {{@index+1}} | {{sprint_name}} (Sprint {{sprint_number}}) | {{status}} | {{capacity}} | {{assigned_count}} | {{remaining}} | {{last_modified}} |
93
+ {{/each}}
94
+ </output>
95
+ <ask>Select sprint to modify (enter number):</ask>
96
+ <action>Store selected sprint as {{target_sprint}}</action>
97
+ <action>Store {{session_last_modified}} = {{target_sprint.last_modified}} for later concurrency guard check</action>
98
+ </step>
99
+
100
+ <step n="2" goal="Display current sprint state">
101
+ <action>Initialize {{working_assigned_items}} = copy of {{target_sprint.assigned_items}} — this working list accumulates all add/remove changes made during this session before the final save</action>
102
+ <action>Calculate remaining capacity: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
103
+ <output>
104
+ ## Sprint: {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
105
+
106
+ - **Status:** {{target_sprint.status}}
107
+ - **Capacity:** {{target_sprint.capacity}} items
108
+ - **Assigned Items:** {{assigned_count}} / {{target_sprint.capacity}} ({{remaining}} remaining)
109
+ - **Start Context:** {{target_sprint.start_context}}
110
+ - **End Context:** {{target_sprint.end_context}}
111
+ - **Last Modified:** {{target_sprint.last_modified}}
112
+
113
+ ### Assigned Items
114
+ {{#if assigned_items_empty}}
115
+ *(No items assigned yet)*
116
+ {{else}}
117
+ {{#each target_sprint.assigned_items}}
118
+ - {{this}}
119
+ {{/each}}
120
+ {{/if}}
121
+ </output>
122
+ </step>
123
+
124
+ <step n="3" goal="Present modification menu">
125
+ <ask>What would you like to modify?
126
+
127
+ 1. **Add item** — assign a new backlog item to this sprint
128
+ 2. **Remove item** — remove an assigned item from this sprint
129
+ 3. **Change capacity** — update the sprint's maximum item capacity
130
+ 4. **Update metadata** — change sprint name, start/end context, or status
131
+ 5. **Done** — save all changes and exit
132
+
133
+ Choice:</ask>
134
+ <check if="choice == 5 or 'done'">
135
+ <goto step="5" />
136
+ </check>
137
+ </step>
138
+
139
+ <step n="3a" goal="Add item" if="choice == 1">
140
+ <action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml` to get all user story keys and statuses</action>
141
+ <action>Glob `_bmad-output/implementation-artifacts/bug-*.md` for bug stories; parse YAML frontmatter for type, severity, title</action>
142
+ <action>Read ALL `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` files to build {{all_assigned_items}} — flat set of every item identifier assigned to any sprint (including the current sprint's {{working_assigned_items}})</action>
143
+ <action>Filter user stories: exclude items whose key is in {{all_assigned_items}} (already assigned to any sprint)</action>
144
+ <action>Filter bug stories: exclude items whose file basename is in {{all_assigned_items}} (already assigned to any sprint)</action>
145
+ <action>Build {{unassigned_items}} from the filtered stories and bugs, with: id, title, type (Story/Bug), status</action>
146
+ <output>
147
+ ## Unassigned Backlog Items
148
+
149
+ | # | ID / File | Title | Type | Status |
150
+ |---|---|---|---|---|
151
+ {{#each unassigned_items}}
152
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} | {{status}} |
153
+ {{/each}}
154
+ </output>
155
+ <ask>Select item to add (enter number):</ask>
156
+ <action>Store selected item as {{item_to_add}}</action>
157
+ <action>Calculate: {{new_assigned_count}} = current assigned count + 1</action>
158
+ <check if="{{new_assigned_count}} > {{target_sprint.capacity}}">
159
+ <output>⚠️ **Capacity Warning:** Adding "{{item_to_add.title}}" would bring assigned items to {{new_assigned_count}}/{{target_sprint.capacity}} — exceeding capacity by {{overage}}.</output>
160
+ <ask>Options:
161
+ - [a] Add anyway (over-capacity acknowledged)
162
+ - [s] Skip — do not add this item
163
+ - [c] Change capacity first (select option 3 from menu)
164
+
165
+ Choice:</ask>
166
+ <check if="choice == 's'">
167
+ <goto step="3" />
168
+ </check>
169
+ <check if="choice == 'c'">
170
+ <goto step="3c" />
171
+ </check>
172
+ </check>
173
+ <action>Add {{item_to_add}} identifier to {{working_assigned_items}} list</action>
174
+ <action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
175
+ <output>✅ Added "{{item_to_add.title}}" to sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
176
+ <goto step="3" />
177
+ </step>
178
+
179
+ <step n="3b" goal="Remove item" if="choice == 2">
180
+ <check if="{{working_assigned_items}} is empty">
181
+ <output>ℹ️ No items are currently assigned to this sprint.</output>
182
+ <goto step="3" />
183
+ </check>
184
+ <action>Resolve each identifier in {{working_assigned_items}} to its display name and type:
185
+ - For story identifiers (matching pattern `^\d+-\d+-.+`): infer title from key by converting kebab segments to title case (e.g., `12-1-add-sprint-workflow` → "Add Sprint Workflow"); type = "Story"; look up status in sprint-status.yaml if available
186
+ - For bug identifiers (matching pattern `^bug-.+`): look up in bug-*.md frontmatter (re-glob if not already loaded this step) for title and severity; type = "Bug"
187
+ - If resolution fails for any identifier, display the raw identifier as title with type "Unknown"
188
+ </action>
189
+ <output>
190
+ ## Currently Assigned Items
191
+
192
+ | # | ID / File | Title | Type |
193
+ |---|---|---|---|
194
+ {{#each working_assigned_items}}
195
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} |
196
+ {{/each}}
197
+ </output>
198
+ <ask>Select item to remove (enter number):</ask>
199
+ <action>Remove selected item from {{working_assigned_items}} list</action>
200
+ <action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
201
+ <output>✅ Removed item from sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
202
+ <goto step="3" />
203
+ </step>
204
+
205
+ <step n="3c" goal="Change capacity" if="choice == 3">
206
+ <ask>Enter new capacity (positive integer — current: {{target_sprint.capacity}}):</ask>
207
+ <action>Validate input is a positive integer (greater than zero)</action>
208
+ <check if="input is NOT a positive integer">
209
+ <output>❌ Invalid capacity. Must be a positive integer greater than zero.</output>
210
+ <goto step="3c" />
211
+ </check>
212
+ <action>Store {{new_capacity}} = validated integer input</action>
213
+ <action>Calculate: {{new_remaining}} = {{new_capacity}} - length({{working_assigned_items}})</action>
214
+ <output>✅ Capacity updated: {{target_sprint.capacity}} → {{new_capacity}} ({{new_remaining}} slots remaining with current {{length(working_assigned_items)}} assigned items)</output>
215
+ <action>Update {{target_sprint.capacity}} = {{new_capacity}} in working state</action>
216
+ <goto step="3" />
217
+ </step>
218
+
219
+ <step n="3d" goal="Update metadata" if="choice == 4">
220
+ <ask>Which metadata to update?
221
+ 1. Sprint name (current: "{{target_sprint.sprint_name}}")
222
+ 2. Start context (current: "{{target_sprint.start_context}}")
223
+ 3. End context (current: "{{target_sprint.end_context}}")
224
+ 4. Status (current: {{target_sprint.status}} — options: planning / active / completed)
225
+ 5. Back to menu
226
+
227
+ Choice:</ask>
228
+ <check if="choice == 1">
229
+ <ask>New sprint name:</ask>
230
+ <action>Update {{target_sprint.sprint_name}} in working state</action>
231
+ <output>✅ Sprint name updated.</output>
232
+ </check>
233
+ <check if="choice == 2">
234
+ <ask>New start context (date or milestone):</ask>
235
+ <action>Update {{target_sprint.start_context}} in working state</action>
236
+ <output>✅ Start context updated.</output>
237
+ </check>
238
+ <check if="choice == 3">
239
+ <ask>New end context (date or milestone):</ask>
240
+ <action>Update {{target_sprint.end_context}} in working state</action>
241
+ <output>✅ End context updated.</output>
242
+ </check>
243
+ <check if="choice == 4">
244
+ <ask>New status (planning / active / completed):</ask>
245
+ <action>Validate input is one of: planning, active, completed</action>
246
+ <check if="invalid status">
247
+ <output>❌ Invalid status. Choose: planning, active, or completed.</output>
248
+ </check>
249
+ <action>Update {{target_sprint.status}} in working state</action>
250
+ <output>✅ Sprint status updated.</output>
251
+ </check>
252
+ <check if="choice == 5">
253
+ <goto step="3" />
254
+ </check>
255
+ <goto step="3" />
256
+ </step>
257
+
258
+ <step n="4" goal="Concurrency guard — re-read before writing">
259
+ <action>Re-read the sprint artifact file: `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`</action>
260
+ <action>Extract the current `last_modified` timestamp from the file</action>
261
+ <check if="current file last_modified != {{session_last_modified}}">
262
+ <output>
263
+ ⚠️ **Conflict Detected:** The sprint artifact was modified externally since this session started.
264
+
265
+ **Session started with:** `last_modified: {{session_last_modified}}`
266
+ **Current file has:** `last_modified: {{current_file_last_modified}}`
267
+
268
+ **Current sprint state (re-read from file):**
269
+ </output>
270
+ <action>Display the full current state of the sprint artifact (re-read content)</action>
271
+ <ask>The file has changed. Review the current state above and confirm how to proceed:
272
+ - [o] Overwrite with your changes from this session (your modifications will replace current file content)
273
+ - [m] Merge — restart modifications from the current file state
274
+ - [x] Cancel — discard all session changes
275
+
276
+ Choice:</ask>
277
+ <check if="choice == 'x'">
278
+ <output>❌ Changes discarded. Sprint file not modified.</output>
279
+ <action>Exit workflow</action>
280
+ </check>
281
+ <check if="choice == 'm'">
282
+ <action>Reload {{target_sprint}} from current file content</action>
283
+ <action>Update {{session_last_modified}} to current file's last_modified</action>
284
+ <action>Reset {{working_assigned_items}} to current file's assigned_items</action>
285
+ <output>🔄 Reloaded sprint from current state. Please re-apply your modifications.</output>
286
+ <goto step="3" />
287
+ </check>
288
+ <!-- if 'o', proceed to write with session changes -->
289
+ </check>
290
+ </step>
291
+
292
+ <step n="5" goal="Persist changes to sprint artifact">
293
+ <action>Invoke concurrency guard (Step 4) before writing</action>
294
+ <action>Get current ISO timestamp for last_modified</action>
295
+ <action>Write updated sprint data back to `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`:
296
+ - Update `sprint_name` if changed
297
+ - Update `capacity` if changed
298
+ - Update `assigned_items` with final working list
299
+ - Update `status` if changed
300
+ - Update `start_context` if changed
301
+ - Update `end_context` if changed
302
+ - Update `last_modified` to current ISO timestamp
303
+ - Preserve `sprint_number`, `created_date` unchanged
304
+ </action>
305
+ <action>**Do NOT modify sprint-status.yaml** — sprint membership is exclusively in sprint-plan-{n}.yaml. sprint-status.yaml is read-only from this workflow.</action>
306
+ <action>Calculate final remaining capacity</action>
307
+ <output>
308
+ ## ✅ Sprint Updated Successfully
309
+
310
+ **Sprint:** {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
311
+ **File:** `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`
312
+ **Capacity:** {{final_capacity}} items ({{final_remaining}} remaining)
313
+ **Assigned Items:** {{final_assigned_count}}
314
+ **Status:** {{target_sprint.status}}
315
+
316
+ **Next Steps:**
317
+ - Use `/add-to-sprint` to assign more backlog items
318
+ - Use `/sprint-status-view` to view full sprint progress
319
+ </output>
320
+ </step>
321
+
322
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: modify-sprint
3
+ module: ma-skills
File without changes
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: prioritize-backlog
3
+ description: Reprioritize backlog items using multiple criteria — severity, business value, dependencies, type, age
4
+ type: skill
5
+ triggers:
6
+ - "prioritize backlog"
7
+ - "reorder backlog"
8
+ - "reprioritize"
9
+ ---
10
+
11
+ # Prioritize-Backlog Workflow
12
+
13
+ Reprioritize backlog items using multiple criteria — severity, business value, dependencies, type, and age.
14
+
15
+ <workflow>
16
+
17
+ <step n="1" goal="Load backlog and dependency data">
18
+ <action>Read `_bmad-output/implementation-artifacts/backlog.yaml`</action>
19
+ <check if="file missing or empty (no items)">
20
+ <output>No backlog found or backlog is empty. Nothing to prioritize.</output>
21
+ <action>Exit workflow</action>
22
+ </check>
23
+ <action>Store all backlog items as {{backlog_items}}</action>
24
+ <action>Infer implicit dependencies: stories belonging to the same epic are assumed to be sequential (lower story number before higher)</action>
25
+ <action>Read `_bmad-output/implementation-artifacts/epics.md` (or equivalent epics source) for any explicitly declared dependencies</action>
26
+ <action>Build {{dependency_map}} — for each item, list the IDs it depends on (must be completed before it can start)</action>
27
+ </step>
28
+
29
+ <step n="2" goal="Display current backlog ordering">
30
+ <output>
31
+ ## Current Backlog
32
+
33
+ | # | Priority | ID | Title | Type | Epic | Status | Sprint | Severity | Dependencies |
34
+ |---|---|---|---|---|---|---|---|---|---|
35
+ {{#each backlog_items}}
36
+ | {{@index+1}} | {{priority}} | {{id}} | {{title}} | {{type}} | {{epic}} | {{status}} | {{sprint}} | {{severity}} | {{dependencies}} |
37
+ {{/each}}
38
+
39
+ *Total: {{backlog_items.length}} items*
40
+ </output>
41
+ </step>
42
+
43
+ <step n="3" goal="Choose prioritization mode">
44
+ <ask>Choose prioritization mode:
45
+ 1. **Full reprioritization** — enter items in desired order, remaining appended at end
46
+ 2. **Quick adjust** — move individual items up/down
47
+ 3. **Auto-suggest** — AI analysis with weighted criteria
48
+ 4. **Cancel**
49
+
50
+ Choice:</ask>
51
+ <check if="choice == 4">
52
+ <output>Cancelled. No changes made.</output>
53
+ <action>Exit workflow</action>
54
+ </check>
55
+ </step>
56
+
57
+ <step n="3a" goal="Full reprioritization" if="choice == 1">
58
+ <ask>Enter item numbers in your desired priority order (comma-separated). Items not listed will be appended in their current relative order:</ask>
59
+ <action>Resolve entered numbers against the backlog table from step 2</action>
60
+ <action>Build {{new_order}}: user-specified items first (in given order), then remaining items appended in their original relative order</action>
61
+ <goto step="4" />
62
+ </step>
63
+
64
+ <step n="3b" goal="Quick adjust" if="choice == 2">
65
+ <action>Initialize {{new_order}} as a copy of the current {{backlog_items}} list (preserving current ordering)</action>
66
+ <ask>Select item number to move:</ask>
67
+ <action>Store selected item as {{item_to_move}}</action>
68
+ <ask>Move to:
69
+ - Enter a position number (1 = top, N = bottom)
70
+ - Or enter 'u' to move up one position, 'd' to move down one position
71
+
72
+ Target:</ask>
73
+ <action>Move {{item_to_move}} to the specified position in {{new_order}}</action>
74
+ <output>Moved "{{item_to_move.title}}" to position {{new_position}}.</output>
75
+ <ask>Continue? [m] Move another item / [d] Done adjusting:</ask>
76
+ <check if="user selects 'm'">
77
+ <action>Display current ordering</action>
78
+ <goto step="3b" />
79
+ </check>
80
+ <check if="user selects 'd'">
81
+ <goto step="4" />
82
+ </check>
83
+ </step>
84
+
85
+ <step n="3c" goal="Auto-suggest prioritization" if="choice == 3">
86
+ <action>Analyze all backlog items using weighted criteria:
87
+ 1. **Blocking dependencies** (highest weight) — items that block other items should come first
88
+ 2. **Severity** (bugs only) — critical > high > medium > low
89
+ 3. **Business value** — infer from epic priority, item description, and type
90
+ 4. **Type priority** — bugs generally before stories of equal value
91
+ 5. **Age** — older items (lower story numbers, earlier creation) get slight priority boost
92
+ </action>
93
+ <action>Generate {{suggested_order}} with rationale for each item's position</action>
94
+ <output>
95
+ ## Auto-Suggested Priority Order
96
+
97
+ | New # | ID | Title | Type | Rationale |
98
+ |---|---|---|---|---|
99
+ {{#each suggested_order}}
100
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} | {{rationale}} |
101
+ {{/each}}
102
+ </output>
103
+ <ask>Options:
104
+ - [a] Accept this ordering
105
+ - [m] Modify (switch to full reprioritization with this as starting point)
106
+ - [r] Reject (return to mode selection)
107
+
108
+ Choice:</ask>
109
+ <check if="user selects 'a'">
110
+ <action>Set {{new_order}} = {{suggested_order}}</action>
111
+ <goto step="4" />
112
+ </check>
113
+ <check if="user selects 'm'">
114
+ <action>Set current backlog display to {{suggested_order}}</action>
115
+ <goto step="3a" />
116
+ </check>
117
+ <check if="user selects 'r'">
118
+ <goto step="3" />
119
+ </check>
120
+ </step>
121
+
122
+ <step n="4" goal="Dependency validation">
123
+ <action>For each item in {{new_order}}, check if it appears before any item it depends on</action>
124
+ <check if="dependency violations found">
125
+ <output>
126
+ **Dependency Warning:** The following items appear before their dependencies:
127
+
128
+ {{#each violations}}
129
+ - **{{item.id}}** (position {{item.position}}) depends on **{{dependency.id}}** (position {{dependency.position}})
130
+ {{/each}}
131
+ </output>
132
+ <ask>How to proceed?
133
+ - [o] Override — keep current order despite dependency warnings
134
+ - [f] Fix — automatically reorder to satisfy dependencies
135
+ - [c] Cancel — return to mode selection
136
+
137
+ Choice:</ask>
138
+ <check if="user selects 'f'">
139
+ <action>Reorder {{new_order}} to satisfy dependency constraints (move dependency items before their dependents, preserving relative order otherwise)</action>
140
+ <output>Dependencies fixed. Updated ordering applied.</output>
141
+ </check>
142
+ <check if="user selects 'c'">
143
+ <goto step="3" />
144
+ </check>
145
+ <!-- if 'o', proceed with current order -->
146
+ </check>
147
+ </step>
148
+
149
+ <step n="5" goal="Confirm and persist new ordering">
150
+ <output>
151
+ ## Old vs New Priority Order
152
+
153
+ | Position | Old | New |
154
+ |---|---|---|
155
+ {{#each comparison}}
156
+ | {{position}} | {{old_id}} — {{old_title}} | {{new_id}} — {{new_title}} |
157
+ {{/each}}
158
+ </output>
159
+ <ask>Provide a brief reason for this reprioritization:</ask>
160
+ <action>Store as {{reason}}</action>
161
+ <ask>Confirm? [y] Apply / [n] Cancel / [e] Edit order:</ask>
162
+ <check if="user selects 'n'">
163
+ <output>Cancelled. No changes made.</output>
164
+ <action>Exit workflow</action>
165
+ </check>
166
+ <check if="user selects 'e'">
167
+ <goto step="3" />
168
+ </check>
169
+ <check if="user input is not 'y', 'n', or 'e'">
170
+ <output>Unrecognized option: "{{user_input}}". Please enter [y], [n], or [e].</output>
171
+ <goto step="5" />
172
+ </check>
173
+
174
+ <action>Update `_bmad-output/implementation-artifacts/backlog.yaml`:
175
+ - Rewrite items in {{new_order}} sequence
176
+ - Set priority fields sequentially: 1, 2, 3, ..., N
177
+ - Add or update header comment: `# Reprioritized: {{current_date}} — {{reason}}`
178
+ - Preserve all other item fields unchanged
179
+ </action>
180
+ <output>
181
+ ## Reprioritization Complete
182
+
183
+ **Items reordered:** {{new_order.length}}
184
+ **Reason:** {{reason}}
185
+ **Date:** {{current_date}}
186
+
187
+ Updated priorities written to `_bmad-output/implementation-artifacts/backlog.yaml`.
188
+
189
+ **Next Steps:**
190
+ - Use `/sprint-status-view` to review sprint assignments
191
+ - Use `/add-to-sprint` to assign top-priority items to a sprint
192
+ </output>
193
+ </step>
194
+
195
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: prioritize-backlog
3
+ module: ma-skills