ma-agents 3.4.7 → 3.4.9

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 (517) hide show
  1. package/.opencode/skills/.ma-agents.json +134 -134
  2. package/.opencode/skills/add-sprint/SKILL.md +207 -0
  3. package/.opencode/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
  4. package/.opencode/skills/add-to-sprint/SKILL.md +189 -0
  5. package/.opencode/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
  6. package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +137 -0
  7. package/.opencode/skills/bmad-advanced-elicitation/methods.csv +51 -0
  8. package/.opencode/skills/bmad-agent-analyst/SKILL.md +56 -0
  9. package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +11 -0
  10. package/.opencode/skills/bmad-agent-architect/SKILL.md +52 -0
  11. package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +11 -0
  12. package/.opencode/skills/bmad-agent-dev/SKILL.md +62 -0
  13. package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +11 -0
  14. package/.opencode/skills/bmad-agent-pm/SKILL.md +57 -0
  15. package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +11 -0
  16. package/.opencode/skills/bmad-agent-qa/SKILL.md +59 -0
  17. package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +11 -0
  18. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +51 -0
  19. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +11 -0
  20. package/.opencode/skills/bmad-agent-sm/SKILL.md +53 -0
  21. package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +11 -0
  22. package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +55 -0
  23. package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
  24. package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +20 -0
  25. package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +20 -0
  26. package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +19 -0
  27. package/.opencode/skills/bmad-agent-tech-writer/write-document.md +20 -0
  28. package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +53 -0
  29. package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +11 -0
  30. package/.opencode/skills/bmad-brainstorming/SKILL.md +6 -0
  31. package/.opencode/skills/bmad-brainstorming/brain-methods.csv +62 -0
  32. package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
  33. package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
  34. package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
  35. package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  36. package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
  37. package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  38. package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
  39. package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
  40. package/.opencode/skills/bmad-brainstorming/template.md +15 -0
  41. package/.opencode/skills/bmad-brainstorming/workflow.md +53 -0
  42. package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +6 -0
  43. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  44. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  45. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  46. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  47. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  48. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  49. package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  50. package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +49 -0
  51. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +6 -0
  52. package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
  53. package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +31 -0
  54. package/.opencode/skills/bmad-cis-design-thinking/template.md +111 -0
  55. package/.opencode/skills/bmad-cis-design-thinking/workflow.md +242 -0
  56. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +6 -0
  57. package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
  58. package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
  59. package/.opencode/skills/bmad-cis-innovation-strategy/template.md +189 -0
  60. package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +315 -0
  61. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +6 -0
  62. package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
  63. package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +31 -0
  64. package/.opencode/skills/bmad-cis-problem-solving/template.md +165 -0
  65. package/.opencode/skills/bmad-cis-problem-solving/workflow.md +291 -0
  66. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +6 -0
  67. package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
  68. package/.opencode/skills/bmad-cis-storytelling/story-types.csv +26 -0
  69. package/.opencode/skills/bmad-cis-storytelling/template.md +113 -0
  70. package/.opencode/skills/bmad-cis-storytelling/workflow.md +321 -0
  71. package/.opencode/skills/bmad-code-review/SKILL.md +6 -0
  72. package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +62 -0
  73. package/.opencode/skills/bmad-code-review/steps/step-02-review.md +34 -0
  74. package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +49 -0
  75. package/.opencode/skills/bmad-code-review/steps/step-04-present.md +129 -0
  76. package/.opencode/skills/bmad-code-review/workflow.md +55 -0
  77. package/.opencode/skills/bmad-correct-course/SKILL.md +6 -0
  78. package/.opencode/skills/bmad-correct-course/checklist.md +288 -0
  79. package/.opencode/skills/bmad-correct-course/workflow.md +267 -0
  80. package/.opencode/skills/bmad-create-architecture/SKILL.md +6 -0
  81. package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +12 -0
  82. package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +13 -0
  83. package/.opencode/skills/bmad-create-architecture/data/project-types.csv +7 -0
  84. package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +153 -0
  85. package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +173 -0
  86. package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +224 -0
  87. package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +329 -0
  88. package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +318 -0
  89. package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +359 -0
  90. package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +379 -0
  91. package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +359 -0
  92. package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +76 -0
  93. package/.opencode/skills/bmad-create-architecture/workflow.md +38 -0
  94. package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +6 -0
  95. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  96. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  97. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  98. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  99. package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
  100. package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +53 -0
  101. package/.opencode/skills/bmad-create-prd/SKILL.md +6 -0
  102. package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +15 -0
  103. package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +197 -0
  104. package/.opencode/skills/bmad-create-prd/data/project-types.csv +11 -0
  105. package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +178 -0
  106. package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
  107. package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
  108. package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
  109. package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  110. package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +214 -0
  111. package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
  112. package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +194 -0
  113. package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
  114. package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
  115. package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +216 -0
  116. package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +219 -0
  117. package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  118. package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +221 -0
  119. package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +115 -0
  120. package/.opencode/skills/bmad-create-prd/templates/prd-template.md +10 -0
  121. package/.opencode/skills/bmad-create-prd/workflow.md +62 -0
  122. package/.opencode/skills/bmad-create-story/SKILL.md +6 -0
  123. package/.opencode/skills/bmad-create-story/checklist.md +357 -0
  124. package/.opencode/skills/bmad-create-story/discover-inputs.md +88 -0
  125. package/.opencode/skills/bmad-create-story/template.md +49 -0
  126. package/.opencode/skills/bmad-create-story/workflow.md +380 -0
  127. package/.opencode/skills/bmad-create-ux-design/SKILL.md +6 -0
  128. package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +135 -0
  129. package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
  130. package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
  131. package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
  132. package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
  133. package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
  134. package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
  135. package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
  136. package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  137. package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
  138. package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
  139. package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
  140. package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  141. package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  142. package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +171 -0
  143. package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +13 -0
  144. package/.opencode/skills/bmad-create-ux-design/workflow.md +36 -0
  145. package/.opencode/skills/bmad-dev-story/SKILL.md +6 -0
  146. package/.opencode/skills/bmad-dev-story/checklist.md +80 -0
  147. package/.opencode/skills/bmad-dev-story/workflow.md +450 -0
  148. package/.opencode/skills/bmad-distillator/SKILL.md +178 -0
  149. package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
  150. package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
  151. package/.opencode/skills/bmad-distillator/resources/compression-rules.md +51 -0
  152. package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
  153. package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
  154. package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
  155. package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
  156. package/.opencode/skills/bmad-document-project/SKILL.md +6 -0
  157. package/.opencode/skills/bmad-document-project/checklist.md +245 -0
  158. package/.opencode/skills/bmad-document-project/documentation-requirements.csv +12 -0
  159. package/.opencode/skills/bmad-document-project/instructions.md +128 -0
  160. package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +345 -0
  161. package/.opencode/skills/bmad-document-project/templates/index-template.md +169 -0
  162. package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +103 -0
  163. package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +160 -0
  164. package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +135 -0
  165. package/.opencode/skills/bmad-document-project/workflow.md +27 -0
  166. package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +299 -0
  167. package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
  168. package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +1107 -0
  169. package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +34 -0
  170. package/.opencode/skills/bmad-domain-research/SKILL.md +6 -0
  171. package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +137 -0
  172. package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  173. package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  174. package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  175. package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  176. package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  177. package/.opencode/skills/bmad-domain-research/research.template.md +29 -0
  178. package/.opencode/skills/bmad-domain-research/workflow.md +49 -0
  179. package/.opencode/skills/bmad-edit-prd/SKILL.md +6 -0
  180. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  181. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  182. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
  183. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
  184. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +165 -0
  185. package/.opencode/skills/bmad-edit-prd/workflow.md +63 -0
  186. package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +86 -0
  187. package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +179 -0
  188. package/.opencode/skills/bmad-generate-project-context/SKILL.md +6 -0
  189. package/.opencode/skills/bmad-generate-project-context/project-context-template.md +21 -0
  190. package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +186 -0
  191. package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +321 -0
  192. package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +278 -0
  193. package/.opencode/skills/bmad-generate-project-context/workflow.md +43 -0
  194. package/.opencode/skills/bmad-help/SKILL.md +73 -0
  195. package/.opencode/skills/bmad-index-docs/SKILL.md +66 -0
  196. package/.opencode/skills/bmad-init/SKILL.md +100 -0
  197. package/.opencode/skills/bmad-init/resources/core-module.yaml +25 -0
  198. package/.opencode/skills/bmad-init/scripts/bmad_init.py +593 -0
  199. package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +329 -0
  200. package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +49 -0
  201. package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
  202. package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +49 -0
  203. package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +11 -0
  204. package/.opencode/skills/bmad-ma-agent-mil498/.gitkeep +0 -0
  205. package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +53 -0
  206. package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +11 -0
  207. package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
  208. package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +59 -0
  209. package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +11 -0
  210. package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
  211. package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +49 -0
  212. package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +11 -0
  213. package/.opencode/skills/bmad-market-research/SKILL.md +6 -0
  214. package/.opencode/skills/bmad-market-research/research.template.md +29 -0
  215. package/.opencode/skills/bmad-market-research/steps/step-01-init.md +184 -0
  216. package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
  217. package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
  218. package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
  219. package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
  220. package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +478 -0
  221. package/.opencode/skills/bmad-market-research/workflow.md +49 -0
  222. package/.opencode/skills/bmad-party-mode/SKILL.md +6 -0
  223. package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +138 -0
  224. package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +187 -0
  225. package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +167 -0
  226. package/.opencode/skills/bmad-party-mode/workflow.md +190 -0
  227. package/.opencode/skills/bmad-product-brief/SKILL.md +87 -0
  228. package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +60 -0
  229. package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +44 -0
  230. package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +44 -0
  231. package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +49 -0
  232. package/.opencode/skills/bmad-product-brief/bmad-manifest.json +17 -0
  233. package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +57 -0
  234. package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +86 -0
  235. package/.opencode/skills/bmad-product-brief/prompts/finalize.md +75 -0
  236. package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +70 -0
  237. package/.opencode/skills/bmad-product-brief/resources/brief-template.md +60 -0
  238. package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
  239. package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
  240. package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +136 -0
  241. package/.opencode/skills/bmad-quick-dev/SKILL.md +6 -0
  242. package/.opencode/skills/bmad-quick-dev/spec-template.md +88 -0
  243. package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +64 -0
  244. package/.opencode/skills/bmad-quick-dev/step-02-plan.md +35 -0
  245. package/.opencode/skills/bmad-quick-dev/step-03-implement.md +37 -0
  246. package/.opencode/skills/bmad-quick-dev/step-04-review.md +49 -0
  247. package/.opencode/skills/bmad-quick-dev/step-05-present.md +63 -0
  248. package/.opencode/skills/bmad-quick-dev/step-oneshot.md +49 -0
  249. package/.opencode/skills/bmad-quick-dev/workflow.md +79 -0
  250. package/.opencode/skills/bmad-retrospective/SKILL.md +6 -0
  251. package/.opencode/skills/bmad-retrospective/workflow.md +1479 -0
  252. package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +37 -0
  253. package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
  254. package/.opencode/skills/bmad-shard-doc/SKILL.md +105 -0
  255. package/.opencode/skills/bmad-sprint-planning/SKILL.md +6 -0
  256. package/.opencode/skills/bmad-sprint-planning/checklist.md +33 -0
  257. package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +56 -0
  258. package/.opencode/skills/bmad-sprint-planning/workflow.md +263 -0
  259. package/.opencode/skills/bmad-sprint-status/SKILL.md +6 -0
  260. package/.opencode/skills/bmad-sprint-status/workflow.md +261 -0
  261. package/.opencode/skills/bmad-technical-research/SKILL.md +6 -0
  262. package/.opencode/skills/bmad-technical-research/research.template.md +29 -0
  263. package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +137 -0
  264. package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  265. package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  266. package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  267. package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  268. package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  269. package/.opencode/skills/bmad-technical-research/workflow.md +50 -0
  270. package/.opencode/skills/bmad-validate-prd/SKILL.md +6 -0
  271. package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +15 -0
  272. package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +197 -0
  273. package/.opencode/skills/bmad-validate-prd/data/project-types.csv +11 -0
  274. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  275. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  276. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  277. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  278. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  279. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  280. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  281. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  282. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  283. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  284. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  285. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  286. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  287. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  288. package/.opencode/skills/bmad-validate-prd/workflow.md +62 -0
  289. package/.opencode/skills/cleanup-done/.gitkeep +0 -0
  290. package/.opencode/skills/create-bug-story/.gitkeep +0 -0
  291. package/.opencode/skills/create-bug-story/SKILL.md +263 -0
  292. package/.opencode/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
  293. package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
  294. package/.opencode/skills/cyber-generate-certs/SKILL.md +27 -0
  295. package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
  296. package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
  297. package/.opencode/skills/cyber-immunity-estimation/SKILL.md +29 -0
  298. package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
  299. package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
  300. package/.opencode/skills/cyber-security-audit/SKILL.md +27 -0
  301. package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
  302. package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
  303. package/.opencode/skills/cyber-vault-secrets/SKILL.md +28 -0
  304. package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
  305. package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
  306. package/.opencode/skills/cyber-verify-docker-users/SKILL.md +23 -0
  307. package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
  308. package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
  309. package/.opencode/skills/cyber-verify-image-signature/SKILL.md +22 -0
  310. package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
  311. package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  312. package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +28 -0
  313. package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
  314. package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
  315. package/.opencode/skills/devops-configure-infrastructure/SKILL.md +27 -0
  316. package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
  317. package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
  318. package/.opencode/skills/devops-disconnected-deployment/SKILL.md +27 -0
  319. package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
  320. package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
  321. package/.opencode/skills/devops-docker-compose-setup/SKILL.md +26 -0
  322. package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
  323. package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
  324. package/.opencode/skills/devops-manage-helm/SKILL.md +28 -0
  325. package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
  326. package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
  327. package/.opencode/skills/devops-sign-docker-image/SKILL.md +24 -0
  328. package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
  329. package/.opencode/skills/generate-backlog/.gitkeep +0 -0
  330. package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
  331. package/.opencode/skills/mil498-ocd/SKILL.md +30 -0
  332. package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
  333. package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
  334. package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +10 -0
  335. package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
  336. package/.opencode/skills/mil498-ocd/prompts/04-validate.md +14 -0
  337. package/.opencode/skills/mil498-ocd/prompts/05-review.md +15 -0
  338. package/.opencode/skills/mil498-ocd/prompts/06-save.md +15 -0
  339. package/.opencode/skills/mil498-ocd/template.md +169 -0
  340. package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
  341. package/.opencode/skills/mil498-sdd/SKILL.md +30 -0
  342. package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
  343. package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
  344. package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +10 -0
  345. package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
  346. package/.opencode/skills/mil498-sdd/prompts/04-validate.md +16 -0
  347. package/.opencode/skills/mil498-sdd/prompts/05-review.md +15 -0
  348. package/.opencode/skills/mil498-sdd/prompts/06-save.md +19 -0
  349. package/.opencode/skills/mil498-sdd/template.md +163 -0
  350. package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
  351. package/.opencode/skills/mil498-sdp/SKILL.md +30 -0
  352. package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
  353. package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
  354. package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +10 -0
  355. package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
  356. package/.opencode/skills/mil498-sdp/prompts/04-validate.md +13 -0
  357. package/.opencode/skills/mil498-sdp/prompts/05-review.md +15 -0
  358. package/.opencode/skills/mil498-sdp/prompts/06-save.md +14 -0
  359. package/.opencode/skills/mil498-sdp/template.md +307 -0
  360. package/.opencode/skills/mil498-srs/.gitkeep +0 -0
  361. package/.opencode/skills/mil498-srs/SKILL.md +30 -0
  362. package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
  363. package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
  364. package/.opencode/skills/mil498-srs/prompts/02-load-template.md +10 -0
  365. package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +100 -0
  366. package/.opencode/skills/mil498-srs/prompts/04-validate.md +16 -0
  367. package/.opencode/skills/mil498-srs/prompts/05-review.md +15 -0
  368. package/.opencode/skills/mil498-srs/prompts/06-save.md +18 -0
  369. package/.opencode/skills/mil498-srs/template.md +219 -0
  370. package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
  371. package/.opencode/skills/mil498-ssdd/SKILL.md +32 -0
  372. package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
  373. package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
  374. package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
  375. package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
  376. package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
  377. package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +14 -0
  378. package/.opencode/skills/mil498-ssdd/prompts/06-review.md +16 -0
  379. package/.opencode/skills/mil498-ssdd/prompts/07-save.md +16 -0
  380. package/.opencode/skills/mil498-ssdd/template.md +154 -0
  381. package/.opencode/skills/mil498-sss/.gitkeep +0 -0
  382. package/.opencode/skills/mil498-sss/SKILL.md +31 -0
  383. package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
  384. package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
  385. package/.opencode/skills/mil498-sss/prompts/02-load-template.md +10 -0
  386. package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +108 -0
  387. package/.opencode/skills/mil498-sss/prompts/04-validate.md +16 -0
  388. package/.opencode/skills/mil498-sss/prompts/05-review.md +15 -0
  389. package/.opencode/skills/mil498-sss/prompts/06-save.md +15 -0
  390. package/.opencode/skills/mil498-sss/template.md +225 -0
  391. package/.opencode/skills/mil498-std/.gitkeep +0 -0
  392. package/.opencode/skills/mil498-std/SKILL.md +30 -0
  393. package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
  394. package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
  395. package/.opencode/skills/mil498-std/prompts/02-load-template.md +10 -0
  396. package/.opencode/skills/mil498-std/prompts/03-generate-document.md +117 -0
  397. package/.opencode/skills/mil498-std/prompts/04-validate.md +15 -0
  398. package/.opencode/skills/mil498-std/prompts/05-review.md +15 -0
  399. package/.opencode/skills/mil498-std/prompts/06-save.md +15 -0
  400. package/.opencode/skills/mil498-std/template.md +188 -0
  401. package/.opencode/skills/ml-advise/.gitkeep +0 -0
  402. package/.opencode/skills/ml-advise/SKILL.md +76 -0
  403. package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +3 -0
  404. package/.opencode/skills/ml-advise/skill.json +7 -0
  405. package/.opencode/skills/ml-analysis/.gitkeep +0 -0
  406. package/.opencode/skills/ml-analysis/SKILL.md +60 -0
  407. package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +3 -0
  408. package/.opencode/skills/ml-analysis/skill.json +7 -0
  409. package/.opencode/skills/ml-architecture/.gitkeep +0 -0
  410. package/.opencode/skills/ml-architecture/SKILL.md +55 -0
  411. package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +3 -0
  412. package/.opencode/skills/ml-architecture/skill.json +7 -0
  413. package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
  414. package/.opencode/skills/ml-detailed-design/SKILL.md +67 -0
  415. package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +3 -0
  416. package/.opencode/skills/ml-detailed-design/skill.json +7 -0
  417. package/.opencode/skills/ml-eda/.gitkeep +0 -0
  418. package/.opencode/skills/ml-eda/SKILL.md +56 -0
  419. package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +3 -0
  420. package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +522 -0
  421. package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +295 -0
  422. package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +383 -0
  423. package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +654 -0
  424. package/.opencode/skills/ml-eda/skill.json +7 -0
  425. package/.opencode/skills/ml-experiment/.gitkeep +0 -0
  426. package/.opencode/skills/ml-experiment/SKILL.md +74 -0
  427. package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +430 -0
  428. package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +233 -0
  429. package/.opencode/skills/ml-experiment/assets/template_datamodule.py +219 -0
  430. package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +341 -0
  431. package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +158 -0
  432. package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +3 -0
  433. package/.opencode/skills/ml-experiment/skill.json +7 -0
  434. package/.opencode/skills/ml-hparam/.gitkeep +0 -0
  435. package/.opencode/skills/ml-hparam/SKILL.md +81 -0
  436. package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +3 -0
  437. package/.opencode/skills/ml-hparam/skill.json +7 -0
  438. package/.opencode/skills/ml-ideation/.gitkeep +0 -0
  439. package/.opencode/skills/ml-ideation/SKILL.md +50 -0
  440. package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +3 -0
  441. package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +287 -0
  442. package/.opencode/skills/ml-ideation/skill.json +7 -0
  443. package/.opencode/skills/ml-infra/.gitkeep +0 -0
  444. package/.opencode/skills/ml-infra/SKILL.md +58 -0
  445. package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +3 -0
  446. package/.opencode/skills/ml-infra/skill.json +7 -0
  447. package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
  448. package/.opencode/skills/ml-retrospective/SKILL.md +63 -0
  449. package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +3 -0
  450. package/.opencode/skills/ml-retrospective/skill.json +7 -0
  451. package/.opencode/skills/ml-revision/.gitkeep +0 -0
  452. package/.opencode/skills/ml-revision/SKILL.md +82 -0
  453. package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +3 -0
  454. package/.opencode/skills/ml-revision/skill.json +7 -0
  455. package/.opencode/skills/ml-techspec/.gitkeep +0 -0
  456. package/.opencode/skills/ml-techspec/SKILL.md +80 -0
  457. package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +3 -0
  458. package/.opencode/skills/ml-techspec/skill.json +7 -0
  459. package/.opencode/skills/modify-sprint/.gitkeep +0 -0
  460. package/.opencode/skills/modify-sprint/SKILL.md +322 -0
  461. package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
  462. package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
  463. package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
  464. package/.opencode/skills/project-context-expansion/SKILL.md +238 -0
  465. package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
  466. package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
  467. package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
  468. package/.opencode/skills/sprint-status-view/SKILL.md +263 -0
  469. package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
  470. package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
  471. package/.opencode/skills/sre-check-deployment-status/SKILL.md +32 -0
  472. package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
  473. package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
  474. package/.opencode/skills/sre-check-secrets/SKILL.md +23 -0
  475. package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
  476. package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
  477. package/.opencode/skills/sre-check-system-status/SKILL.md +27 -0
  478. package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
  479. package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
  480. package/.opencode/skills/sre-day-2-ops/SKILL.md +26 -0
  481. package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
  482. package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
  483. package/.opencode/skills/sre-deployment-strategies/SKILL.md +28 -0
  484. package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
  485. package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
  486. package/.opencode/skills/sre-fix-deployments/SKILL.md +25 -0
  487. package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
  488. package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
  489. package/.opencode/skills/sre-gitops-status/SKILL.md +25 -0
  490. package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
  491. package/.roo/skills/.ma-agents.json +134 -134
  492. package/bin/cli.js +25 -10
  493. package/lib/agents.js +21 -51
  494. package/lib/bmad-extension/module-help.csv +4 -21
  495. package/lib/bmad-extension/skills/add-sprint/SKILL.md +40 -126
  496. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +142 -116
  497. package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
  498. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +0 -63
  499. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +138 -199
  500. package/lib/bmad-extension/workflows/add-sprint/workflow.md +39 -129
  501. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +205 -3
  502. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +0 -5
  503. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +192 -3
  504. package/lib/installer.js +13 -5
  505. package/package.json +1 -1
  506. /package/{lib/bmad-extension/skills/cleanup-done → .opencode/skills/add-sprint}/.gitkeep +0 -0
  507. /package/{lib/bmad-extension/skills/generate-backlog → .opencode/skills/add-to-sprint}/.gitkeep +0 -0
  508. /package/{lib/bmad-extension/skills/prioritize-backlog → .opencode/skills/bmad-ma-agent-cyber}/.gitkeep +0 -0
  509. /package/{lib/bmad-extension/skills/remove-from-sprint → .opencode/skills/bmad-ma-agent-devops}/.gitkeep +0 -0
  510. /package/{lib/bmad-extension → .opencode}/skills/cleanup-done/SKILL.md +0 -0
  511. /package/{lib/bmad-extension → .opencode}/skills/cleanup-done/bmad-skill-manifest.yaml +0 -0
  512. /package/{lib/bmad-extension → .opencode}/skills/generate-backlog/SKILL.md +0 -0
  513. /package/{lib/bmad-extension → .opencode}/skills/generate-backlog/bmad-skill-manifest.yaml +0 -0
  514. /package/{lib/bmad-extension → .opencode}/skills/prioritize-backlog/SKILL.md +0 -0
  515. /package/{lib/bmad-extension → .opencode}/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -0
  516. /package/{lib/bmad-extension → .opencode}/skills/remove-from-sprint/SKILL.md +0 -0
  517. /package/{lib/bmad-extension → .opencode}/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -0
@@ -55,32 +55,7 @@ Guided workflow to create a structured bug story from a detected defect and add
55
55
  <action>Store as {{actual_behavior}}</action>
56
56
  </step>
57
57
 
58
- <step n="4" goal="Gather version and bug type">
59
- <ask>What version was this bug found in? (optional — press Enter to skip; e.g., "2.3.1", "v1.0.0-rc2")</ask>
60
- <action>Store as {{version_found}} (empty string if skipped)</action>
61
-
62
- <output>
63
- **Bug type classifications:**
64
- - `regression` — Previously working feature now broken
65
- - `functional` — Feature does not work as specified
66
- - `performance` — Unacceptable latency, throughput, or resource usage
67
- - `security` — Vulnerability or authentication/authorization flaw
68
- - `ui` — Visual or interaction defect
69
- - `data` — Data corruption, loss, or incorrect transformation
70
- - `integration` — Failure at system/service boundaries
71
- - `other` — Does not fit the above categories
72
- </output>
73
- <ask>What is the bug type? [regression / functional / performance / security / ui / data / integration / other] (default: functional)</ask>
74
- <action>Store as {{bug_type}}</action>
75
- <action>If empty or blank, default to "functional"</action>
76
- <action>Normalize to lowercase</action>
77
- <check if="{{bug_type}} is not one of: regression, functional, performance, security, ui, data, integration, other">
78
- <output>❌ Bug type must be one of: regression, functional, performance, security, ui, data, integration, other.</output>
79
- <goto step="4" />
80
- </check>
81
- </step>
82
-
83
- <step n="5" goal="Gather root cause hypothesis and affected files">
58
+ <step n="4" goal="Gather root cause hypothesis and affected files">
84
59
  <ask>What is your root cause hypothesis? (optional — press Enter to skip; e.g., "Null check missing in validateUser()")</ask>
85
60
  <action>Store as {{root_cause}} (empty string if skipped)</action>
86
61
 
@@ -92,7 +67,7 @@ Guided workflow to create a structured bug story from a detected defect and add
92
67
  <action>Store as {{suggested_fix}} (empty string if skipped)</action>
93
68
  </step>
94
69
 
95
- <step n="6" goal="Confirm all bug details before writing">
70
+ <step n="5" goal="Confirm all bug details before writing">
96
71
  <action>Derive {{title_slug}} by converting {{bug_title}} to lowercase kebab-case:
97
72
  - Convert to lowercase
98
73
  - Replace spaces and underscores with hyphens
@@ -107,8 +82,6 @@ Guided workflow to create a structured bug story from a detected defect and add
107
82
 
108
83
  - **Title:** {{bug_title}}
109
84
  - **Severity:** {{severity}}
110
- - **Bug Type:** {{bug_type}}
111
- - **Version Found:** {{version_found}} *(empty if skipped)*
112
85
  - **Affected Component:** {{affected_component}}
113
86
  - **Reproduction Steps:** {{reproduction_steps}}
114
87
  - **Expected Behavior:** {{expected_behavior}}
@@ -120,15 +93,14 @@ Guided workflow to create a structured bug story from a detected defect and add
120
93
  </output>
121
94
  <ask>Confirm creation? [y] Yes / [n] Cancel / [e] Edit a field:</ask>
122
95
  <check if="user selects 'e'">
123
- <ask>Which field to edit? (title / severity / component / steps / expected / actual / version / bug-type / root-cause / files / fix)</ask>
96
+ <ask>Which field to edit? (title / severity / component / steps / expected / actual / root-cause / files / fix)</ask>
124
97
  <check if="field == 'title' OR field == 'severity'"><goto step="1" /></check>
125
98
  <check if="field == 'component' OR field == 'steps'"><goto step="2" /></check>
126
99
  <check if="field == 'expected' OR field == 'actual'"><goto step="3" /></check>
127
- <check if="field == 'version' OR field == 'bug-type'"><goto step="4" /></check>
128
- <check if="field == 'root-cause' OR field == 'files' OR field == 'fix'"><goto step="5" /></check>
100
+ <check if="field == 'root-cause' OR field == 'files' OR field == 'fix'"><goto step="4" /></check>
129
101
  <check if="none of the above matched">
130
- <output>❌ Unrecognized field. Valid options: title / severity / component / steps / expected / actual / version / bug-type / root-cause / files / fix</output>
131
- <goto step="6" />
102
+ <output>❌ Unrecognized field. Valid options: title / severity / component / steps / expected / actual / root-cause / files / fix</output>
103
+ <goto step="5" />
132
104
  </check>
133
105
  </check>
134
106
  <check if="user selects 'n'">
@@ -137,7 +109,7 @@ Guided workflow to create a structured bug story from a detected defect and add
137
109
  </check>
138
110
  </step>
139
111
 
140
- <step n="7" goal="Write bug story file">
112
+ <step n="6" goal="Write bug story file">
141
113
  <action>Check if {{output_file}} already exists</action>
142
114
  <check if="file already exists">
143
115
  <output>⚠️ A bug story already exists at `{{output_file}}`.</output>
@@ -164,10 +136,7 @@ Guided workflow to create a structured bug story from a detected defect and add
164
136
  ```
165
137
  ---
166
138
  type: bug
167
- status: backlog
168
139
  severity: {{severity}}
169
- bug_type: {{bug_type}}
170
- version_found: {{version_found}}
171
140
  title: {{bug_title}}
172
141
  ---
173
142
 
@@ -214,45 +183,8 @@ title: {{bug_title}}
214
183
  - **File:** `{{output_file}}`
215
184
  - **Title:** {{bug_title}}
216
185
  - **Severity:** {{severity}}
217
- - **Bug Type:** {{bug_type}}
218
186
  - **Component:** {{affected_component}}
219
- </output>
220
- </step>
221
-
222
- <step n="8" goal="Add bug entry to backlog.yaml">
223
- <action>Check if `_bmad-output/implementation-artifacts/backlog.yaml` exists</action>
224
-
225
- <check if="backlog.yaml exists">
226
- <action>Read `_bmad-output/implementation-artifacts/backlog.yaml`</action>
227
- <action>Determine the next priority number by finding the highest existing priority value and adding 1</action>
228
- <action>Append a new entry at the end of the backlog items list with the following format:
229
- ```yaml
230
- - id: "BUG-{{title_slug}}"
231
- type: bug
232
- epic: null
233
- title: "{{bug_title}}"
234
- priority: N
235
- status: backlog
236
- sprint: null
237
- severity: {{severity}}
238
- ```
239
- Where N is the next priority number.
240
- </action>
241
- <action>Re-number all priorities sequentially (1, 2, 3, ...) from top to bottom to ensure no gaps</action>
242
- <action>Write the updated backlog.yaml back to disk</action>
243
- <output>
244
- 📋 **Backlog updated!** Added `BUG-{{title_slug}}` to `_bmad-output/implementation-artifacts/backlog.yaml` with priority {{N}}.
245
- </output>
246
- </check>
247
187
 
248
- <check if="backlog.yaml does not exist">
249
- <output>
250
- ℹ️ No `backlog.yaml` found at `_bmad-output/implementation-artifacts/backlog.yaml`.
251
- Run `/generate-backlog` to create a backlog that will include this bug story.
252
- </output>
253
- </check>
254
-
255
- <output>
256
188
  **Next Steps:**
257
189
  - Use `/add-to-sprint` to assign this bug to the current sprint
258
190
  - Use `/sprint-status-view` to see all sprint items including this bug
@@ -7,75 +7,12 @@ triggers:
7
7
  - "edit sprint"
8
8
  ---
9
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
10
  # Modify Sprint Workflow
19
11
 
20
12
  Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata.
21
13
 
22
14
  <workflow>
23
15
 
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
16
  <step n="1" goal="List available sprints and select one to modify">
80
17
  <action>Glob `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` to discover all sprint artifact files</action>
81
18
  <check if="no sprint files found">
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: sprint-status-view
3
- description: Display sprint progress with capacity, items, and backlog. Regenerates sprint-status.yaml.
3
+ description: Display sprint progress with assigned items, type distinction, and remaining capacity
4
4
  type: skill
5
5
  triggers:
6
6
  - "sprint status view"
@@ -9,255 +9,194 @@ triggers:
9
9
 
10
10
  # Sprint Status View Workflow
11
11
 
12
- Display sprint status with capacity, items, and backlog summary. Regenerates `sprint-status.yaml` from authoritative sources.
12
+ Extension workflow that displays sprint progress with assigned items (stories + bugs), type distinction, and remaining capacity.
13
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>
14
+ > **Architecture mandate:** This workflow is a NEW extension at `lib/bmad-extension/workflows/sprint-status-view/`. It does NOT modify any files under `_bmad/bmm/workflows/`.
26
15
 
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>
16
+ <workflow>
37
17
 
38
- <check if="no sprint files found AND no backlog.yaml exists">
18
+ <step n="1" goal="Discover all sprint artifact files">
19
+ <action>Glob `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` to discover all sprint artifact files</action>
20
+ <check if="no sprint files found">
39
21
  <output>
40
- **No Sprint Data Found**
22
+ ℹ️ **No Sprints Found**
41
23
 
42
- No sprint files exist (`sprints/sprint-*.yaml`) and no `backlog.yaml` was found.
24
+ No sprint plan files exist yet (`sprint-plan-*.yaml`).
43
25
 
44
26
  **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
27
+ - Run `/add-sprint` to create your first sprint
28
+ - Run `/add-to-sprint` to assign backlog items to it
48
29
  </output>
49
30
  <action>Exit workflow</action>
50
31
  </check>
32
+ <action>For each sprint file found, read the full YAML content and store as {{sprint_plans}} list</action>
33
+ <action>Sort {{sprint_plans}} by sprint_number ascending</action>
51
34
  </step>
52
35
 
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
36
+ <step n="2" goal="Load sprint-status.yaml for user story execution statuses">
37
+ <action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml`</action>
38
+ <check if="file not found">
39
+ <output>⚠️ `sprint-status.yaml` not found. User story execution statuses will not be available. Run `/sprint-planning` to initialize.</output>
40
+ <action>Set {{story_status_map}} = {} (empty — will show data integrity warnings per missing item)</action>
41
+ </check>
42
+ <check if="file found">
43
+ <action>Parse development_status section into {{story_status_map}} — key: story key, value: status</action>
44
+ <action>Exclude epic-* keys and *-retrospective keys from the map</action>
45
+ </check>
46
+ </step>
47
+
48
+ <step n="3" goal="Discover bug stories for type/severity data">
49
+ <action>Glob `_bmad-output/implementation-artifacts/bug-*.md` to discover all bug story files</action>
50
+ <check if="no bug files found">
51
+ <action>Set {{bug_metadata_map}} = {} (empty)</action>
52
+ </check>
53
+ <check if="bug files found">
54
+ <action>For each bug file, parse YAML frontmatter to extract: type, severity, title</action>
55
+ <action>Build {{bug_metadata_map}} key: file basename (e.g., `bug-login-crash`), value: {severity, title}</action>
56
+ </check>
57
+ </step>
58
+
59
+ <step n="4" goal="Display sprint status for each sprint">
60
+ <action>For each sprint in {{sprint_plans}} (in order):</action>
61
+ <action>Calculate: {{assigned_count}} = length(sprint.assigned_items)</action>
62
+ <action>Calculate: {{remaining_capacity}} = sprint.capacity - {{assigned_count}}</action>
63
+
64
+ <action>For each item identifier in sprint.assigned_items, resolve item details:
65
+
66
+ **If item is a story (key matches regex `^\d+-\d+-.+`):**
67
+ - Look up status in {{story_status_map}}[item_key]
68
+ - If NOT found in {{story_status_map}}:
69
+ → Record as DATA INTEGRITY WARNING: "Item {item_key} has no status entry in sprint-status.yaml — run /sprint-planning to initialize status tracking for this item."
70
+ → Display item with marker: ⚠️ [status unknown]
71
+ - If found: display with current status label
72
+
73
+ **If item is a bug (key matches regex `^bug-.+`):**
74
+ - Look up in {{bug_metadata_map}}[item_key]
75
+ - If NOT found: display with title as item_key, severity as "unknown"
76
+ - If found: display with title and severity from frontmatter
77
+ - Bug execution status: use `status` from bug file frontmatter if present; otherwise "not-started"
78
+
79
+ **If item matches neither pattern:** display as type "Unknown" with raw identifier as title
74
80
  </action>
75
81
 
76
- <action>Display non-closed sprints:</action>
77
82
  <output>
78
- {{#each non_closed_sprints}}
79
83
  ---
80
84
 
81
- ## {{sprint.name}} ({{sprint.status}}) -- {{item_count}}/{{sprint.capacity}} items
85
+ ## 🏃 {{sprint.sprint_name}} (Sprint {{sprint.sprint_number}})
82
86
 
83
- {{#if sprint.start}}**Start:** {{sprint.start}}{{/if}}{{#if sprint.end}} | **End:** {{sprint.end}}{{/if}}
87
+ **Status:** {{sprint.status}} | **Capacity:** {{sprint.capacity}} items | **Assigned:** {{assigned_count}} | **Remaining:** {{remaining_capacity}}
88
+ {{#if sprint.start_context}}**Start:** {{sprint.start_context}}{{/if}} {{#if sprint.end_context}}| **End:** {{sprint.end_context}}{{/if}}
84
89
 
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)*
90
+ {{#if over_capacity}}
91
+ ⚠️ **Over capacity by {{overage}} item(s)**
92
92
  {{/if}}
93
93
 
94
- **Capacity:** {{capacity_bar}}
94
+ ### Assigned Items
95
+
96
+ | Item | Title | Type | Status / Severity |
97
+ |---|---|---|---|
98
+ {{#each resolved_items}}
99
+ {{#if is_story}}
100
+ | {{item_key}} | {{title}} | 📋 Story | {{status}} |
101
+ {{/if}}
102
+ {{#if is_bug}}
103
+ | {{item_key}} | {{title}} | 🐛 Bug | Severity: {{severity}} / {{bug_status}} |
104
+ {{/if}}
95
105
  {{/each}}
96
- </output>
97
106
 
98
- <action>Display closed sprints:</action>
99
- <output>
100
- {{#each closed_sprints}}
101
- ---
102
- **{{sprint.name}}** (closed) -- {{item_count}} items completed
107
+ {{#if data_integrity_warnings}}
108
+ **⚠️ Data Integrity Warnings:**
109
+ {{#each data_integrity_warnings}}
110
+ - {{this}}
103
111
  {{/each}}
112
+ {{/if}}
113
+
114
+ {{#if assigned_items_empty}}
115
+ *(No items assigned to this sprint)*
116
+ {{/if}}
104
117
  </output>
105
118
  </step>
106
119
 
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>
120
+ <step n="5" goal="Display unassigned backlog summary">
121
+ <action>Collect all item keys from {{story_status_map}} that are NOT in any sprint's assigned_items list these are unassigned user stories</action>
122
+ <action>Collect all bug basenames from {{bug_metadata_map}} that are NOT in any sprint's assigned_items list — these are unassigned bugs</action>
123
+ <action>Count unassigned stories by status: {{unassigned_by_status}}</action>
124
+ <output>
111
125
  ---
112
126
 
113
- ## Completed Items
127
+ ## 📦 Unassigned Backlog
114
128
 
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>
129
+ ### 📋 Unassigned Stories
122
130
 
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>
131
+ | Status | Count |
132
+ |---|---|
133
+ | backlog | {{count_backlog}} |
134
+ | ready-for-dev | {{count_ready}} |
135
+ | in-progress | {{count_in_progress}} |
136
+ | review | {{count_review}} |
137
+ | done | {{count_done}} |
130
138
 
131
- <check if="unassigned_total > 0">
132
- <output>
133
- ---
139
+ *Total unassigned stories: {{total_unassigned}}*
134
140
 
135
- ## Unassigned Backlog
141
+ ### 🐛 Unassigned Bugs
136
142
 
137
- | # | Item | Type | Priority | Status |
138
- |---|---|---|---|---|
139
- {{#each unassigned_display}}
140
- | {{priority}} | {{id}} | {{type}} | {{priority}} | {{status}} |
143
+ {{#if unassigned_bugs}}
144
+ | ID / File | Title | Severity |
145
+ |---|---|---|
146
+ {{#each unassigned_bugs}}
147
+ | {{id}} | {{title}} | {{severity}} |
141
148
  {{/each}}
142
- {{#if unassigned_total > 15}}
143
-
144
- ... and {{unassigned_total - 15}} more
149
+ {{else}}
150
+ *(No unassigned bugs)*
145
151
  {{/if}}
146
- </output>
147
- </check>
148
- <check if="unassigned_total == 0">
149
- <output>
150
- ---
151
-
152
- ## Unassigned Backlog
153
152
 
154
- *(All backlog items are assigned to sprints)*
155
- </output>
156
- </check>
153
+ **Tip:** Use `/add-to-sprint` to assign unassigned items to a sprint.
154
+ </output>
157
155
  </step>
158
156
 
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>
157
+ <step n="6" goal="Offer next actions">
158
+ <ask>Options:
159
+ 1. Show full unassigned backlog item list (IDs + titles + statuses)
160
+ 2. Add items to a sprint — run `/add-to-sprint`
161
+ 3. Modify a sprint — run `/modify-sprint`
162
+ 4. Create a new sprint — run `/add-sprint`
163
+ 5. Exit
164
+
165
+ Choice:</ask>
172
166
  <check if="choice == 1">
173
- <action>Display all items from {{backlog_items}} in a table: id, type, priority, status, sprint, severity</action>
167
+ <action>For each unassigned story key in {{story_status_map}} not assigned to any sprint, display: key, inferred title, status</action>
168
+ <action>For each unassigned bug in {{bug_metadata_map}} not assigned to any sprint, display: id, title, severity</action>
169
+ <output>
170
+ ### Full Unassigned Backlog
171
+
172
+ **Stories:**
173
+ | Key | Title | Status |
174
+ |---|---|---|
175
+ {{#each unassigned_story_items}}
176
+ | {{key}} | {{title}} | {{status}} |
177
+ {{/each}}
178
+
179
+ **Bugs:**
180
+ | ID | Title | Severity |
181
+ |---|---|---|
182
+ {{#each unassigned_bugs}}
183
+ | {{id}} | {{title}} | {{severity}} |
184
+ {{/each}}
185
+ </output>
174
186
  <goto step="6" />
175
187
  </check>
176
188
  <check if="choice == 2">
177
- <output>Run `/add-to-sprint` to assign backlog items to a sprint.</output>
189
+ <output>▶️ Run `/add-to-sprint` to assign backlog items to a sprint.</output>
178
190
  </check>
179
191
  <check if="choice == 3">
180
- <output>Run `/remove-from-sprint` to remove items from a sprint.</output>
192
+ <output>▶️ Run `/modify-sprint` to add/remove items or change sprint settings.</output>
181
193
  </check>
182
194
  <check if="choice == 4">
183
- <output>Run `/prioritize-backlog` to reorder backlog priorities.</output>
195
+ <output>▶️ Run `/add-sprint` to create a new sprint.</output>
184
196
  </check>
185
197
  <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
198
  <action>Exit workflow</action>
193
199
  </check>
194
200
  </step>
195
201
 
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
202
  </workflow>