ma-agents 3.4.8 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (762) hide show
  1. package/AiAudit.md +7 -0
  2. package/README.md +78 -29
  3. package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +237 -0
  4. package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +339 -0
  5. package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +348 -0
  6. package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +383 -0
  7. package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +348 -0
  8. package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +385 -0
  9. package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +362 -0
  10. package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +477 -0
  11. package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +377 -0
  12. package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +301 -0
  13. package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +508 -0
  14. package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +455 -0
  15. package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +325 -0
  16. package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +403 -0
  17. package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +344 -0
  18. package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +279 -0
  19. package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +173 -0
  20. package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +129 -0
  21. package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +274 -0
  22. package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +186 -0
  23. package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +144 -0
  24. package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +132 -0
  25. package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +119 -0
  26. package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +162 -0
  27. package/_bmad-output/implementation-artifacts/deferred-work.md +9 -0
  28. package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +200 -0
  29. package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +172 -0
  30. package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +102 -0
  31. package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +119 -0
  32. package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +132 -0
  33. package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +111 -0
  34. package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +126 -0
  35. package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +137 -0
  36. package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +127 -0
  37. package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +129 -0
  38. package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +179 -0
  39. package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +138 -0
  40. package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +150 -0
  41. package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +128 -0
  42. package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +118 -0
  43. package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +132 -0
  44. package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +174 -0
  45. package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +183 -0
  46. package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +252 -0
  47. package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +232 -0
  48. package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +163 -0
  49. package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +133 -0
  50. package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +172 -0
  51. package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +342 -0
  52. package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +223 -0
  53. package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +180 -0
  54. package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +136 -0
  55. package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +137 -0
  56. package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +79 -0
  57. package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +110 -0
  58. package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +116 -0
  59. package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +109 -0
  60. package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +97 -0
  61. package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +125 -0
  62. package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +322 -0
  63. package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +264 -0
  64. package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +208 -0
  65. package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +209 -0
  66. package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +221 -0
  67. package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +273 -0
  68. package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +235 -0
  69. package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +285 -0
  70. package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +188 -0
  71. package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +211 -0
  72. package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +189 -0
  73. package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +184 -0
  74. package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +178 -0
  75. package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +136 -0
  76. package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +141 -0
  77. package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +145 -0
  78. package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +188 -0
  79. package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +219 -0
  80. package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +234 -0
  81. package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +274 -0
  82. package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +173 -0
  83. package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +131 -0
  84. package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +124 -0
  85. package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +187 -0
  86. package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +102 -0
  87. package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +126 -0
  88. package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +101 -0
  89. package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +73 -0
  90. package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +91 -0
  91. package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +113 -0
  92. package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +90 -0
  93. package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +53 -0
  94. package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +287 -0
  95. package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +49 -0
  96. package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +230 -0
  97. package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +37 -0
  98. package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +140 -0
  99. package/_bmad-output/implementation-artifacts/sprint-status.yaml +83 -0
  100. package/_bmad-output/methodology/BMAD_AI_Development_Training.pptx +0 -0
  101. package/_bmad-output/methodology/version.json +7 -0
  102. package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +508 -0
  103. package/_bmad-output/planning-artifacts/architecture.md +1619 -0
  104. package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +295 -0
  105. package/_bmad-output/planning-artifacts/epics.md +3287 -0
  106. package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +290 -0
  107. package/_bmad-output/planning-artifacts/prd.md +684 -0
  108. package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +214 -0
  109. package/_bmad-output/planning-artifacts/sprint-status-schema.md +506 -0
  110. package/_bmad-output/project-context.md +47 -0
  111. package/bin/cli.js +5 -4
  112. package/lib/agents.js +16 -1
  113. package/lib/bmad-extension/module-help.csv +27 -22
  114. package/lib/bmad-extension/skills/add-sprint/SKILL.md +120 -152
  115. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +170 -116
  116. package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-dev-story}/bmad-skill-manifest.yaml +1 -1
  117. package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/checklist.md +13 -13
  118. package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/workflow.md +103 -44
  119. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +2 -1
  120. package/lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md +6 -0
  121. package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/bmad-sprint-planning}/bmad-skill-manifest.yaml +1 -1
  122. package/lib/bmad-extension/skills/bmad-sprint-planning/checklist.md +74 -0
  123. package/lib/bmad-extension/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
  124. package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +372 -0
  125. package/lib/bmad-extension/skills/bmad-sprint-status/SKILL.md +6 -0
  126. package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/bmad-sprint-status}/bmad-skill-manifest.yaml +1 -1
  127. package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +434 -0
  128. package/lib/bmad-extension/skills/cleanup-done/SKILL.md +154 -98
  129. package/lib/bmad-extension/skills/close-sprint/SKILL.md +379 -0
  130. package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/close-sprint}/bmad-skill-manifest.yaml +1 -1
  131. package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
  132. package/lib/bmad-extension/skills/generate-backlog/SKILL.md +152 -140
  133. package/lib/bmad-extension/skills/mil498-requirement-quality/SKILL.md +105 -0
  134. package/lib/bmad-extension/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
  135. package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +4 -0
  136. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +224 -235
  137. package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +157 -135
  138. package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +125 -104
  139. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +153 -239
  140. package/lib/bmad-extension/workflows/add-sprint/workflow.md +119 -155
  141. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +233 -3
  142. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -181
  143. package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
  144. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +165 -3
  145. package/mil498/README.md +4 -0
  146. package/out.txt +0 -0
  147. package/package.json +1 -1
  148. package/skills/add-sprint/SKILL.md +165 -0
  149. package/skills/add-sprint/skill.json +7 -0
  150. package/skills/add-to-sprint/SKILL.md +231 -0
  151. package/skills/add-to-sprint/skill.json +7 -0
  152. package/skills/bmad-sprint-planning/SKILL.md +321 -0
  153. package/skills/bmad-sprint-planning/skill.json +7 -0
  154. package/skills/bmad-sprint-status/SKILL.md +273 -0
  155. package/skills/bmad-sprint-status/skill.json +7 -0
  156. package/skills/cleanup-done/SKILL.md +203 -0
  157. package/skills/cleanup-done/skill.json +7 -0
  158. package/skills/close-sprint/SKILL.md +370 -0
  159. package/skills/close-sprint/skill.json +7 -0
  160. package/skills/generate-backlog/SKILL.md +178 -0
  161. package/skills/generate-backlog/skill.json +7 -0
  162. package/skills/modify-sprint/SKILL.md +302 -0
  163. package/skills/modify-sprint/skill.json +7 -0
  164. package/skills/prioritize-backlog/SKILL.md +203 -0
  165. package/skills/prioritize-backlog/skill.json +7 -0
  166. package/skills/remove-from-sprint/SKILL.md +174 -0
  167. package/skills/remove-from-sprint/skill.json +7 -0
  168. package/skills/sprint-status-view/SKILL.md +173 -0
  169. package/skills/sprint-status-view/skill.json +7 -0
  170. package/skills/story-status-lookup/SKILL.md +21 -6
  171. package/skills/story-status-lookup/skill.json +2 -2
  172. package/test/extension-module-restructure.test.js +12 -11
  173. package/test/migration-validation.test.js +10 -10
  174. package/.opencode/skills/.ma-agents.json +0 -122
  175. package/.opencode/skills/MANIFEST.yaml +0 -126
  176. package/.opencode/skills/add-sprint/SKILL.md +0 -207
  177. package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
  178. package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +0 -137
  179. package/.opencode/skills/bmad-advanced-elicitation/methods.csv +0 -51
  180. package/.opencode/skills/bmad-agent-analyst/SKILL.md +0 -56
  181. package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
  182. package/.opencode/skills/bmad-agent-architect/SKILL.md +0 -52
  183. package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
  184. package/.opencode/skills/bmad-agent-dev/SKILL.md +0 -62
  185. package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
  186. package/.opencode/skills/bmad-agent-pm/SKILL.md +0 -57
  187. package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
  188. package/.opencode/skills/bmad-agent-qa/SKILL.md +0 -59
  189. package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +0 -11
  190. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +0 -51
  191. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +0 -11
  192. package/.opencode/skills/bmad-agent-sm/SKILL.md +0 -53
  193. package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +0 -11
  194. package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +0 -55
  195. package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
  196. package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +0 -20
  197. package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +0 -20
  198. package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +0 -19
  199. package/.opencode/skills/bmad-agent-tech-writer/write-document.md +0 -20
  200. package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +0 -53
  201. package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
  202. package/.opencode/skills/bmad-brainstorming/SKILL.md +0 -6
  203. package/.opencode/skills/bmad-brainstorming/brain-methods.csv +0 -62
  204. package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +0 -214
  205. package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +0 -124
  206. package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +0 -229
  207. package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -239
  208. package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +0 -211
  209. package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -266
  210. package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +0 -401
  211. package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +0 -305
  212. package/.opencode/skills/bmad-brainstorming/template.md +0 -15
  213. package/.opencode/skills/bmad-brainstorming/workflow.md +0 -53
  214. package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +0 -6
  215. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -179
  216. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -168
  217. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -169
  218. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -129
  219. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -241
  220. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -126
  221. package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -4
  222. package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +0 -49
  223. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +0 -6
  224. package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
  225. package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +0 -31
  226. package/.opencode/skills/bmad-cis-design-thinking/template.md +0 -111
  227. package/.opencode/skills/bmad-cis-design-thinking/workflow.md +0 -242
  228. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +0 -6
  229. package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
  230. package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -31
  231. package/.opencode/skills/bmad-cis-innovation-strategy/template.md +0 -189
  232. package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +0 -315
  233. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +0 -6
  234. package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
  235. package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +0 -31
  236. package/.opencode/skills/bmad-cis-problem-solving/template.md +0 -165
  237. package/.opencode/skills/bmad-cis-problem-solving/workflow.md +0 -291
  238. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +0 -6
  239. package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
  240. package/.opencode/skills/bmad-cis-storytelling/story-types.csv +0 -26
  241. package/.opencode/skills/bmad-cis-storytelling/template.md +0 -113
  242. package/.opencode/skills/bmad-cis-storytelling/workflow.md +0 -321
  243. package/.opencode/skills/bmad-code-review/SKILL.md +0 -6
  244. package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +0 -62
  245. package/.opencode/skills/bmad-code-review/steps/step-02-review.md +0 -34
  246. package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +0 -49
  247. package/.opencode/skills/bmad-code-review/steps/step-04-present.md +0 -129
  248. package/.opencode/skills/bmad-code-review/workflow.md +0 -55
  249. package/.opencode/skills/bmad-correct-course/SKILL.md +0 -6
  250. package/.opencode/skills/bmad-correct-course/checklist.md +0 -288
  251. package/.opencode/skills/bmad-correct-course/workflow.md +0 -267
  252. package/.opencode/skills/bmad-create-architecture/SKILL.md +0 -6
  253. package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +0 -12
  254. package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +0 -13
  255. package/.opencode/skills/bmad-create-architecture/data/project-types.csv +0 -7
  256. package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +0 -153
  257. package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +0 -173
  258. package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +0 -224
  259. package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +0 -329
  260. package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +0 -318
  261. package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +0 -359
  262. package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +0 -379
  263. package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +0 -359
  264. package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +0 -76
  265. package/.opencode/skills/bmad-create-architecture/workflow.md +0 -38
  266. package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +0 -6
  267. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -255
  268. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -212
  269. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -255
  270. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -131
  271. package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +0 -61
  272. package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +0 -53
  273. package/.opencode/skills/bmad-create-prd/SKILL.md +0 -6
  274. package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +0 -15
  275. package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +0 -197
  276. package/.opencode/skills/bmad-create-prd/data/project-types.csv +0 -11
  277. package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +0 -178
  278. package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
  279. package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +0 -208
  280. package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
  281. package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
  282. package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +0 -214
  283. package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
  284. package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +0 -194
  285. package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
  286. package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
  287. package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +0 -216
  288. package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +0 -219
  289. package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
  290. package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +0 -221
  291. package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +0 -115
  292. package/.opencode/skills/bmad-create-prd/templates/prd-template.md +0 -10
  293. package/.opencode/skills/bmad-create-prd/workflow.md +0 -62
  294. package/.opencode/skills/bmad-create-story/SKILL.md +0 -6
  295. package/.opencode/skills/bmad-create-story/checklist.md +0 -357
  296. package/.opencode/skills/bmad-create-story/discover-inputs.md +0 -88
  297. package/.opencode/skills/bmad-create-story/template.md +0 -49
  298. package/.opencode/skills/bmad-create-story/workflow.md +0 -380
  299. package/.opencode/skills/bmad-create-ux-design/SKILL.md +0 -6
  300. package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +0 -135
  301. package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +0 -127
  302. package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +0 -190
  303. package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +0 -217
  304. package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -220
  305. package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +0 -235
  306. package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +0 -253
  307. package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -255
  308. package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -225
  309. package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +0 -225
  310. package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -242
  311. package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -249
  312. package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -238
  313. package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -265
  314. package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +0 -171
  315. package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +0 -13
  316. package/.opencode/skills/bmad-create-ux-design/workflow.md +0 -36
  317. package/.opencode/skills/bmad-distillator/SKILL.md +0 -178
  318. package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +0 -116
  319. package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +0 -68
  320. package/.opencode/skills/bmad-distillator/resources/compression-rules.md +0 -51
  321. package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +0 -227
  322. package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +0 -78
  323. package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +0 -300
  324. package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -204
  325. package/.opencode/skills/bmad-document-project/SKILL.md +0 -6
  326. package/.opencode/skills/bmad-document-project/checklist.md +0 -245
  327. package/.opencode/skills/bmad-document-project/documentation-requirements.csv +0 -12
  328. package/.opencode/skills/bmad-document-project/instructions.md +0 -128
  329. package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +0 -345
  330. package/.opencode/skills/bmad-document-project/templates/index-template.md +0 -169
  331. package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +0 -103
  332. package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +0 -160
  333. package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +0 -135
  334. package/.opencode/skills/bmad-document-project/workflow.md +0 -27
  335. package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +0 -299
  336. package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +0 -34
  337. package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +0 -1107
  338. package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +0 -34
  339. package/.opencode/skills/bmad-domain-research/SKILL.md +0 -6
  340. package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +0 -137
  341. package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
  342. package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
  343. package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
  344. package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
  345. package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -444
  346. package/.opencode/skills/bmad-domain-research/research.template.md +0 -29
  347. package/.opencode/skills/bmad-domain-research/workflow.md +0 -49
  348. package/.opencode/skills/bmad-edit-prd/SKILL.md +0 -6
  349. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
  350. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
  351. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
  352. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
  353. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
  354. package/.opencode/skills/bmad-edit-prd/workflow.md +0 -63
  355. package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +0 -86
  356. package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +0 -179
  357. package/.opencode/skills/bmad-generate-project-context/SKILL.md +0 -6
  358. package/.opencode/skills/bmad-generate-project-context/project-context-template.md +0 -21
  359. package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +0 -186
  360. package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +0 -321
  361. package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +0 -278
  362. package/.opencode/skills/bmad-generate-project-context/workflow.md +0 -43
  363. package/.opencode/skills/bmad-help/SKILL.md +0 -73
  364. package/.opencode/skills/bmad-index-docs/SKILL.md +0 -66
  365. package/.opencode/skills/bmad-init/SKILL.md +0 -100
  366. package/.opencode/skills/bmad-init/resources/core-module.yaml +0 -25
  367. package/.opencode/skills/bmad-init/scripts/bmad_init.py +0 -593
  368. package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +0 -329
  369. package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +0 -49
  370. package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +0 -11
  371. package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +0 -49
  372. package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +0 -11
  373. package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +0 -53
  374. package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
  375. package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
  376. package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +0 -59
  377. package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
  378. package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
  379. package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +0 -49
  380. package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +0 -11
  381. package/.opencode/skills/bmad-market-research/SKILL.md +0 -6
  382. package/.opencode/skills/bmad-market-research/research.template.md +0 -29
  383. package/.opencode/skills/bmad-market-research/steps/step-01-init.md +0 -184
  384. package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
  385. package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
  386. package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
  387. package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
  388. package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +0 -478
  389. package/.opencode/skills/bmad-market-research/workflow.md +0 -49
  390. package/.opencode/skills/bmad-party-mode/SKILL.md +0 -6
  391. package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +0 -138
  392. package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -187
  393. package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +0 -167
  394. package/.opencode/skills/bmad-party-mode/workflow.md +0 -190
  395. package/.opencode/skills/bmad-product-brief/SKILL.md +0 -87
  396. package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +0 -60
  397. package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
  398. package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
  399. package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +0 -49
  400. package/.opencode/skills/bmad-product-brief/bmad-manifest.json +0 -17
  401. package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +0 -57
  402. package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +0 -86
  403. package/.opencode/skills/bmad-product-brief/prompts/finalize.md +0 -75
  404. package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +0 -70
  405. package/.opencode/skills/bmad-product-brief/resources/brief-template.md +0 -60
  406. package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +0 -6
  407. package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +0 -33
  408. package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +0 -136
  409. package/.opencode/skills/bmad-quick-dev/SKILL.md +0 -6
  410. package/.opencode/skills/bmad-quick-dev/spec-template.md +0 -88
  411. package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +0 -64
  412. package/.opencode/skills/bmad-quick-dev/step-02-plan.md +0 -35
  413. package/.opencode/skills/bmad-quick-dev/step-03-implement.md +0 -37
  414. package/.opencode/skills/bmad-quick-dev/step-04-review.md +0 -49
  415. package/.opencode/skills/bmad-quick-dev/step-05-present.md +0 -63
  416. package/.opencode/skills/bmad-quick-dev/step-oneshot.md +0 -49
  417. package/.opencode/skills/bmad-quick-dev/workflow.md +0 -79
  418. package/.opencode/skills/bmad-retrospective/SKILL.md +0 -6
  419. package/.opencode/skills/bmad-retrospective/workflow.md +0 -1479
  420. package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +0 -37
  421. package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +0 -67
  422. package/.opencode/skills/bmad-shard-doc/SKILL.md +0 -105
  423. package/.opencode/skills/bmad-sprint-planning/SKILL.md +0 -6
  424. package/.opencode/skills/bmad-sprint-planning/checklist.md +0 -33
  425. package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +0 -56
  426. package/.opencode/skills/bmad-sprint-planning/workflow.md +0 -263
  427. package/.opencode/skills/bmad-sprint-status/SKILL.md +0 -6
  428. package/.opencode/skills/bmad-sprint-status/workflow.md +0 -261
  429. package/.opencode/skills/bmad-technical-research/SKILL.md +0 -6
  430. package/.opencode/skills/bmad-technical-research/research.template.md +0 -29
  431. package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +0 -137
  432. package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
  433. package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
  434. package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
  435. package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
  436. package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -487
  437. package/.opencode/skills/bmad-technical-research/workflow.md +0 -50
  438. package/.opencode/skills/bmad-validate-prd/SKILL.md +0 -6
  439. package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +0 -15
  440. package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +0 -197
  441. package/.opencode/skills/bmad-validate-prd/data/project-types.csv +0 -11
  442. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
  443. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
  444. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
  445. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
  446. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
  447. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
  448. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
  449. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
  450. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
  451. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
  452. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
  453. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
  454. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
  455. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -229
  456. package/.opencode/skills/bmad-validate-prd/workflow.md +0 -62
  457. package/.opencode/skills/cleanup-done/.gitkeep +0 -0
  458. package/.opencode/skills/cleanup-done/SKILL.md +0 -159
  459. package/.opencode/skills/create-bug-story/.gitkeep +0 -0
  460. package/.opencode/skills/create-bug-story/SKILL.md +0 -263
  461. package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
  462. package/.opencode/skills/cyber-generate-certs/SKILL.md +0 -27
  463. package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +0 -3
  464. package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
  465. package/.opencode/skills/cyber-immunity-estimation/SKILL.md +0 -29
  466. package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +0 -3
  467. package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
  468. package/.opencode/skills/cyber-security-audit/SKILL.md +0 -27
  469. package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +0 -3
  470. package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
  471. package/.opencode/skills/cyber-vault-secrets/SKILL.md +0 -28
  472. package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +0 -3
  473. package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
  474. package/.opencode/skills/cyber-verify-docker-users/SKILL.md +0 -23
  475. package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +0 -3
  476. package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
  477. package/.opencode/skills/cyber-verify-image-signature/SKILL.md +0 -22
  478. package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +0 -3
  479. package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  480. package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +0 -28
  481. package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +0 -3
  482. package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
  483. package/.opencode/skills/devops-configure-infrastructure/SKILL.md +0 -27
  484. package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +0 -3
  485. package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
  486. package/.opencode/skills/devops-disconnected-deployment/SKILL.md +0 -27
  487. package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +0 -3
  488. package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
  489. package/.opencode/skills/devops-docker-compose-setup/SKILL.md +0 -26
  490. package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +0 -3
  491. package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
  492. package/.opencode/skills/devops-manage-helm/SKILL.md +0 -28
  493. package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +0 -3
  494. package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
  495. package/.opencode/skills/devops-sign-docker-image/SKILL.md +0 -24
  496. package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +0 -3
  497. package/.opencode/skills/generate-backlog/.gitkeep +0 -0
  498. package/.opencode/skills/generate-backlog/SKILL.md +0 -183
  499. package/.opencode/skills/generate-backlog/bmad-skill-manifest.yaml +0 -3
  500. package/.opencode/skills/git-workflow-skill/SKILL.md +0 -194
  501. package/.opencode/skills/git-workflow-skill/hooks/commit-msg +0 -61
  502. package/.opencode/skills/git-workflow-skill/hooks/pre-commit +0 -38
  503. package/.opencode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  504. package/.opencode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  505. package/.opencode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  506. package/.opencode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  507. package/.opencode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  508. package/.opencode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  509. package/.opencode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  510. package/.opencode/skills/js-ts-security-skill/SKILL.md +0 -64
  511. package/.opencode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  512. package/.opencode/skills/logging-best-practices/SKILL.md +0 -50
  513. package/.opencode/skills/logging-best-practices/examples/cpp.md +0 -36
  514. package/.opencode/skills/logging-best-practices/examples/csharp.md +0 -49
  515. package/.opencode/skills/logging-best-practices/examples/javascript.md +0 -77
  516. package/.opencode/skills/logging-best-practices/examples/python.md +0 -57
  517. package/.opencode/skills/logging-best-practices/references/logging-standards.md +0 -29
  518. package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
  519. package/.opencode/skills/mil498-ocd/SKILL.md +0 -30
  520. package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +0 -5
  521. package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +0 -26
  522. package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +0 -10
  523. package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +0 -90
  524. package/.opencode/skills/mil498-ocd/prompts/04-validate.md +0 -14
  525. package/.opencode/skills/mil498-ocd/prompts/05-review.md +0 -15
  526. package/.opencode/skills/mil498-ocd/prompts/06-save.md +0 -15
  527. package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
  528. package/.opencode/skills/mil498-sdd/SKILL.md +0 -30
  529. package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +0 -5
  530. package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +0 -50
  531. package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +0 -10
  532. package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +0 -98
  533. package/.opencode/skills/mil498-sdd/prompts/04-validate.md +0 -16
  534. package/.opencode/skills/mil498-sdd/prompts/05-review.md +0 -15
  535. package/.opencode/skills/mil498-sdd/prompts/06-save.md +0 -19
  536. package/.opencode/skills/mil498-sdd/template.md +0 -163
  537. package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
  538. package/.opencode/skills/mil498-sdp/SKILL.md +0 -30
  539. package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +0 -5
  540. package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +0 -32
  541. package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +0 -10
  542. package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +0 -187
  543. package/.opencode/skills/mil498-sdp/prompts/04-validate.md +0 -13
  544. package/.opencode/skills/mil498-sdp/prompts/05-review.md +0 -15
  545. package/.opencode/skills/mil498-sdp/prompts/06-save.md +0 -14
  546. package/.opencode/skills/mil498-srs/.gitkeep +0 -0
  547. package/.opencode/skills/mil498-srs/SKILL.md +0 -30
  548. package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +0 -5
  549. package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +0 -42
  550. package/.opencode/skills/mil498-srs/prompts/02-load-template.md +0 -10
  551. package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +0 -100
  552. package/.opencode/skills/mil498-srs/prompts/04-validate.md +0 -16
  553. package/.opencode/skills/mil498-srs/prompts/05-review.md +0 -15
  554. package/.opencode/skills/mil498-srs/prompts/06-save.md +0 -18
  555. package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
  556. package/.opencode/skills/mil498-ssdd/SKILL.md +0 -32
  557. package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +0 -5
  558. package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +0 -32
  559. package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +0 -10
  560. package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +0 -43
  561. package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +0 -96
  562. package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +0 -14
  563. package/.opencode/skills/mil498-ssdd/prompts/06-review.md +0 -16
  564. package/.opencode/skills/mil498-ssdd/prompts/07-save.md +0 -16
  565. package/.opencode/skills/mil498-sss/.gitkeep +0 -0
  566. package/.opencode/skills/mil498-sss/SKILL.md +0 -31
  567. package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +0 -5
  568. package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +0 -31
  569. package/.opencode/skills/mil498-sss/prompts/02-load-template.md +0 -10
  570. package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +0 -108
  571. package/.opencode/skills/mil498-sss/prompts/04-validate.md +0 -16
  572. package/.opencode/skills/mil498-sss/prompts/05-review.md +0 -15
  573. package/.opencode/skills/mil498-sss/prompts/06-save.md +0 -15
  574. package/.opencode/skills/mil498-std/.gitkeep +0 -0
  575. package/.opencode/skills/mil498-std/SKILL.md +0 -30
  576. package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +0 -5
  577. package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +0 -42
  578. package/.opencode/skills/mil498-std/prompts/02-load-template.md +0 -10
  579. package/.opencode/skills/mil498-std/prompts/03-generate-document.md +0 -117
  580. package/.opencode/skills/mil498-std/prompts/04-validate.md +0 -15
  581. package/.opencode/skills/mil498-std/prompts/05-review.md +0 -15
  582. package/.opencode/skills/mil498-std/prompts/06-save.md +0 -15
  583. package/.opencode/skills/ml-advise/.gitkeep +0 -0
  584. package/.opencode/skills/ml-advise/SKILL.md +0 -76
  585. package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
  586. package/.opencode/skills/ml-advise/skill.json +0 -7
  587. package/.opencode/skills/ml-analysis/.gitkeep +0 -0
  588. package/.opencode/skills/ml-analysis/SKILL.md +0 -60
  589. package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
  590. package/.opencode/skills/ml-analysis/skill.json +0 -7
  591. package/.opencode/skills/ml-architecture/.gitkeep +0 -0
  592. package/.opencode/skills/ml-architecture/SKILL.md +0 -55
  593. package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
  594. package/.opencode/skills/ml-architecture/skill.json +0 -7
  595. package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
  596. package/.opencode/skills/ml-detailed-design/SKILL.md +0 -67
  597. package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
  598. package/.opencode/skills/ml-detailed-design/skill.json +0 -7
  599. package/.opencode/skills/ml-eda/.gitkeep +0 -0
  600. package/.opencode/skills/ml-eda/SKILL.md +0 -56
  601. package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
  602. package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +0 -522
  603. package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
  604. package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +0 -383
  605. package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +0 -654
  606. package/.opencode/skills/ml-eda/skill.json +0 -7
  607. package/.opencode/skills/ml-experiment/.gitkeep +0 -0
  608. package/.opencode/skills/ml-experiment/SKILL.md +0 -74
  609. package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
  610. package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
  611. package/.opencode/skills/ml-experiment/assets/template_datamodule.py +0 -219
  612. package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +0 -341
  613. package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +0 -158
  614. package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
  615. package/.opencode/skills/ml-experiment/skill.json +0 -7
  616. package/.opencode/skills/ml-hparam/.gitkeep +0 -0
  617. package/.opencode/skills/ml-hparam/SKILL.md +0 -81
  618. package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
  619. package/.opencode/skills/ml-hparam/skill.json +0 -7
  620. package/.opencode/skills/ml-ideation/.gitkeep +0 -0
  621. package/.opencode/skills/ml-ideation/SKILL.md +0 -50
  622. package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
  623. package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
  624. package/.opencode/skills/ml-ideation/skill.json +0 -7
  625. package/.opencode/skills/ml-infra/.gitkeep +0 -0
  626. package/.opencode/skills/ml-infra/SKILL.md +0 -58
  627. package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
  628. package/.opencode/skills/ml-infra/skill.json +0 -7
  629. package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
  630. package/.opencode/skills/ml-retrospective/SKILL.md +0 -63
  631. package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
  632. package/.opencode/skills/ml-retrospective/skill.json +0 -7
  633. package/.opencode/skills/ml-revision/.gitkeep +0 -0
  634. package/.opencode/skills/ml-revision/SKILL.md +0 -82
  635. package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
  636. package/.opencode/skills/ml-revision/skill.json +0 -7
  637. package/.opencode/skills/ml-techspec/.gitkeep +0 -0
  638. package/.opencode/skills/ml-techspec/SKILL.md +0 -80
  639. package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
  640. package/.opencode/skills/ml-techspec/skill.json +0 -7
  641. package/.opencode/skills/modify-sprint/.gitkeep +0 -0
  642. package/.opencode/skills/modify-sprint/SKILL.md +0 -322
  643. package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +0 -3
  644. package/.opencode/skills/open-presentation/SKILL.md +0 -35
  645. package/.opencode/skills/opentelemetry-best-practices/SKILL.md +0 -34
  646. package/.opencode/skills/opentelemetry-best-practices/examples/go.md +0 -32
  647. package/.opencode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  648. package/.opencode/skills/opentelemetry-best-practices/examples/python.md +0 -37
  649. package/.opencode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  650. package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
  651. package/.opencode/skills/prioritize-backlog/SKILL.md +0 -195
  652. package/.opencode/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -3
  653. package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
  654. package/.opencode/skills/project-context-expansion/SKILL.md +0 -238
  655. package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +0 -3
  656. package/.opencode/skills/python-best-practices/SKILL.md +0 -385
  657. package/.opencode/skills/python-dependency-mgmt/SKILL.md +0 -42
  658. package/.opencode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  659. package/.opencode/skills/python-security-skill/SKILL.md +0 -56
  660. package/.opencode/skills/python-security-skill/examples/security.md +0 -56
  661. package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
  662. package/.opencode/skills/remove-from-sprint/SKILL.md +0 -163
  663. package/.opencode/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -3
  664. package/.opencode/skills/self-signed-cert/SKILL.md +0 -42
  665. package/.opencode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  666. package/.opencode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  667. package/.opencode/skills/skill-creator/SKILL.md +0 -196
  668. package/.opencode/skills/skill-creator/references/output-patterns.md +0 -82
  669. package/.opencode/skills/skill-creator/references/workflows.md +0 -28
  670. package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -208
  671. package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -99
  672. package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -113
  673. package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
  674. package/.opencode/skills/sprint-status-view/SKILL.md +0 -263
  675. package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +0 -3
  676. package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
  677. package/.opencode/skills/sre-check-deployment-status/SKILL.md +0 -32
  678. package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +0 -3
  679. package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
  680. package/.opencode/skills/sre-check-secrets/SKILL.md +0 -23
  681. package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +0 -3
  682. package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
  683. package/.opencode/skills/sre-check-system-status/SKILL.md +0 -27
  684. package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +0 -3
  685. package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
  686. package/.opencode/skills/sre-day-2-ops/SKILL.md +0 -26
  687. package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +0 -3
  688. package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
  689. package/.opencode/skills/sre-deployment-strategies/SKILL.md +0 -28
  690. package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +0 -3
  691. package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
  692. package/.opencode/skills/sre-fix-deployments/SKILL.md +0 -25
  693. package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +0 -3
  694. package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
  695. package/.opencode/skills/sre-gitops-status/SKILL.md +0 -25
  696. package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +0 -3
  697. package/.opencode/skills/story-status-lookup/SKILL.md +0 -78
  698. package/.opencode/skills/test-accompanied-development/SKILL.md +0 -50
  699. package/.opencode/skills/test-generator/SKILL.md +0 -65
  700. package/.opencode/skills/vercel-react-best-practices/SKILL.md +0 -109
  701. package/.opencode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  702. package/.opencode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  703. package/.roo/rules/00-ma-agents.md +0 -13
  704. package/.roo/skills/.ma-agents.json +0 -122
  705. package/.roo/skills/MANIFEST.yaml +0 -126
  706. package/.roo/skills/git-workflow-skill/SKILL.md +0 -194
  707. package/.roo/skills/git-workflow-skill/hooks/commit-msg +0 -61
  708. package/.roo/skills/git-workflow-skill/hooks/pre-commit +0 -38
  709. package/.roo/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  710. package/.roo/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  711. package/.roo/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  712. package/.roo/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  713. package/.roo/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  714. package/.roo/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  715. package/.roo/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  716. package/.roo/skills/js-ts-security-skill/SKILL.md +0 -64
  717. package/.roo/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  718. package/.roo/skills/logging-best-practices/SKILL.md +0 -50
  719. package/.roo/skills/logging-best-practices/examples/cpp.md +0 -36
  720. package/.roo/skills/logging-best-practices/examples/csharp.md +0 -49
  721. package/.roo/skills/logging-best-practices/examples/javascript.md +0 -77
  722. package/.roo/skills/logging-best-practices/examples/python.md +0 -57
  723. package/.roo/skills/logging-best-practices/references/logging-standards.md +0 -29
  724. package/.roo/skills/open-presentation/SKILL.md +0 -35
  725. package/.roo/skills/opentelemetry-best-practices/SKILL.md +0 -34
  726. package/.roo/skills/opentelemetry-best-practices/examples/go.md +0 -32
  727. package/.roo/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  728. package/.roo/skills/opentelemetry-best-practices/examples/python.md +0 -37
  729. package/.roo/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  730. package/.roo/skills/python-best-practices/SKILL.md +0 -385
  731. package/.roo/skills/python-dependency-mgmt/SKILL.md +0 -42
  732. package/.roo/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  733. package/.roo/skills/python-security-skill/SKILL.md +0 -56
  734. package/.roo/skills/python-security-skill/examples/security.md +0 -56
  735. package/.roo/skills/self-signed-cert/SKILL.md +0 -42
  736. package/.roo/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  737. package/.roo/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  738. package/.roo/skills/skill-creator/SKILL.md +0 -196
  739. package/.roo/skills/skill-creator/references/output-patterns.md +0 -82
  740. package/.roo/skills/skill-creator/references/workflows.md +0 -28
  741. package/.roo/skills/skill-creator/scripts/init_skill.py +0 -208
  742. package/.roo/skills/skill-creator/scripts/package_skill.py +0 -99
  743. package/.roo/skills/skill-creator/scripts/quick_validate.py +0 -113
  744. package/.roo/skills/story-status-lookup/SKILL.md +0 -78
  745. package/.roo/skills/test-accompanied-development/SKILL.md +0 -50
  746. package/.roo/skills/test-generator/SKILL.md +0 -65
  747. package/.roo/skills/vercel-react-best-practices/SKILL.md +0 -109
  748. package/.roo/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  749. package/.roo/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  750. package/opencode.json +0 -5
  751. /package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/bmad-dev-story}/.gitkeep +0 -0
  752. /package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/SKILL.md +0 -0
  753. /package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-sprint-planning}/.gitkeep +0 -0
  754. /package/{.opencode/skills/bmad-ma-agent-cyber → lib/bmad-extension/skills/bmad-sprint-status}/.gitkeep +0 -0
  755. /package/{.opencode/skills/bmad-ma-agent-devops → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
  756. /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
  757. /package/{.opencode/skills/mil498-ocd/template.md → mil498/OCD.md} +0 -0
  758. /package/{.opencode/skills/mil498-sdp/template.md → mil498/SDP.md} +0 -0
  759. /package/{.opencode/skills/mil498-srs/template.md → mil498/SRS.md} +0 -0
  760. /package/{.opencode/skills/mil498-ssdd/template.md → mil498/SSDD.md} +0 -0
  761. /package/{.opencode/skills/mil498-sss/template.md → mil498/SSS.md} +0 -0
  762. /package/{.opencode/skills/mil498-std/template.md → mil498/STD.md} +0 -0
@@ -0,0 +1,344 @@
1
+ # Story 17.24: Rework prioritize-backlog Skill (Light Rework -- Create from Scratch)
2
+
3
+ Status: review
4
+
5
+ ## Story
6
+
7
+ As a **Scrum Master**,
8
+ I want the `prioritize-backlog` skill to reorder items in the `backlog` section of the unified `sprint-status.yaml` using multiple prioritization criteria (severity, business value, dependencies, type, age),
9
+ So that backlog reprioritization works against the single source of truth, is available across all IDE agents and BMAD workflows, and supports interactive, automated, and suggestion-only modes.
10
+
11
+ ## Acceptance Criteria
12
+
13
+ 1. **Given** the `prioritize-backlog` skill is invoked from ANY IDE agent (Claude Code, Cursor, Cline, Roo Code, Gemini, Copilot, Kilocode, etc.) OR from a BMAD workflow,
14
+ **When** the unified `sprint-status.yaml` exists,
15
+ **Then** it reads items from the `backlog` section only (items assigned to a sprint are NOT shown and NOT reprioritized),
16
+ **And** the display shows items in current priority order with columns: Priority, ID, Title, Type, Epic, Severity, Status.
17
+
18
+ 2. **Given** the `backlog` section contains items,
19
+ **When** the Scrum Master selects **Full** mode (interactive reprioritization),
20
+ **Then** the skill presents the current backlog order alongside a suggested new order based on multi-criteria analysis,
21
+ **And** the Scrum Master can accept, modify, or reject the suggested order,
22
+ **And** upon acceptance the skill renumbers `priority` values 1..N to match the new array positions,
23
+ **And** writes the reordered `backlog` section back to `sprint-status.yaml` in a single atomic write,
24
+ **And** updates the `last_updated` metadata timestamp,
25
+ **And** all other sections (`epics`, `sprints`) are preserved unchanged.
26
+
27
+ 3. **Given** the `backlog` section contains items,
28
+ **When** the Scrum Master selects **Quick** mode (automated reprioritization),
29
+ **Then** the skill applies the default prioritization rules automatically without interactive approval,
30
+ **And** renumbers `priority` values 1..N,
31
+ **And** writes the reordered backlog in a single atomic write,
32
+ **And** displays a summary of what changed (items that moved up, down, or stayed in place).
33
+
34
+ 4. **Given** the `backlog` section contains items,
35
+ **When** the Scrum Master selects **Auto-suggest** mode,
36
+ **Then** the skill generates a suggested new ordering with per-item rationale,
37
+ **And** displays the suggestions without modifying `sprint-status.yaml`,
38
+ **And** no file write occurs.
39
+
40
+ 5. **Given** the prioritization criteria are applied,
41
+ **When** the skill scores and ranks backlog items,
42
+ **Then** the following criteria are evaluated in weighted order (FR67):
43
+ - **Severity** -- critical and high bugs float to the top
44
+ - **Business value** -- high-value items rank higher
45
+ - **Dependencies** -- items blocking other items receive a priority boost
46
+ - **Type weighting** -- bugs receive a slight priority boost over stories (at equal value)
47
+ - **Age** -- older items (lower epic number or earlier creation) receive a slight boost to prevent starvation
48
+
49
+ 6. **Given** `sprint-status.yaml` does not exist,
50
+ **When** the skill is invoked,
51
+ **Then** it reports: "No sprint-status.yaml found. Run sprint planning first to initialize the file.",
52
+ **And** exits without creating any file.
53
+
54
+ 7. **Given** the `backlog` section is empty (all items assigned to sprints or no items exist),
55
+ **When** the skill is invoked,
56
+ **Then** it reports: "Backlog is empty. Nothing to prioritize.",
57
+ **And** exits without modifying the file.
58
+
59
+ 8. **Given** the old `backlog.yaml` file exists alongside `sprint-status.yaml`,
60
+ **When** the skill is invoked,
61
+ **Then** it operates on `sprint-status.yaml` only (the old file is ignored; see Story 17.23 for migration),
62
+ **And** logs a note: "Legacy backlog.yaml detected. Run migration to consolidate."
63
+
64
+ 9. **Given** the skill source files exist in BOTH deployment pipelines (IDE skill at `skills/prioritize-backlog/` and BMAD extension at `lib/bmad-extension/skills/prioritize-backlog/`),
65
+ **When** the ma-agents installer is run,
66
+ **Then** the IDE skill is deployed to all agent directories via `lib/installer.js` (`performInstall`),
67
+ **And** the BMAD extension skill is deployed via `lib/bmad.js` to `_bmad/extensions/ma-agents-skills/`,
68
+ **And** the installed copies are byte-identical to their source (minus frontmatter injection by the installer for the IDE path).
69
+
70
+ 10. **Given** the skill is invoked from ANY IDE agent OR from a BMAD workflow,
71
+ **When** it executes,
72
+ **Then** it works identically in both invocation modes (NFR19).
73
+
74
+ ## Tasks / Subtasks
75
+
76
+ ### Task 1: Create the IDE skill source files (AC: 9, 10) -- NEW
77
+
78
+ The IDE skill does NOT exist. The previous (rolled-back) Phase 1 implementation only modified an installed copy at `.claude/skills/prioritize-backlog/SKILL.md`, which was wiped on rollback. This task creates the skill from scratch in the correct source location.
79
+
80
+ - [x] 1.1 Create `skills/prioritize-backlog/skill.json` with metadata:
81
+ ```json
82
+ {
83
+ "name": "prioritize-backlog",
84
+ "version": "1.0.0",
85
+ "description": "Reprioritize backlog items using multiple criteria -- severity, business value, dependencies, type, age",
86
+ "category": "workflow",
87
+ "tags": ["backlog", "prioritization", "sprint-management"]
88
+ }
89
+ ```
90
+ Note: `always_load` is intentionally omitted (defaults to false) -- this skill is invoked on demand, not loaded for every task.
91
+
92
+ - [x] 1.2 Create `skills/prioritize-backlog/SKILL.md` with the complete skill workflow (see Task 3 for content specification). This is the canonical skill content that the installer deploys to all IDE agents.
93
+
94
+ ### Task 2: Create the BMAD extension skill source files (AC: 9, 10) -- NEW
95
+
96
+ The BMAD extension skill does NOT exist. The previous Phase 1 implementation never created files in this pipeline. This task creates the skill from scratch.
97
+
98
+ - [x] 2.1 Create `lib/bmad-extension/skills/prioritize-backlog/SKILL.md` -- this is a SEPARATE file from the IDE skill SKILL.md. The BMAD extension version is authored for the BMAD Scrum Master agent (`bmm-sm`) context and may have BMAD-specific phrasing (e.g., referencing `_bmad/bmm/config.yaml` for path resolution). The core workflow logic MUST be functionally identical to the IDE version.
99
+
100
+ - [x] 2.2 Create `lib/bmad-extension/skills/prioritize-backlog/bmad-skill-manifest.yaml`:
101
+ ```yaml
102
+ type: skill
103
+ name: prioritize-backlog
104
+ module: ma-skills
105
+ ```
106
+
107
+ - [x] 2.3 Register the skill in `lib/bmad-extension/module-help.csv` by adding a row:
108
+ ```csv
109
+ ma-skills,4-implementation,Prioritize Backlog,prioritize-backlog,,skill:prioritize-backlog,prioritize-backlog,false,bmm-sm,,"Reprioritize backlog items using multiple criteria -- severity, business value, dependencies, type, age.",_bmad-output/implementation-artifacts,"backlog",
110
+ ```
111
+ The `agent` column is `bmm-sm` (Scrum Master) because backlog prioritization is a Scrum Master responsibility.
112
+
113
+ ### Task 3: Implement the skill workflow content (AC: 1, 2, 3, 4, 5, 6, 7, 8)
114
+
115
+ The SKILL.md content (for both the IDE and BMAD extension versions) must implement the following workflow. Both versions MUST be functionally identical in their workflow logic.
116
+
117
+ - [x] 3.1 **Step 0 -- Load configuration and validate file existence:**
118
+ - Read `sprint-status.yaml` at `_bmad-output/implementation-artifacts/sprint-status.yaml` (or resolve path from config).
119
+ - If the file does not exist, report error: "No sprint-status.yaml found. Run sprint planning first to initialize the file." Exit (AC 6).
120
+ - Parse the full file: `epics`, `backlog`, and `sprints` sections.
121
+ - If a legacy `backlog.yaml` file exists in the same directory, log a note: "Legacy backlog.yaml detected. Run migration to consolidate." Do NOT read or operate on the legacy file (AC 8).
122
+ - If the `backlog` array is empty, report: "Backlog is empty. Nothing to prioritize." Exit (AC 7).
123
+
124
+ - [x] 3.2 **Step 1 -- Display current backlog order:**
125
+ - Read the `backlog` array from the parsed `sprint-status.yaml`.
126
+ - Display items in current priority order in a table with columns: Priority (#), ID, Title, Type, Epic, Severity, Status.
127
+ - Show total count of backlog items.
128
+ - Do NOT display items from any sprint's `items` array -- only `backlog` section items are shown (AC 1).
129
+
130
+ - [x] 3.3 **Step 2 -- Choose prioritization mode:**
131
+ - Prompt the Scrum Master to select a mode:
132
+ - **[f] Full** -- interactive: generates a suggested order, presents current vs proposed side-by-side, user approves or adjusts before write.
133
+ - **[q] Quick** -- automated: applies default rules and reorders immediately, then shows summary of changes.
134
+ - **[a] Auto-suggest** -- read-only: generates suggestions with per-item rationale, no file modification.
135
+ - Store selected mode for the workflow branch.
136
+
137
+ - [x] 3.4 **Step 3 -- Multi-criteria prioritization analysis (all modes):**
138
+ - For each item in the `backlog` array, compute a composite priority score using weighted criteria (AC 5, FR67):
139
+ 1. **Severity weight (highest impact):** Items with `severity: critical` get the highest score boost. `high` > `medium` > `low`. Items with `severity: null` (stories) get no severity adjustment.
140
+ 2. **Business value weight:** Inferred from item context -- items in earlier epics or with explicit priority indicators rank higher. If the item's current `priority` value is low (was previously prioritized high), preserve that signal.
141
+ 3. **Dependency weight:** Read `epics.md` to identify explicit dependencies between stories. Items that BLOCK other items (other items depend on them) get a priority boost. Items that ARE BLOCKED get a slight deprioritization (they cannot proceed anyway). Within the same epic, assume stories are sequential (lower story number first).
142
+ 4. **Type weight:** Bugs (`type: bug`) receive a slight priority boost over stories (`type: story`) at otherwise equal scoring, reflecting the principle that defects should be addressed before new features.
143
+ 5. **Age weight (starvation prevention):** Items from lower-numbered epics or with lower item numbers within their epic get a slight boost to prevent indefinite deferral. This is the weakest signal -- it is a tiebreaker, not a dominant factor.
144
+ - Produce a ranked list sorted by composite score (highest score = priority 1).
145
+
146
+ - [x] 3.5 **Step 3a -- Full mode workflow (AC: 2):**
147
+ - Display a comparison table: current order (left) vs suggested order (right), highlighting items that would move.
148
+ - For each item that changes position, show a brief rationale (e.g., "critical bug", "blocks 3 items", "age > 2 epics").
149
+ - Prompt: "[a] Accept suggested order / [m] Manually adjust (enter new order) / [c] Cancel"
150
+ - On `a`: proceed to Step 4 with the suggested order.
151
+ - On `m`: prompt the user to enter item numbers in their desired order. Validate that all items are accounted for (no duplicates, no missing). Proceed to Step 4 with the manual order.
152
+ - On `c`: exit without changes.
153
+
154
+ - [x] 3.6 **Step 3b -- Quick mode workflow (AC: 3):**
155
+ - Apply the computed ranked order directly without prompting.
156
+ - Proceed immediately to Step 4 with the computed order.
157
+
158
+ - [x] 3.7 **Step 3c -- Auto-suggest mode workflow (AC: 4):**
159
+ - Display the suggested new order with per-item rationale in a detailed table: New Priority, ID, Title, Rationale, Change (e.g., "+3 up", "-2 down", "unchanged").
160
+ - Display a summary: N items would move up, M items would move down, K items unchanged.
161
+ - Do NOT proceed to Step 4. Exit with: "Suggestions displayed. No changes written. Run again in Full or Quick mode to apply."
162
+
163
+ - [x] 3.8 **Step 4 -- Apply reordering and persist (AC: 2, 3):**
164
+ - Take the confirmed ordering (from Full or Quick mode).
165
+ - Reorder the `backlog` array to match the new order.
166
+ - Renumber the `priority` field on each item sequentially: position 0 gets `priority: 1`, position 1 gets `priority: 2`, etc. (schema section 3.3: `priority` is a denormalized index that MUST be kept in sync with array position).
167
+ - Update the `last_updated` metadata field to the current ISO-8601 timestamp.
168
+ - Preserve the `generated` metadata field unchanged.
169
+ - Preserve the `epics` section unchanged.
170
+ - Preserve the `sprints` section unchanged.
171
+ - Write the complete `sprint-status.yaml` in a single atomic write (read-modify-write pattern).
172
+
173
+ - [x] 3.9 **Step 5 -- Summary output:**
174
+ - Display the reprioritization summary:
175
+ - Mode used (Full / Quick).
176
+ - Items reordered: total count.
177
+ - Items that moved up (with old and new priority).
178
+ - Items that moved down (with old and new priority).
179
+ - Items unchanged.
180
+ - Suggest next steps: `/add-to-sprint` to assign top-priority items to a sprint, `/sprint-status-view` to view overall progress.
181
+
182
+ ### Task 4: Verify no legacy file references (AC: 8)
183
+
184
+ - [x] 4.1 Confirm neither SKILL.md file contains any instruction to read from or write to `backlog.yaml` as a data source or write target.
185
+ - [x] 4.2 Confirm neither SKILL.md file contains any instruction to write a standalone `backlog.yaml` file.
186
+ - [x] 4.3 Confirm the only data file read/written is `sprint-status.yaml`.
187
+ - [x] 4.4 Confirm neither SKILL.md file references the old `development_status` map or `sprint-plan-*.yaml` files.
188
+
189
+ ### Task 5: Deployment verification (AC: 9)
190
+
191
+ - [x] 5.1 Run `npx ma-agents` (or `node lib/cli.js`) to trigger the installer.
192
+ - [x] 5.2 Verify the IDE skill appears in the installed MANIFEST.yaml for at least one agent (e.g., check `.claude/skills/MANIFEST.yaml` includes `prioritize-backlog`).
193
+ - [x] 5.3 Diff the installed IDE copy (e.g., `.claude/skills/prioritize-backlog/SKILL.md`) against the source (`skills/prioritize-backlog/SKILL.md`) -- the content should match after accounting for frontmatter injection by the installer.
194
+ - [x] 5.4 Verify the BMAD extension copy exists at `_bmad/extensions/ma-agents-skills/skills/prioritize-backlog/SKILL.md` after a BMAD install.
195
+ - [x] 5.5 Verify the BMAD extension copy matches the source at `lib/bmad-extension/skills/prioritize-backlog/SKILL.md`.
196
+ - [x] 5.6 Verify `prioritize-backlog` appears in the BMAD module help output.
197
+
198
+ ## Dev Notes
199
+
200
+ ### CRITICAL: Two Deployment Pipelines (Read This First)
201
+
202
+ The ma-agents project is a **multi-agent skill installer** that deploys skills to 8+ IDE coding agents. There are TWO independent deployment pipelines, and this story creates source files for BOTH.
203
+
204
+ **Why this matters:** The previous version of this story was fundamentally wrong -- it directed edits to `.claude/skills/prioritize-backlog/SKILL.md`, which is an INSTALLED COPY (a read-only deployed artifact). That path is where the installer OUTPUTS files, not where source files live. Furthermore, the Phase 1 implementation was rolled back entirely, so `prioritize-backlog` does NOT currently exist in either pipeline. This story creates it from scratch in both locations.
205
+
206
+ #### Pipeline 1: IDE Skills (all IDE agents) -- NEW
207
+
208
+ - **Source location:** `skills/prioritize-backlog/skill.json` + `skills/prioritize-backlog/SKILL.md`
209
+ - **Status:** Does NOT exist. Task 1 creates these files from scratch.
210
+ - **Deployed by:** `lib/installer.js` -> `performInstall()` which:
211
+ 1. Reads `skill.json` for metadata
212
+ 2. Falls back through: `templates/<agent>.md` -> `templates/generic.md` -> `SKILL.md`
213
+ 3. Strips existing frontmatter, injects fresh frontmatter from `skill.json`
214
+ 4. Copies to each agent's install directory (e.g., `.claude/skills/`, `.cursor/skills/`, etc.)
215
+ - **Never hardcode agent paths.** The installer handles deployment to all agents automatically.
216
+ - **Reference skill:** See `skills/story-status-lookup/` for a working example of `skill.json` + `SKILL.md`.
217
+
218
+ #### Pipeline 2: BMAD Extension Skills (BMAD agents only) -- NEW
219
+
220
+ - **Source location:** `lib/bmad-extension/skills/prioritize-backlog/SKILL.md` + `bmad-skill-manifest.yaml`
221
+ - **Status:** Does NOT exist. Task 2 creates these files from scratch.
222
+ - **Deployed by:** `lib/bmad.js` which copies `lib/bmad-extension/` to `_bmad/extensions/ma-agents-skills/`
223
+ - **Registered in:** `lib/bmad-extension/module-help.csv` (new row mapping to `bmm-sm` agent)
224
+ - **Reference skill:** See `lib/bmad-extension/skills/add-to-sprint/` for a working example of `SKILL.md` + `bmad-skill-manifest.yaml`.
225
+
226
+ #### Install Locations (NEVER edit these directly)
227
+
228
+ - `.claude/skills/`, `.cursor/skills/`, `.cline/skills/`, `.roo/skills/`, `.gemini/skills/`, `.github/copilot/skills/`, `.kilocode/skills/` -- all managed by installer
229
+ - `_bmad/extensions/ma-agents-skills/skills/` -- managed by BMAD deployer
230
+
231
+ ### What This Story Changes vs Current Behavior
232
+
233
+ **Current state (post-rollback):** The `prioritize-backlog` skill does NOT exist in either pipeline. The Phase 1 implementation created an installed copy at `.claude/skills/prioritize-backlog/SKILL.md` that read/wrote a standalone `backlog.yaml` file. That implementation was rolled back in commit `85fad06`. No source files for this skill exist anywhere in the repository.
234
+
235
+ **New behavior:** The skill is created from scratch in BOTH deployment pipelines. It reads the `backlog` array from `sprint-status.yaml`, applies multi-criteria prioritization scoring, and writes the reordered backlog back to the same file. Three modes are supported: Full (interactive), Quick (automated), and Auto-suggest (read-only). The `sprints` and `epics` sections are preserved unchanged on every write.
236
+
237
+ ### Key Design Decisions
238
+
239
+ - **Output target:** `sprint-status.yaml` `backlog` section only. No standalone `backlog.yaml` is read or written.
240
+ - **Scope boundary:** Only items in the `backlog` array are subject to reprioritization. Items in `sprints[].items` are completely excluded from the view and from scoring. This respects the single-location invariant (schema section 6.1).
241
+ - **Three modes:** Full (interactive approval), Quick (automated apply), Auto-suggest (display-only). This provides flexibility from full control to quick automation.
242
+ - **Priority renumbering:** After reordering, `priority` values are renumbered 1..N to keep the denormalized index in sync with array positions (schema section 3.3).
243
+ - **Atomic write:** Single read-modify-write to `sprint-status.yaml`. The `backlog` section is replaced with the reordered version; `epics` and `sprints` sections are passed through unchanged.
244
+ - **Weighted criteria (FR67):** Severity > Business Value > Dependencies > Type > Age. Severity is the strongest signal (critical bugs must float to top); age is the weakest (tiebreaker to prevent starvation).
245
+ - **Dependency inference:** Reads `epics.md` for explicit inter-story dependencies. Within the same epic, assumes sequential ordering (lower story number = earlier dependency). Items that block other items get a priority boost.
246
+ - **Legacy file handling:** If `backlog.yaml` exists alongside `sprint-status.yaml`, it is ignored with a logged note suggesting migration (Story 17.23).
247
+
248
+ ### Unified Schema Sections Touched
249
+
250
+ - **`backlog`** -- read (display items, compute scores) + write (reordered array with renumbered priorities)
251
+ - **`epics`** -- preserved unchanged (pass-through on write)
252
+ - **`sprints`** -- preserved unchanged (pass-through on write); NOT read for item discovery (only `backlog` is in scope)
253
+ - **Metadata** -- `last_updated` is updated on every write; `generated` is preserved unchanged
254
+
255
+ ### Rework Level: Light (but Create from Scratch)
256
+
257
+ The epics document classifies this as a "Light rework" because the core prioritization logic (multi-criteria scoring, three modes, dependency analysis) is conceptually simple and well-defined. However, because the Phase 1 implementation was fully rolled back, the dev agent must create all files from scratch rather than modifying existing files. The tasks reflect this reality -- there are no files to read or modify, only files to create.
258
+
259
+ ### Prioritization Criteria Details (FR67)
260
+
261
+ The following criteria are used to compute a composite priority score for each backlog item:
262
+
263
+ | Criteria | Weight | Signal Source | Effect |
264
+ |----------|--------|---------------|--------|
265
+ | Severity | Highest | `severity` field on item | `critical` = top, `high` = elevated, `medium`/`low` = moderate/slight boost, `null` = no effect |
266
+ | Business Value | High | Existing `priority` value, epic importance | Preserves existing prioritization signals; items from higher-priority epics rank higher |
267
+ | Dependencies | Medium | `epics.md` inter-story dependencies | Blocking items boosted; blocked items slightly deprioritized |
268
+ | Type | Low | `type` field on item | `bug` gets slight boost over `story` at equal composite score |
269
+ | Age | Lowest | Epic number, item position | Lower epic number = older = slight boost; tiebreaker only |
270
+
271
+ ### Reference Files
272
+
273
+ - **Schema:** `_bmad-output/planning-artifacts/sprint-status-schema.md` (canonical schema, especially section 3 for backlog items, section 3.3 for priority renumbering)
274
+ - **Sprint status:** `_bmad-output/implementation-artifacts/sprint-status.yaml`
275
+ - **Epics source:** `_bmad-output/planning-artifacts/epics.md` (for dependency inference in prioritization scoring)
276
+ - **IDE skill reference:** `skills/story-status-lookup/skill.json` + `skills/story-status-lookup/SKILL.md` (example of `skill.json` + `SKILL.md` structure)
277
+ - **BMAD skill reference:** `lib/bmad-extension/skills/add-to-sprint/` (example of `SKILL.md` + `bmad-skill-manifest.yaml`)
278
+ - **Module help CSV:** `lib/bmad-extension/module-help.csv`
279
+ - **PRD:** `_bmad-output/planning-artifacts/prd.md` (FR67, FR133, FR134)
280
+
281
+ ### Cross-References
282
+
283
+ - **Story 17.9** (prerequisite): Defines the unified `sprint-status.yaml` schema and the `backlog` array item structure with `priority` field (section 3)
284
+ - **Story 17.15** (prerequisite): `bmad-sprint-planning` bootstraps the file; `prioritize-backlog` requires it to exist
285
+ - **Story 17.10** (prerequisite): `generate-backlog` populates the `backlog` section that this skill reorders
286
+ - **Story 17.11** (downstream): `add-to-sprint` moves top-priority items from the backlog this skill orders into sprints
287
+ - **Story 17.12** (peer): `remove-from-sprint` may return items to backlog, which may then need reprioritization
288
+ - **Story 17.23** (migration): Migrates old `backlog.yaml` to the unified file; this skill ignores the legacy file if present
289
+
290
+ ### PRD Traceability
291
+
292
+ - **FR67:** Story/bug prioritization supports multiple criteria beyond epic precedence -- criteria include severity, business value, dependencies, type, and age. This is the primary FR for this story; the multi-criteria scoring engine implements it directly.
293
+ - **FR133:** `sprint-status.yaml` includes top-level metadata (`generated`, `last_updated`, `project`, `project_key`, `tracking_system`, `story_location`) -- `last_updated` must be refreshed on write.
294
+ - **FR134:** Each item in the backlog carries a consistent structure (`id`, `type`, `epic`, `title`, `priority`, `status`, `severity`). Prioritization respects section boundaries -- items in `backlog` are reordered; items in `sprints` are untouched.
295
+ - **FR65:** All sprint, backlog, and epic status data is managed in a single `sprint-status.yaml` file. This skill reads from and writes to that single file.
296
+ - **NFR19:** Skills work identically across invocation modes (slash command, menu, workflow).
297
+
298
+ ### Architecture Reference
299
+
300
+ - Architecture Decision P2-5 in `_bmad-output/planning-artifacts/architecture.md` -- Pre-built Extension Workflows (FR61, FR68-FR70)
301
+ - Architecture Decision P2-11 in `_bmad-output/planning-artifacts/architecture.md` -- Unified sprint-status.yaml model
302
+ - Schema: `_bmad-output/planning-artifacts/sprint-status-schema.md` -- canonical schema, especially section 3 (backlog), section 3.3 (priority renumbering invariant), section 6.1 (single-location invariant)
303
+
304
+ ---
305
+
306
+ ## Dev Agent Record
307
+
308
+ ### Implementation Notes
309
+
310
+ - Created skill from scratch in both deployment pipelines (IDE + BMAD extension).
311
+ - IDE skill (`skills/prioritize-backlog/`) uses `skill.json` + `SKILL.md` pattern — no `always_load` (on-demand skill).
312
+ - BMAD extension (`lib/bmad-extension/skills/prioritize-backlog/`) adds frontmatter triggers and BMAD config path resolution.
313
+ - The BMAD version checks `_bmad/bmm/config.yaml` for a `sprint_status_path` override before defaulting to the standard path.
314
+ - Both versions implement identical multi-criteria scoring (severity, business value, dependencies, type, age) and all three modes (Full, Quick, Auto-suggest).
315
+ - Registered in `lib/bmad-extension/module-help.csv` with `bmm-sm` agent assignment.
316
+
317
+ ### Code Review Findings (2026-04-06)
318
+
319
+ - AC 1-10: All acceptance criteria implemented.
320
+ - No `backlog.yaml` read/write instructions — only detection + warning (AC 8). PASS.
321
+ - No `development_status` map or `sprint-plan-*.yaml` references. PASS.
322
+ - Priority renumbering 1..N in Step 4. PASS.
323
+ - Epics/sprints/generated preserved unchanged on every write. PASS.
324
+ - Three modes (Full/Quick/Auto-suggest) all implemented. PASS.
325
+ - Cross-repo-validation test failure is pre-existing (unrelated to this story — checked on main branch). PASS.
326
+
327
+ ### File List
328
+
329
+ **Created:**
330
+ - `skills/prioritize-backlog/skill.json` — IDE skill metadata
331
+ - `skills/prioritize-backlog/SKILL.md` — IDE skill workflow (canonical source)
332
+ - `lib/bmad-extension/skills/prioritize-backlog/SKILL.md` — BMAD extension skill workflow
333
+ - `lib/bmad-extension/skills/prioritize-backlog/bmad-skill-manifest.yaml` — BMAD skill manifest
334
+
335
+ **Modified:**
336
+ - `lib/bmad-extension/module-help.csv` — Added `prioritize-backlog` row for `bmm-sm` agent
337
+ - `_bmad-output/implementation-artifacts/sprint-status.yaml` — Status updated to `review`
338
+ - `_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md` — Story status + tasks updated
339
+
340
+ ### Change Log
341
+
342
+ | Date | Change | Author |
343
+ |------|--------|--------|
344
+ | 2026-04-06 | Created skill from scratch in both deployment pipelines; implemented multi-criteria prioritization with Full/Quick/Auto-suggest modes | Dev Agent |
@@ -0,0 +1,279 @@
1
+ # Story 17.9: Unified sprint-status.yaml Schema
2
+
3
+ Status: done
4
+
5
+ ## Story
6
+
7
+ As a **Scrum Master**,
8
+ I want all sprint management data consolidated into a single `sprint-status.yaml` file with three structured sections (epics, backlog, sprints),
9
+ So that there is one source of truth for all sprint/backlog state — eliminating data duplication and cross-file consistency bugs.
10
+
11
+ ## Acceptance Criteria
12
+
13
+ 1. **Given** the unified schema is defined,
14
+ **When** `sprint-status.yaml` is created or updated by any skill,
15
+ **Then** it contains exactly three data sections (`epics`, `backlog`, `sprints`) plus top-level metadata fields (`generated`, `last_updated`, `project`, `project_key`, `tracking_system`, `story_location`).
16
+
17
+ 2. **Given** the `epics` section exists,
18
+ **When** any skill reads it,
19
+ **Then** it is a YAML **map** keyed by epic ID (e.g., `epic-5:`) with fields `status` (`backlog` | `in-progress` | `done`) and `retrospective` (`optional` | `done` | null).
20
+
21
+ 3. **Given** the `backlog` section exists,
22
+ **When** any skill reads it,
23
+ **Then** it is a YAML **array** of item objects. Each item has: `id` (string), `type` (`story` | `bug`), `epic` (integer | null), `title` (string), `priority` (integer), `status` (string), and optional `severity` (null | `critical` | `high` | `medium` | `low`).
24
+
25
+ 4. **Given** the `sprints` section exists,
26
+ **When** any skill reads it,
27
+ **Then** it is a YAML **map** keyed by sprint ID (e.g., `sprint-3:`) with fields: `name` (string), `status` (`planning` | `active` | `closed`), `capacity` (integer), `start` (ISO date string or empty), `end` (ISO date string or empty), and `items` (array of item objects — same schema as backlog items but WITHOUT the `priority` field).
28
+
29
+ 5. **Given** a story or bug exists in the file,
30
+ **When** any skill searches for it,
31
+ **Then** the item exists in exactly **one** location — either the `backlog` array OR a single sprint's `items` array. Never both.
32
+
33
+ 6. **Given** an item's status changes (e.g., `ready-for-dev` to `in-progress`),
34
+ **When** the status is updated by any skill,
35
+ **Then** the `status` field is updated **in-place** on the item in whichever section it resides.
36
+
37
+ 7. **Given** an item reaches `done` status,
38
+ **When** cleanup runs (Story 17.14),
39
+ **Then** the item is REMOVED from `sprint-status.yaml` entirely and archived to `done/`.
40
+
41
+ 8. **Given** a sprint transitions from `planning` to `active`,
42
+ **When** the activation occurs,
43
+ **Then** only one sprint can have `status: active` at a time. The previous active sprint must be closed first.
44
+
45
+ 9. **Given** the `tracking_system` field is set to `file-system` (default),
46
+ **When** any sprint skill runs,
47
+ **Then** it reads/writes the local YAML file. When set to `jira`, skills route to the Jira adapter (Story 17.22).
48
+
49
+ ## Tasks / Subtasks
50
+
51
+ - [x] Task 1: Define canonical YAML schema (AC: 1-4)
52
+ - [x] 1.1 Write the canonical schema as a reference specification — this is the contract ALL 13 skills will code against
53
+ - [x] 1.2 Document the top-level metadata fields and their semantics
54
+ - [x] 1.3 Document the `epics` map schema with status transitions
55
+ - [x] 1.4 Document the `backlog` array item schema with all fields
56
+ - [x] 1.5 Document the `sprints` map schema with sprint entity and items sub-schema
57
+ - [x] 1.6 Document the item schema difference between backlog (has `priority`) and sprint items (no `priority`)
58
+ - [x] Task 2: Define invariants and constraints (AC: 5-8)
59
+ - [x] 2.1 Document the single-location invariant — an item ID must appear in exactly one section
60
+ - [x] 2.2 Document the in-place status update rule
61
+ - [x] 2.3 Document the done-removal rule
62
+ - [x] 2.4 Document the single-active-sprint constraint
63
+ - [x] 2.5 Document valid sprint status transitions: `planning` → `active` → `closed` (no backward)
64
+ - [x] 2.6 Document valid story status transitions: `backlog` → `ready-for-dev` → `in-progress` → `review` → `done`
65
+ - [x] Task 3: Define the tracking_system adapter contract (AC: 9)
66
+ - [x] 3.1 Document the `tracking_system` field semantics (`file-system` vs `jira`)
67
+ - [x] 3.2 Document that the schema is the canonical data contract for both backends
68
+ - [x] Task 4: Create a reference example file (AC: 1-9)
69
+ - [x] 4.1 Write a fully populated example `sprint-status.yaml` showing all sections with realistic data from the agents project
70
+ - [x] 4.2 Include edge cases: a bug in backlog, a closed sprint with empty items, a planning sprint with no items
71
+
72
+ ### Review Findings
73
+
74
+ - [x] [Review][Decision] #1 `on-hold` and `cancelled` statuses added to schema — Added to epic statuses (Section 2.3) and item statuses (Section 6.6) with transition rules. `on-hold` is bidirectional pause; `cancelled` is terminal from any non-done state. **Resolved.**
75
+ - [x] [Review][Decision] #2 `canceled` status — Resolved by #1. Added `cancelled` as terminal status for both epics and items.
76
+ - [x] [Review][Decision] #3 Priority dual-authority resolved — Array position is now authoritative; `priority` field is denormalized index kept in sync (Section 3.3). Validation rule 12 added.
77
+ - [x] [Review][Decision] #4 `remove-from-sprint` status reset — Status resets to `ready-for-dev` (not `backlog`, because story file already exists). Only `ready-for-dev` items may be added to sprints. Documented in Section 4.5 and Section 6.6. **Resolved.**
78
+ - [x] [Review][Decision] #5 Closed sprint immutability exception — Section 6.7 now has explicit exception for done/cancelled item archival by `cleanup-done`. Section 6.8 added for sprint item disposition on close. **Resolved.**
79
+ - [x] [Review][Decision] #6 Capacity is advisory — Section 4.2 updated: skills SHOULD warn but MUST NOT block when items exceed capacity. **Resolved.**
80
+ - [x] [Review][Patch] #7 P2-11 sprint item `priority` removed — architecture.md line 956 fixed. **Applied.**
81
+ - [x] [Review][Patch] #8 P2-11 backlog status constraint aligned — architecture.md line 969 updated to match schema Section 3.3. **Applied.**
82
+ - [x] [Review][Patch] #9 Story Dev Notes reference fixed — "17.2-17.16" → "17.10-17.24". **Applied.**
83
+ - [x] [Review][Patch] #10 Empty section validity notes added — `backlog: []` and `epics: {}` documented as valid (Sections 2.4 and 3.3). **Applied.**
84
+ - [x] [Review][Patch] #11 Epic-to-item mapping rule added — `epic: N` maps to `epic-N` key; `epic: null` excluded from derivation (Section 3.3). **Applied.**
85
+ - [x] [Review][Patch] #12 Done item movement restriction added — `done` items cannot be moved to backlog; only archived (Section 4.5). **Applied.**
86
+ - [x] [Review][Patch] #13 Priority reassignment rule defined — `max(existing) + 1`; empty backlog gets `priority: 1` (Section 4.5). **Applied.**
87
+ - [x] [Review][Patch] #14 Closed sprint disposition note added — New Section 6.8 documents item disposition before close. **Applied.**
88
+ - [x] [Review][Defer] #15 sprint-status.yaml still uses old flat `development_status` format — deferred, pre-existing (migration is Story 17.23)
89
+ - [x] [Review][Defer] #16 `generated` field in sprint-status.yaml is bare date, not ISO-8601 datetime — deferred, pre-existing (will be reformatted by Story 17.15 bootstrap)
90
+ - [x] [Review][Defer] #17 No `schema_version` metadata field — deferred, out of scope for 17.9 (can be added in a future story if schema evolution is needed)
91
+ - [x] [Review][Defer] #18 Concurrent modification has no locking guidance — deferred, skills run serially in current architecture
92
+ - [x] [Review][Defer] #19 `correct-course` referenced in Section 4.6 but not in skill map — deferred, informational reference only
93
+
94
+ ## Dev Notes
95
+
96
+ ### What This Story IS
97
+
98
+ This is a **schema definition** story, not a skill implementation story. The deliverable is a canonical YAML schema specification that serves as the contract for all 13 skills that will be reworked in subsequent stories (17.10-17.24). Think of it as the "protobuf definition" — the interface contract that everything else implements against.
99
+
100
+ ### What This Story Is NOT
101
+
102
+ This story does NOT:
103
+ - Modify any existing skills
104
+ - Write any JavaScript/TypeScript code
105
+ - Change how any skill reads or writes sprint-status.yaml
106
+ - Migrate existing data
107
+
108
+ Those are all subsequent stories (17.10-17.24).
109
+
110
+ ### Current State (What's Being Replaced)
111
+
112
+ The current `sprint-status.yaml` uses a **flat `development_status` map**:
113
+
114
+ ```yaml
115
+ generated: 2026-03-15
116
+ project: agents
117
+ tracking_system: file-system
118
+ story_location: _bmad-output/implementation-artifacts
119
+
120
+ development_status:
121
+ epic-1: done
122
+ 1-1-ci-cd-yes-flag: done
123
+ epic-1-retrospective: optional
124
+ epic-5: in-progress
125
+ 5-5-explicit-parameter-passing: review
126
+ ```
127
+
128
+ **Problems with this format:**
129
+ - Epics, stories, and retrospectives share a flat namespace
130
+ - No sprint entity — just a status list
131
+ - No backlog concept — items are either in the list or not
132
+ - No movement semantics — status is a string, not a lifecycle
133
+ - Separate `backlog.yaml` and `sprints/sprint-N.yaml` files exist but drift out of sync
134
+
135
+ ### New Schema (The Deliverable)
136
+
137
+ ```yaml
138
+ generated: "2026-04-03T12:00:00Z"
139
+ last_updated: "2026-04-03T12:00:00Z"
140
+ project: agents
141
+ project_key: NOKEY
142
+ tracking_system: file-system
143
+ story_location: _bmad-output/implementation-artifacts
144
+
145
+ epics:
146
+ epic-5:
147
+ status: in-progress
148
+ retrospective: optional
149
+ epic-17:
150
+ status: in-progress
151
+ retrospective: optional
152
+
153
+ backlog:
154
+ - id: "17-10-rework-generate-backlog"
155
+ type: story
156
+ epic: 17
157
+ title: "Rework generate-backlog Skill"
158
+ priority: 1
159
+ status: backlog
160
+ severity: null
161
+ - id: "BUG-path-spaces"
162
+ type: bug
163
+ epic: null
164
+ title: "Fix space-in-path bug"
165
+ priority: 2
166
+ status: backlog
167
+ severity: high
168
+
169
+ sprints:
170
+ sprint-3:
171
+ name: "Sprint 3"
172
+ status: active
173
+ capacity: 6
174
+ start: "2026-04-03"
175
+ end: "2026-04-14"
176
+ items:
177
+ - id: "5-5-explicit-parameter-passing"
178
+ type: story
179
+ epic: 5
180
+ title: "Explicit Parameter Passing"
181
+ status: in-progress
182
+ severity: null
183
+ - id: "5-6-fix-space-in-path-bug"
184
+ type: story
185
+ epic: 5
186
+ title: "Fix Space-in-Path Bug"
187
+ status: review
188
+ severity: null
189
+ sprint-2:
190
+ name: "Sprint 2"
191
+ status: closed
192
+ capacity: 8
193
+ start: "2026-03-15"
194
+ end: "2026-03-28"
195
+ items: []
196
+ ```
197
+
198
+ ### Key Schema Decisions
199
+
200
+ | Decision | Rationale |
201
+ |----------|-----------|
202
+ | `epics` is a **map**, not array | Keyed lookup by `epic-N` — matches how skills search for epic status |
203
+ | `backlog` is an **array** | Ordered by priority — position in array = priority rank |
204
+ | `sprints` is a **map** keyed by sprint ID | Fast lookup by `sprint-N` key; matches existing sprint ID convention |
205
+ | Items in backlog have `priority` field | Explicit numeric priority for sorting |
206
+ | Items in sprint do NOT have `priority` | Once in a sprint, priority is implicit (order within the sprint) |
207
+ | `severity` is null for stories | Only bugs have severity; null distinguishes stories from bugs alongside `type` |
208
+ | Sprint `items` uses same schema minus `priority` | Consistency — same item object, just drops one field on move |
209
+
210
+ ### Skills That Will Consume This Schema (13 total)
211
+
212
+ All of these will be reworked in subsequent stories to read/write the new schema:
213
+
214
+ | Skill | Story | Operation | Current Schema Assumption |
215
+ |-------|-------|-----------|--------------------------|
216
+ | `bmad-sprint-planning` | 17.15 | Bootstraps entire file | Writes flat `development_status` map |
217
+ | `generate-backlog` | 17.10 | Writes `backlog` section | Writes separate `backlog.yaml` |
218
+ | `add-sprint` | 17.16 | Writes `sprints` section | Creates separate `sprints/sprint-N.yaml` |
219
+ | `add-to-sprint` | 17.11 | Moves items backlog→sprint | Dual-writes `backlog.yaml` + `sprint-N.yaml` |
220
+ | `remove-from-sprint` | 17.12 | Moves items sprint→backlog | Dual-writes reverse |
221
+ | `sprint-status-view` | 17.13 | Reads all sections | Cross-references 3 files |
222
+ | `cleanup-done` | 17.14 | Removes done items | Scans 3 files |
223
+ | `modify-sprint` | 17.17 | Updates sprint entry | Reads/writes `sprint-N.yaml` |
224
+ | `bmad-dev-story` | 17.18 | Updates item status | Writes flat `development_status[key]` |
225
+ | `story-status-lookup` | 17.19 | Searches for item | Reads flat `development_status[key]` |
226
+ | `bmad-sprint-status` | 17.20 | Summarizes sprint health | Parses flat key map |
227
+ | `prioritize-backlog` | 17.24 | Reorders backlog items | Reads/writes `backlog.yaml` |
228
+ | `close-sprint` | 17.21 | Closes sprint lifecycle | NEW — does not exist yet |
229
+
230
+ ### Architecture Reference
231
+
232
+ - [Architecture P2-11: Unified Sprint-Status File Architecture](../_bmad-output/planning-artifacts/architecture.md) — full schema, design principles, skill integration map, adapter pattern
233
+ - [PRD FR133-FR140](../_bmad-output/planning-artifacts/prd.md) — functional requirements for unified sprint-status
234
+ - [Epics: Epic 17](../_bmad-output/planning-artifacts/epics.md) — all 16 stories with acceptance criteria
235
+
236
+ ### Project Structure Notes
237
+
238
+ - Schema file location: `{sprint_management_path}/_bmad-output/implementation-artifacts/sprint-status.yaml` (resolved via `config.yaml`, defaults to `_bmad-output/implementation-artifacts/sprint-status.yaml`)
239
+ - `done/` archive folder: `{implementation_artifacts}/done/`
240
+ - Config path: `_bmad/bmm/config.yaml` → `sprint_management_path`, `implementation_artifacts`
241
+
242
+ ### Deliverable Location
243
+
244
+ The schema specification should be written as a reference document. Suggested location: `_bmad-output/planning-artifacts/sprint-status-schema.md` — a standalone schema reference that dev agents can load when implementing skills 17.10-17.24.
245
+
246
+ ## Dev Agent Record
247
+
248
+ ### Agent Model Used
249
+
250
+ Claude Opus 4.6 (1M context)
251
+
252
+ ### Debug Log References
253
+
254
+ - Validated reference YAML example programmatically using Python `yaml.safe_load()` + structural assertions
255
+ - All invariants verified: single-location, single-active-sprint, field completeness, sprint items lack `priority`
256
+
257
+ ### Completion Notes List
258
+
259
+ - Created canonical schema specification at `_bmad-output/planning-artifacts/sprint-status-schema.md` (10 sections)
260
+ - Section 1: Top-level structure — 6 metadata fields + 3 data sections
261
+ - Section 2: Epics map schema — keyed by `epic-N`, status transitions `backlog → in-progress → done`
262
+ - Section 3: Backlog array schema — 7 required fields per item including `priority`
263
+ - Section 4: Sprints map schema — sprint entity + items sub-schema (6 fields, NO `priority`)
264
+ - Section 5: Tracking system adapter contract — `file-system` vs `jira` backend behavior
265
+ - Section 6: Invariants and constraints — 7 rules (single-location, in-place update, done-removal, single-active-sprint, sprint transitions, item transitions, closed sprint immutability)
266
+ - Section 7: Skill integration map — all 13 consuming skills with rework level
267
+ - Section 8: File location resolution — single-repo and multi-repo modes
268
+ - Section 9: Reference example — fully populated YAML with 3 epics, 4 backlog items, 3 sprints (active/planning/closed)
269
+ - Section 10: Schema validation checklist — 10-point validation rules for writing skills
270
+
271
+ ### Change Log
272
+
273
+ - 2026-04-03: Created sprint-status-schema.md — canonical YAML schema specification (Story 17.9)
274
+
275
+ ### File List
276
+
277
+ - `_bmad-output/planning-artifacts/sprint-status-schema.md` (NEW) — canonical schema reference document
278
+ - `_bmad-output/implementation-artifacts/sprint-status.yaml` (MODIFIED) — status updated for story 17-9
279
+ - `_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md` (MODIFIED) — story file updates