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
@@ -1,201 +1,165 @@
1
- <!-- IMPORTANT: This file must be kept in sync with lib/bmad-extension/skills/add-sprint/SKILL.md
2
- SKILL.md is the authoritative source (resolved via skill:add-sprint in module-help.csv).
3
- This workflow.md is a legacy copy. Any changes should be made to SKILL.md first, then synced here. -->
4
-
5
1
  # Add Sprint Workflow
6
2
 
7
- Guided workflow to create a new sprint entity with capacity limits, optional ISO dates, and structured YAML schema.
3
+ Guided workflow to create a new sprint entry in the `sprints` section of `sprint-status.yaml` with capacity limits, optional ISO dates, and auto-incremented sprint ID.
8
4
 
9
5
  <workflow>
10
6
 
11
- <step n="1" goal="Gather and validate sprint number and name">
12
- <action>Ask the user for the sprint number</action>
13
- <ask>What is the sprint number? (positive integer, e.g., 1, 2, 3)</ask>
14
- <action>Store input as {{sprint_number_input}}</action>
15
- <action>Validate {{sprint_number_input}} matches `^[1-9]\d*$` (positive integer, no leading zeros, no non-numeric characters)</action>
16
- <action>Validate {{sprint_number_input}} is <= 9999</action>
17
- <check if="{{sprint_number_input}} fails validation (zero, negative, non-numeric, leading zeros like '03', or > 9999)">
18
- <output>❌ Invalid sprint number: "{{sprint_number_input}}". Must be a positive integer (1-9999), no leading zeros.</output>
19
- <goto step="1" />
7
+ <step n="0" goal="Load configuration and validate file existence">
8
+ <action>Resolve the path to `sprint-status.yaml`. Check `_bmad/bmm/config.yaml` for a configured `story_location` path; if not set, default to `_bmad-output/implementation-artifacts/sprint-status.yaml`</action>
9
+ <action>Attempt to read the file at the resolved path</action>
10
+ <check if="sprint-status.yaml does not exist">
11
+ <output>No sprint-status.yaml found. Run sprint planning first to initialize the file.</output>
12
+ <action>Exit workflow</action>
20
13
  </check>
21
- <action>Store as {{sprint_number}} (integer)</action>
22
- <action>Construct {{sprint_id}} = "sprint-{{sprint_number}}"</action>
14
+ <action>Read and parse the full file: `epics`, `backlog`, and `sprints` sections plus all metadata fields</action>
15
+ <action>Store parsed content as {{file_content}}</action>
16
+ </step>
23
17
 
24
- <!-- Smart default name: detect naming patterns from existing sprints -->
25
- <action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover existing sprint files</action>
26
- <action>If existing sprints found, read the `name` field from the most recent one (highest sprint number)</action>
27
- <action>Infer a smart default name:
28
- - If previous name follows a sequential pattern with a numeric suffix (e.g., "app04"), suggest the next increment (e.g., "app05")
29
- - If previous name follows a date pattern (e.g., "2026-W14"), suggest the next date interval
30
- - If previous name is "Sprint {n}", suggest "Sprint {{sprint_number}}"
31
- - If no pattern detected or no existing sprints, default to "Sprint {{sprint_number}}"
32
- </action>
33
- <ask>Sprint name? (press Enter for "{{default_name}}", or type a custom name):</ask>
34
- <action>If user presses Enter or leaves blank, set {{sprint_name}} = "{{default_name}}"</action>
35
- <action>If user provides input, store as {{sprint_name}}</action>
18
+ <step n="1" goal="Auto-increment sprint ID and derive default name">
19
+ <action>Extract all keys from the `sprints` map in {{file_content}}</action>
20
+ <action>Parse numeric suffix from each key matching pattern `sprint-N` (e.g., `sprint-1` 1, `sprint-3` 3)</action>
21
+ <check if="no sprint keys exist in sprints map">
22
+ <action>Set {{new_number}} = 1</action>
23
+ <action>Set {{default_name}} = "Sprint 1"</action>
24
+ </check>
25
+ <check if="sprint keys exist">
26
+ <action>Find the highest numeric suffix among all sprint keys; store as {{max_number}}</action>
27
+ <action>Set {{new_number}} = {{max_number}} + 1</action>
28
+ <action>Look up the sprint entry whose key has suffix {{max_number}}; read its `name` field</action>
29
+ <action>If the name matches pattern "Sprint N" or "Sprint N — description" or "Sprint N - description", set {{default_name}} = "Sprint {{new_number}}"; otherwise set {{default_name}} = "Sprint {{new_number}}" as safe fallback</action>
30
+ </check>
31
+ <action>Set {{sprint_id}} = "sprint-{{new_number}}"</action>
32
+ <action>Set {{sprint_name}} = {{default_name}}</action>
33
+ <output>
34
+ Auto-generated Sprint ID: **{{sprint_id}}**
35
+ Default Sprint Name: **{{sprint_name}}**
36
+ </output>
37
+ <ask>Sprint ID: {{sprint_id}} — press Enter to accept or type a different number:</ask>
38
+ <check if="user provides a different number">
39
+ <action>Set {{sprint_id}} = "sprint-{user_number}"</action>
40
+ <action>Check if {{sprint_id}} already exists as a key in the `sprints` map</action>
41
+ <check if="sprint_id already exists">
42
+ <output>Sprint ID {{sprint_id}} already exists in sprint-status.yaml. Please choose a different number.</output>
43
+ <goto step="1" sub="re-prompt for number only" />
44
+ </check>
45
+ <action>Update {{sprint_name}} default to "Sprint {user_number}"</action>
46
+ </check>
47
+ <ask>Sprint name: '{{sprint_name}}' — press Enter to accept or type a different name:</ask>
48
+ <check if="user provides a different name">
49
+ <action>Set {{sprint_name}} = user input</action>
50
+ </check>
36
51
  </step>
37
52
 
38
- <step n="2" goal="Gather capacity as positive integer">
39
- <action>Explain capacity: the maximum number of items (stories + bugs) that can be assigned to this sprint</action>
40
- <ask>What is the sprint capacity? (Enter a positive integer — the maximum number of stories/bugs for this sprint)</ask>
53
+ <step n="2" goal="Gather capacity (required)">
54
+ <action>Explain: capacity is the maximum number of items (stories + bugs) that can be assigned to this sprint. This is advisory — skills will warn but not block when exceeded (per schema section 4.2).</action>
55
+ <ask>What is the sprint capacity? (Enter a positive integer)</ask>
41
56
  <action>Store input as {{capacity_input}}</action>
42
57
  <action>Validate {{capacity_input}} is a positive integer (greater than zero, no decimals, no non-numeric characters)</action>
43
58
  <check if="{{capacity_input}} is NOT a positive integer">
44
- <output>❌ Invalid capacity: "{{capacity_input}}". Capacity must be a positive integer (e.g., 5, 10, 20). Zero and negative values are not allowed.</output>
59
+ <output>Invalid capacity: "{{capacity_input}}". Capacity must be a positive integer (e.g., 5, 10, 20). Zero and negative values are not allowed.</output>
45
60
  <goto step="2" />
46
61
  </check>
47
62
  <action>Store as {{capacity}} (integer)</action>
48
63
  </step>
49
64
 
50
- <step n="3a" goal="Gather optional start date (ISO format)">
51
- <action>Explain: start and end dates are optional ISO dates (YYYY-MM-DD format). Press Enter to skip.</action>
52
- <ask>Optional Sprint start date (YYYY-MM-DD, press Enter to skip):</ask>
53
- <action>Store input as {{start_input}}</action>
54
- <check if="{{start_input}} is not empty">
55
- <action>Validate {{start_input}} matches regex `^\d{4}-\d{2}-\d{2}$`</action>
56
- <action>Verify {{start_input}} resolves to a real calendar date (reject impossible dates like 2026-02-30, 2026-13-45, etc.)</action>
57
- <check if="{{start_input}} fails date validation">
58
- <output>❌ Invalid date: "{{start_input}}". Must be a valid date in YYYY-MM-DD format (e.g., 2026-04-01).</output>
59
- <goto step="3a" />
65
+ <step n="3" goal="Gather optional start and end dates">
66
+ <ask>Optional Sprint start date (ISO format YYYY-MM-DD, press Enter to skip):</ask>
67
+ <action>Store as {{start_input}}</action>
68
+ <check if="start_input is not empty">
69
+ <action>Validate {{start_input}} matches ISO date pattern YYYY-MM-DD (4-digit year, 2-digit month 01-12, 2-digit day 01-31)</action>
70
+ <check if="start_input does not match ISO date pattern">
71
+ <output>Invalid date format: "{{start_input}}". Please use YYYY-MM-DD (e.g., 2026-04-15).</output>
72
+ <goto step="3" sub="re-prompt for start date only" />
60
73
  </check>
74
+ <action>Store as {{start}} = {{start_input}}</action>
61
75
  </check>
62
- <action>Store as {{start_date}} (valid ISO date string, or empty string "" if skipped)</action>
63
- </step>
64
-
65
- <step n="3b" goal="Gather optional end date (ISO format)">
66
- <ask>Optional Sprint end date (YYYY-MM-DD, press Enter to skip):</ask>
67
- <action>Store input as {{end_input}}</action>
68
- <check if="{{end_input}} is not empty">
69
- <action>Validate {{end_input}} matches regex `^\d{4}-\d{2}-\d{2}$`</action>
70
- <action>Verify {{end_input}} resolves to a real calendar date</action>
71
- <check if="{{end_input}} fails date validation">
72
- <output>❌ Invalid date: "{{end_input}}". Must be a valid date in YYYY-MM-DD format (e.g., 2026-04-14).</output>
73
- <goto step="3b" />
76
+ <check if="start_input is empty">
77
+ <action>Store as {{start}} = "" (empty string)</action>
78
+ </check>
79
+ <ask>Optional Sprint end date (ISO format YYYY-MM-DD, press Enter to skip):</ask>
80
+ <action>Store as {{end_input}}</action>
81
+ <check if="end_input is not empty">
82
+ <action>Validate {{end_input}} matches ISO date pattern YYYY-MM-DD</action>
83
+ <check if="end_input does not match ISO date pattern">
84
+ <output>Invalid date format: "{{end_input}}". Please use YYYY-MM-DD (e.g., 2026-04-28).</output>
85
+ <goto step="3" sub="re-prompt for end date only" />
86
+ </check>
87
+ <check if="end_input is before start and start is not empty">
88
+ <output>Warning: end date {{end_input}} is before start date {{start}}. Continuing as requested.</output>
74
89
  </check>
90
+ <action>Store as {{end}} = {{end_input}}</action>
75
91
  </check>
76
- <action>Store as {{end_date}} (valid ISO date string, or empty string "" if skipped)</action>
77
-
78
- <check if="both {{start_date}} and {{end_date}} are non-empty AND {{start_date}} > {{end_date}}">
79
- <output>❌ Invalid date range: start date ({{start_date}}) is after end date ({{end_date}}). Start must be on or before end.</output>
80
- <goto step="3a" />
92
+ <check if="end_input is empty">
93
+ <action>Store as {{end}} = "" (empty string)</action>
81
94
  </check>
82
95
  </step>
83
96
 
84
- <step n="4" goal="Confirm and validate all inputs">
97
+ <step n="4" goal="Confirmation">
85
98
  <output>
86
- ## Sprint Summary — Please Confirm
87
-
88
- - **Sprint ID:** {{sprint_id}}
89
- - **Sprint Name:** "{{sprint_name}}"
90
- - **Status:** planning
91
- - **Capacity (max items):** {{capacity}}
92
- - **Start Date:** {{start_date}} *(empty if skipped)*
93
- - **End Date:** {{end_date}} *(empty if skipped)*
94
- - **Items:** [] *(empty — items assigned via /add-to-sprint)*
95
- - **Output File:** `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`
99
+ ## New Sprint Summary — Please Confirm
100
+
101
+ - Sprint ID: {{sprint_id}}
102
+ - Sprint Name: {{sprint_name}}
103
+ - Capacity: {{capacity}} items
104
+ - Start Date: {{start}} *(empty if skipped)*
105
+ - End Date: {{end}} *(empty if skipped)*
106
+ - Status: planning
107
+ - Items: [] *(empty — use /add-to-sprint to assign items)*
108
+ - Target: sprint-status.yaml sprints section
96
109
  </output>
97
- <ask>Confirm creation? [y] Yes / [n] Cancel / [e] Edit a field:</ask>
110
+ <ask>Confirm creation? [y] Yes / [n] Cancel / [e] Edit a field</ask>
98
111
  <check if="user selects 'e'">
99
- <ask>Which field to edit? (number / name / capacity / start / end)</ask>
100
- <check if="field == 'number'">
101
- <ask>New sprint number? (positive integer, 1-9999)</ask>
102
- <action>Store input as {{sprint_number_input}}</action>
103
- <action>Validate {{sprint_number_input}} matches `^[1-9]\d*$` and is <= 9999</action>
104
- <check if="{{sprint_number_input}} fails validation">
105
- <output>❌ Invalid sprint number: "{{sprint_number_input}}". Must be a positive integer (1-9999), no leading zeros.</output>
106
- <goto step="4" />
107
- </check>
108
- <action>Store as {{sprint_number}} (integer)</action>
109
- <action>Construct {{sprint_id}} = "sprint-{{sprint_number}}"</action>
110
- <action>If sprint name was using previous default "Sprint {old_n}", update to "Sprint {{sprint_number}}"</action>
111
- <action>Check if file exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`</action>
112
- <check if="file already exists at new path">
113
- <output>⚠️ A sprint entity already exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`. You will be prompted to overwrite at creation.</output>
114
- </check>
115
- <goto step="4" />
116
- </check>
112
+ <ask>Which field to edit? (id / name / capacity / start / end)</ask>
113
+ <check if="field == 'id'"><goto step="1" /></check>
117
114
  <check if="field == 'name'">
118
- <ask>New sprint name (or press Enter to use "Sprint {{sprint_number}}"):</ask>
119
- <action>If blank, set {{sprint_name}} = "Sprint {{sprint_number}}"; else store user input as {{sprint_name}}</action>
115
+ <ask>Sprint name (or press Enter to use "{{sprint_name}}"):</ask>
116
+ <check if="input is not empty"><action>Set {{sprint_name}} = user input</action></check>
120
117
  <goto step="4" />
121
118
  </check>
122
119
  <check if="field == 'capacity'"><goto step="2" /></check>
123
- <check if="field == 'start'"><goto step="3a" /></check>
124
- <check if="field == 'end'"><goto step="3b" /></check>
125
- <check if="field is not recognized">
126
- <output>❌ Unrecognized field: "{{field}}". Valid options: number, name, capacity, start, end.</output>
127
- <goto step="4" />
128
- </check>
120
+ <check if="field == 'start'"><goto step="3" sub="start date only" /></check>
121
+ <check if="field == 'end'"><goto step="3" sub="end date only" /></check>
129
122
  </check>
130
123
  <check if="user selects 'n'">
131
- <output>❌ Sprint creation cancelled.</output>
124
+ <output>Sprint creation cancelled.</output>
132
125
  <action>Exit workflow</action>
133
126
  </check>
134
- <check if="user input is not 'y', 'n', or 'e'">
135
- <output>❌ Unrecognized option: "{{user_input}}". Please enter [y] Yes, [n] Cancel, or [e] Edit a field.</output>
136
- <goto step="4" />
137
- </check>
138
127
  </step>
139
128
 
140
- <step n="5" goal="Generate sprint entity YAML file">
141
- <action>Determine output path: `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`</action>
142
- <action>Ensure directory `_bmad-output/implementation-artifacts/sprints/` exists (create if needed)</action>
143
-
144
- <!-- Overwrite protection for new path -->
145
- <action>Check if file already exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`</action>
146
- <check if="file already exists at new path">
147
- <anchor id="overwrite_prompt" />
148
- <output>⚠️ A sprint entity already exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`.</output>
149
- <ask>Overwrite existing sprint? [y] Yes / [n] Cancel:</ask>
150
- <check if="user selects 'n'">
151
- <output>❌ Sprint creation cancelled to preserve existing sprint.</output>
152
- <action>Exit workflow</action>
153
- </check>
154
- <check if="user input is not 'y' or 'n'">
155
- <output>❌ Unrecognized option: "{{user_input}}". Please enter [y] Yes or [n] Cancel.</output>
156
- <goto anchor="overwrite_prompt" />
157
- </check>
158
- </check>
159
-
160
- <!-- Advisory check for old-format file -->
161
- <action>Check if file exists at old path: `_bmad-output/implementation-artifacts/sprint-plan-{{sprint_number}}.yaml`</action>
162
- <check if="old-format file exists">
163
- <output>ℹ️ **Note:** An old-format sprint file exists at `_bmad-output/implementation-artifacts/sprint-plan-{{sprint_number}}.yaml`. The new sprint will be created at the new path. The old file is NOT auto-migrated — review or remove it manually if no longer needed.</output>
164
- </check>
165
-
166
- <action>Get current ISO timestamp for created_date and last_modified</action>
167
- <action>Write sprint entity YAML to `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml` with this structure:
168
-
129
+ <step n="5" goal="Write sprint entry to sprint-status.yaml">
130
+ <action>Re-read the current content of `sprint-status.yaml` (resolved path from Step 0) to get the latest state</action>
131
+ <action>Get the current ISO-8601 timestamp for `last_updated`</action>
132
+ <action>Append a new entry to the `sprints` map with this structure:
169
133
  ```yaml
170
- id: {{sprint_id}}
171
- name: "{{sprint_name}}"
172
- status: planning
173
- capacity: {{capacity}}
174
- start: "{{start_date}}"
175
- end: "{{end_date}}"
176
- items: []
177
- created_date: "{{current_iso_timestamp}}"
178
- last_modified: "{{current_iso_timestamp}}"
134
+ {{sprint_id}}:
135
+ name: "{{sprint_name}}"
136
+ status: planning
137
+ capacity: {{capacity}}
138
+ start: "{{start}}"
139
+ end: "{{end}}"
140
+ items: []
179
141
  ```
180
-
181
- **YAML output rules:**
182
- - Always quote the `name` field to handle special characters
183
- - `start` and `end` are empty string `""` if skipped
184
- - `items` is always empty array `[]` at creation
185
- - `status` is always `planning` at creation (never `active` or `closed`)
186
142
  </action>
143
+ <action>Preserve the `epics` section unchanged</action>
144
+ <action>Preserve the `backlog` section unchanged</action>
145
+ <action>Preserve all existing entries in the `sprints` section unchanged</action>
146
+ <action>Update the `last_updated` metadata field to the current ISO-8601 timestamp</action>
147
+ <action>Preserve the `generated` field unchanged (never modify)</action>
148
+ <action>Write the complete updated file in a single atomic write (read-modify-write pattern)</action>
149
+ </step>
150
+
151
+ <step n="6" goal="Summary output">
187
152
  <output>
188
- ✅ **Sprint created successfully!**
153
+ Sprint created successfully!
189
154
 
190
- - **File:** `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`
191
- - **Sprint:** {{sprint_name}}
192
- - **Capacity:** {{capacity}} items
193
- - **Status:** planning
155
+ - Sprint: {{sprint_name}} ({{sprint_id}})
156
+ - Capacity: {{capacity}} items
157
+ - Status: planning
194
158
 
195
- **Next Steps:**
196
- - Use `/add-to-sprint` to assign backlog items to this sprint
197
- - Use `/modify-sprint` to update sprint details later
198
- - Use `/sprint-status-view` to view sprint progress
159
+ Next Steps:
160
+ - Use /add-to-sprint to assign backlog items to this sprint
161
+ - Use /modify-sprint to update sprint details later
162
+ - Use /sprint-status-view to view sprint progress
199
163
  </output>
200
164
  </step>
201
165
 
@@ -1,4 +1,234 @@
1
- <!-- This workflow has been superseded by lib/bmad-extension/skills/add-to-sprint/SKILL.md -->
2
- <!-- Resolved via skill:add-to-sprint in module-help.csv -->
1
+ # Add-to-Sprint Workflow
3
2
 
4
- See `lib/bmad-extension/skills/add-to-sprint/SKILL.md` for the current workflow.
3
+ Guided workflow to move backlog items to a sprint in the unified `sprint-status.yaml` using movement semantics.
4
+
5
+ **Movement semantics:** Each item exists in exactly one location — either the `backlog` array OR a sprint's `items` array, never both. This skill atomically removes items from `backlog` and appends them to the target sprint's `items` array in a single file write.
6
+
7
+ <workflow>
8
+
9
+ <step n="0" goal="Load configuration and validate file existence">
10
+ <action>Resolve the path to `sprint-status.yaml`:
11
+ 1. If `_bmad/bmm/config.yaml` exists, read `sprint_management_path` from it; the file is at `{sprint_management_path}/_bmad-output/implementation-artifacts/sprint-status.yaml`
12
+ 2. Otherwise, use the default single-repo path: `_bmad-output/implementation-artifacts/sprint-status.yaml`
13
+ </action>
14
+ <check if="file does not exist at resolved path">
15
+ <output>❌ No sprint-status.yaml found. Run `/bmad-sprint-planning` first to initialize the file.</output>
16
+ <action>Exit workflow</action>
17
+ </check>
18
+ <action>Read and parse the full file: `epics`, `backlog`, and `sprints` sections plus metadata fields</action>
19
+ <action>Store the complete parsed document as {{sprint_status}} for atomic write-back later</action>
20
+ </step>
21
+
22
+ <step n="1" goal="Identify assignable sprints">
23
+ <action>Parse the `sprints` map from {{sprint_status}}</action>
24
+ <action>Filter to sprints with `status: planning` or `status: active` — exclude `status: closed` sprints</action>
25
+ <check if="no assignable sprints remain (all sprints are closed or sprints map is empty)">
26
+ <output>❌ No assignable sprints found. Run `/add-sprint` first to create a sprint before assigning items.</output>
27
+ <action>Exit workflow</action>
28
+ </check>
29
+ <check if="exactly one assignable sprint">
30
+ <action>Auto-select it as {{target_sprint}} (skip selection prompt)</action>
31
+ <output>ℹ️ Auto-selected the only assignable sprint: **{{target_sprint.name}}** ({{target_sprint.status}})</output>
32
+ </check>
33
+ <check if="multiple assignable sprints">
34
+ <action>Build a sprint selection table from the assignable sprints</action>
35
+ <output>
36
+ ## Available Sprints
37
+
38
+ | # | Sprint | Status | Capacity | Assigned | Remaining |
39
+ |---|--------|--------|----------|----------|-----------|
40
+ {{#each assignable_sprints}}
41
+ | {{@index+1}} | {{name}} | {{status}} | {{capacity}} | {{items.length}} | {{capacity - items.length}} |
42
+ {{/each}}
43
+ </output>
44
+ <ask>Select target sprint (enter number):</ask>
45
+ <action>Resolve entered number to the corresponding sprint entry and store as {{target_sprint}} (the sprint's map key and full sprint object)</action>
46
+ </check>
47
+ </step>
48
+
49
+ <step n="2" goal="Display backlog items eligible for sprint assignment">
50
+ <action>Read the `backlog` array from {{sprint_status}}</action>
51
+ <action>Filter to items with `status: ready-for-dev` ONLY — schema section 4.5 movement rules require this status for sprint assignment</action>
52
+ <check if="no ready-for-dev items exist in the backlog">
53
+ <output>❌ No items eligible for sprint assignment. Items must have `status: ready-for-dev` to be added to a sprint. Items with `status: backlog` must first have a story file created (which advances them to `ready-for-dev`).</output>
54
+ <action>Exit workflow</action>
55
+ </check>
56
+ <action>Display eligible backlog items in priority order (array order = priority order, position 0 = highest priority)</action>
57
+ <output>
58
+ ## Backlog Items (eligible for sprint assignment)
59
+
60
+ | # | ID | Title | Type | Epic | Severity |
61
+ |---|-----|-------|------|------|----------|
62
+ {{#each eligible_backlog_items}}
63
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} | {{epic}} | {{severity}} |
64
+ {{/each}}
65
+
66
+ *Total eligible: {{eligible_count}} items (status: ready-for-dev)*
67
+ </output>
68
+ </step>
69
+
70
+ <step n="3" goal="Display sprint capacity">
71
+ <action>Calculate capacity usage: current assigned count = `{{target_sprint.items.length}}`</action>
72
+ <action>Calculate remaining = `{{target_sprint.capacity}} - {{target_sprint.items.length}}`</action>
73
+ <output>
74
+ ## Sprint Capacity: {{target_sprint.name}}
75
+
76
+ - **Capacity:** {{target_sprint.capacity}} items
77
+ - **Assigned:** {{target_sprint.items.length}} items
78
+ - **Remaining:** {{remaining_capacity}} slots
79
+
80
+ {{#if remaining_capacity <= 0}}
81
+ ⚠️ This sprint is **at or over capacity**. Adding items will exceed the limit.
82
+ {{/if}}
83
+ </output>
84
+ </step>
85
+
86
+ <step n="4" goal="Select candidate items for this sprint">
87
+ <ask>Which backlog items do you want to consider for this sprint? Enter item numbers (comma-separated), or "all" to evaluate the full eligible backlog:</ask>
88
+ <check if="user enters 'all'">
89
+ <action>Set {{candidate_items}} = all items from the eligible backlog list displayed in step 2</action>
90
+ </check>
91
+ <check if="user enters item numbers">
92
+ <action>Resolve the entered numbers against the eligible backlog table from step 2</action>
93
+ <action>Validate all entered numbers correspond to displayed items — report error for any invalid numbers</action>
94
+ <action>Set {{candidate_items}} = those specific items</action>
95
+ </check>
96
+ </step>
97
+
98
+ <step n="5" goal="Multi-criteria prioritization analysis">
99
+ <action>For each item in {{candidate_items}}, evaluate and score across criteria:
100
+ - **Business value:** High (H) / Medium (M) / Low (L) — impact on users or project goals
101
+ - **Dependency status:** Blocked (blocked by another item) / Blocking (blocks other items) / Independent
102
+ - **Severity** (bugs only): Critical / High / Medium / Low — N/A for stories
103
+ - **Effort estimation:** Small (S ≤ 1 day) / Medium (M 2–3 days) / Large (L 4+ days)
104
+ </action>
105
+ <action>Generate a ranked ordering recommendation, factoring in:
106
+ 1. Blocking dependencies first (items that unlock others)
107
+ 2. High business value + low/medium effort (quick wins)
108
+ 3. Critical/High bugs ahead of Medium/Low bugs
109
+ 4. Avoid blocked items unless capacity allows waiting
110
+ </action>
111
+ <output>
112
+ ## Prioritization Analysis
113
+
114
+ | Rank | ID | Title | Type | Business Value | Dependencies | Severity | Effort | Rationale |
115
+ |------|----|-------|------|----------------|--------------|----------|--------|-----------|
116
+ {{#each ranked_items}}
117
+ | {{rank}} | {{id}} | {{title}} | {{type}} | {{business_value}} | {{dependency_status}} | {{severity}} | {{effort}} | {{rationale}} |
118
+ {{/each}}
119
+
120
+ **Recommended selection** (up to {{remaining_capacity}} items to stay within capacity): {{recommended_selection}}
121
+ </output>
122
+ </step>
123
+
124
+ <step n="6" goal="User confirms or adjusts selection">
125
+ <ask>Review the ranking above. Options:
126
+ - [c] Confirm recommended selection as-is
127
+ - [m] Modify selection (specify item numbers to include)
128
+ - [r] Re-rank items (provide new priority order)
129
+ - [x] Cancel without assigning
130
+
131
+ Choice:</ask>
132
+ <check if="user selects 'x'">
133
+ <output>❌ Assignment cancelled — no changes made.</output>
134
+ <action>Exit workflow</action>
135
+ </check>
136
+ <check if="user selects 'm'">
137
+ <ask>Enter item numbers to assign (comma-separated):</ask>
138
+ <action>Resolve entered numbers against the eligible backlog table from step 2</action>
139
+ <action>Set {{confirmed_items}} = those specific items</action>
140
+ </check>
141
+ <check if="user selects 'r'">
142
+ <ask>Enter item numbers in your preferred priority order (comma-separated). Only items you include will be assigned — items not listed will be excluded from this session and remain in the backlog:</ask>
143
+ <action>Set {{confirmed_items}} = items matching the user-provided numbers, in the order provided. Items from {{candidate_items}} NOT mentioned are excluded from this session (they remain in the backlog for future sprints).</action>
144
+ </check>
145
+ <check if="user selects 'c'">
146
+ <action>Set {{confirmed_items}} = recommended selection from step 5</action>
147
+ </check>
148
+ <action>Store confirmed ranking in {{confirmed_ranking}} for the audit record</action>
149
+ </step>
150
+
151
+ <step n="7" goal="Execute movement with capacity enforcement">
152
+ <action>Initialize {{current_sprint_count}} = {{target_sprint.items.length}} (current assigned count before any additions this session)</action>
153
+ <action>Initialize {{items_to_move}} = [] (items confirmed for movement)</action>
154
+ <action>For each item in {{confirmed_items}}, in confirmed ranking order:</action>
155
+ <check if="adding this item would exceed sprint capacity (current_sprint_count + 1 > target_sprint.capacity)">
156
+ <output>⚠️ **Capacity Warning:** Adding "{{item.title}}" would bring assigned items to {{current_sprint_count + 1}}/{{target_sprint.capacity}} — exceeding sprint capacity by {{current_sprint_count + 1 - target_sprint.capacity}}.</output>
157
+ <ask>Options:
158
+ - [a] Add anyway (over-capacity acknowledged)
159
+ - [s] Skip this item (leave in backlog)
160
+ - [m] Exit to run `/modify-sprint` to increase capacity first
161
+
162
+ Choice:</ask>
163
+ <check if="user selects 's'">
164
+ <action>Skip this item — do NOT add to {{items_to_move}}. Continue to next item.</action>
165
+ </check>
166
+ <check if="user selects 'm'">
167
+ <output>💡 Run `/modify-sprint` to increase capacity for **{{target_sprint.name}}**, then re-run `/add-to-sprint`.</output>
168
+ <action>Exit workflow without making any changes</action>
169
+ </check>
170
+ <check if="user selects 'a'">
171
+ <action>Add to {{items_to_move}} and increment {{current_sprint_count}}</action>
172
+ </check>
173
+ </check>
174
+ <check if="item is within capacity">
175
+ <action>Add to {{items_to_move}} and increment {{current_sprint_count}}</action>
176
+ </check>
177
+ </step>
178
+
179
+ <step n="8" goal="Atomic write — persist all movements to sprint-status.yaml">
180
+ <action>If {{items_to_move}} is empty (all items were skipped or cancelled), exit without writing.</action>
181
+
182
+ <action>**Pre-write: single-location invariant check.** Build {{all_sprint_item_ids}} = flat set of all item IDs across ALL sprints in {{sprint_status}}.sprints (every sprint, every status). For each item in {{items_to_move}}: check if its ID exists in {{all_sprint_item_ids}}. If ANY match is found:
183
+ <output>**Error:** Data integrity violation — item {{item.id}} already exists in a sprint. Aborting to prevent duplicate. The sprint-status.yaml file may be corrupted. No changes have been written.</output>
184
+ <action>Exit workflow without writing</action>
185
+ </action>
186
+
187
+ <action>**Pre-write: backlog re-validation.** Build {{current_backlog_ids}} = set of all item IDs currently in {{sprint_status}}.backlog. For each item in {{items_to_move}}: check if its ID exists in {{current_backlog_ids}}. If ANY item is missing:
188
+ <output>**Error:** Item {{item.id}} was selected for sprint assignment but is no longer in the backlog. The file may have been modified externally. No changes have been written. Please re-run `/add-to-sprint` to start fresh.</output>
189
+ <action>Exit workflow without writing</action>
190
+ </action>
191
+
192
+ <action>Perform ALL of the following in a single atomic write to `sprint-status.yaml`:</action>
193
+ <action>1. For each item in {{items_to_move}}:
194
+ - Build the sprint item object: copy `id`, `type`, `epic`, `title`, `status`, `severity` from the backlog item — DROP the `priority` field (sprint items do not have priority)
195
+ - APPEND the sprint item object to `sprints[{{target_sprint_key}}].items`
196
+ - REMOVE the original item object from the `backlog` array
197
+ </action>
198
+ <action>2. Renumber remaining backlog items' `priority` values sequentially (1..N) to match their new array positions (position 0 → priority 1, position 1 → priority 2, etc.)</action>
199
+ <action>3. Update `last_updated` to the current ISO-8601 timestamp</action>
200
+ <action>4. Preserve `generated`, `epics`, and all other metadata fields unchanged</action>
201
+ <action>5. Write the complete updated `sprint-status.yaml` in a single write operation (all removals + additions + renumbering happen together — no partial state)</action>
202
+ </step>
203
+
204
+ <step n="9" goal="Display summary">
205
+ <output>
206
+ ## Assignment Complete
207
+
208
+ **Sprint:** {{target_sprint.name}}
209
+ **Items assigned this session:** {{items_to_move.length}}
210
+
211
+ | # | ID | Title | Type |
212
+ |---|----|-------|------|
213
+ {{#each items_to_move}}
214
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} |
215
+ {{/each}}
216
+
217
+ ### Confirmed Ranking (Audit Record)
218
+
219
+ | Rank | ID | Title | Type | Business Value | Dependencies | Severity | Effort |
220
+ |------|----|-------|------|----------------|--------------|----------|--------|
221
+ {{#each confirmed_ranking}}
222
+ | {{rank}} | {{id}} | {{title}} | {{type}} | {{business_value}} | {{dependency_status}} | {{severity}} | {{effort}} |
223
+ {{/each}}
224
+
225
+ **Updated Capacity:** {{current_sprint_count}}/{{target_sprint.capacity}} items used ({{target_sprint.capacity - current_sprint_count}} remaining)
226
+
227
+ **Next Steps:**
228
+ - Use `/remove-from-sprint` to move items back to backlog if needed
229
+ - Use `/modify-sprint` to adjust capacity or sprint metadata
230
+ - Use `/sprint-status-view` to view the full sprint with all assigned items
231
+ </output>
232
+ </step>
233
+
234
+ </workflow>