ma-agents 3.4.8 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (762) hide show
  1. package/AiAudit.md +7 -0
  2. package/README.md +78 -29
  3. package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +237 -0
  4. package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +339 -0
  5. package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +348 -0
  6. package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +383 -0
  7. package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +348 -0
  8. package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +385 -0
  9. package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +362 -0
  10. package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +477 -0
  11. package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +377 -0
  12. package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +301 -0
  13. package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +508 -0
  14. package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +455 -0
  15. package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +325 -0
  16. package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +403 -0
  17. package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +344 -0
  18. package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +279 -0
  19. package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +173 -0
  20. package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +129 -0
  21. package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +274 -0
  22. package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +186 -0
  23. package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +144 -0
  24. package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +132 -0
  25. package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +119 -0
  26. package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +162 -0
  27. package/_bmad-output/implementation-artifacts/deferred-work.md +9 -0
  28. package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +200 -0
  29. package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +172 -0
  30. package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +102 -0
  31. package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +119 -0
  32. package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +132 -0
  33. package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +111 -0
  34. package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +126 -0
  35. package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +137 -0
  36. package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +127 -0
  37. package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +129 -0
  38. package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +179 -0
  39. package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +138 -0
  40. package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +150 -0
  41. package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +128 -0
  42. package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +118 -0
  43. package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +132 -0
  44. package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +174 -0
  45. package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +183 -0
  46. package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +252 -0
  47. package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +232 -0
  48. package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +163 -0
  49. package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +133 -0
  50. package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +172 -0
  51. package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +342 -0
  52. package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +223 -0
  53. package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +180 -0
  54. package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +136 -0
  55. package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +137 -0
  56. package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +79 -0
  57. package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +110 -0
  58. package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +116 -0
  59. package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +109 -0
  60. package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +97 -0
  61. package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +125 -0
  62. package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +322 -0
  63. package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +264 -0
  64. package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +208 -0
  65. package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +209 -0
  66. package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +221 -0
  67. package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +273 -0
  68. package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +235 -0
  69. package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +285 -0
  70. package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +188 -0
  71. package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +211 -0
  72. package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +189 -0
  73. package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +184 -0
  74. package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +178 -0
  75. package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +136 -0
  76. package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +141 -0
  77. package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +145 -0
  78. package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +188 -0
  79. package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +219 -0
  80. package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +234 -0
  81. package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +274 -0
  82. package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +173 -0
  83. package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +131 -0
  84. package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +124 -0
  85. package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +187 -0
  86. package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +102 -0
  87. package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +126 -0
  88. package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +101 -0
  89. package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +73 -0
  90. package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +91 -0
  91. package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +113 -0
  92. package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +90 -0
  93. package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +53 -0
  94. package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +287 -0
  95. package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +49 -0
  96. package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +230 -0
  97. package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +37 -0
  98. package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +140 -0
  99. package/_bmad-output/implementation-artifacts/sprint-status.yaml +83 -0
  100. package/_bmad-output/methodology/BMAD_AI_Development_Training.pptx +0 -0
  101. package/_bmad-output/methodology/version.json +7 -0
  102. package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +508 -0
  103. package/_bmad-output/planning-artifacts/architecture.md +1619 -0
  104. package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +295 -0
  105. package/_bmad-output/planning-artifacts/epics.md +3287 -0
  106. package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +290 -0
  107. package/_bmad-output/planning-artifacts/prd.md +684 -0
  108. package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +214 -0
  109. package/_bmad-output/planning-artifacts/sprint-status-schema.md +506 -0
  110. package/_bmad-output/project-context.md +47 -0
  111. package/bin/cli.js +5 -4
  112. package/lib/agents.js +16 -1
  113. package/lib/bmad-extension/module-help.csv +27 -22
  114. package/lib/bmad-extension/skills/add-sprint/SKILL.md +120 -152
  115. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +170 -116
  116. package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-dev-story}/bmad-skill-manifest.yaml +1 -1
  117. package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/checklist.md +13 -13
  118. package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/workflow.md +103 -44
  119. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +2 -1
  120. package/lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md +6 -0
  121. package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/bmad-sprint-planning}/bmad-skill-manifest.yaml +1 -1
  122. package/lib/bmad-extension/skills/bmad-sprint-planning/checklist.md +74 -0
  123. package/lib/bmad-extension/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
  124. package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +372 -0
  125. package/lib/bmad-extension/skills/bmad-sprint-status/SKILL.md +6 -0
  126. package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/bmad-sprint-status}/bmad-skill-manifest.yaml +1 -1
  127. package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +434 -0
  128. package/lib/bmad-extension/skills/cleanup-done/SKILL.md +154 -98
  129. package/lib/bmad-extension/skills/close-sprint/SKILL.md +379 -0
  130. package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/close-sprint}/bmad-skill-manifest.yaml +1 -1
  131. package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
  132. package/lib/bmad-extension/skills/generate-backlog/SKILL.md +152 -140
  133. package/lib/bmad-extension/skills/mil498-requirement-quality/SKILL.md +105 -0
  134. package/lib/bmad-extension/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
  135. package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +4 -0
  136. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +224 -235
  137. package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +157 -135
  138. package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +125 -104
  139. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +153 -239
  140. package/lib/bmad-extension/workflows/add-sprint/workflow.md +119 -155
  141. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +233 -3
  142. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -181
  143. package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
  144. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +165 -3
  145. package/mil498/README.md +4 -0
  146. package/out.txt +0 -0
  147. package/package.json +1 -1
  148. package/skills/add-sprint/SKILL.md +165 -0
  149. package/skills/add-sprint/skill.json +7 -0
  150. package/skills/add-to-sprint/SKILL.md +231 -0
  151. package/skills/add-to-sprint/skill.json +7 -0
  152. package/skills/bmad-sprint-planning/SKILL.md +321 -0
  153. package/skills/bmad-sprint-planning/skill.json +7 -0
  154. package/skills/bmad-sprint-status/SKILL.md +273 -0
  155. package/skills/bmad-sprint-status/skill.json +7 -0
  156. package/skills/cleanup-done/SKILL.md +203 -0
  157. package/skills/cleanup-done/skill.json +7 -0
  158. package/skills/close-sprint/SKILL.md +370 -0
  159. package/skills/close-sprint/skill.json +7 -0
  160. package/skills/generate-backlog/SKILL.md +178 -0
  161. package/skills/generate-backlog/skill.json +7 -0
  162. package/skills/modify-sprint/SKILL.md +302 -0
  163. package/skills/modify-sprint/skill.json +7 -0
  164. package/skills/prioritize-backlog/SKILL.md +203 -0
  165. package/skills/prioritize-backlog/skill.json +7 -0
  166. package/skills/remove-from-sprint/SKILL.md +174 -0
  167. package/skills/remove-from-sprint/skill.json +7 -0
  168. package/skills/sprint-status-view/SKILL.md +173 -0
  169. package/skills/sprint-status-view/skill.json +7 -0
  170. package/skills/story-status-lookup/SKILL.md +21 -6
  171. package/skills/story-status-lookup/skill.json +2 -2
  172. package/test/extension-module-restructure.test.js +12 -11
  173. package/test/migration-validation.test.js +10 -10
  174. package/.opencode/skills/.ma-agents.json +0 -122
  175. package/.opencode/skills/MANIFEST.yaml +0 -126
  176. package/.opencode/skills/add-sprint/SKILL.md +0 -207
  177. package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
  178. package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +0 -137
  179. package/.opencode/skills/bmad-advanced-elicitation/methods.csv +0 -51
  180. package/.opencode/skills/bmad-agent-analyst/SKILL.md +0 -56
  181. package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
  182. package/.opencode/skills/bmad-agent-architect/SKILL.md +0 -52
  183. package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
  184. package/.opencode/skills/bmad-agent-dev/SKILL.md +0 -62
  185. package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
  186. package/.opencode/skills/bmad-agent-pm/SKILL.md +0 -57
  187. package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
  188. package/.opencode/skills/bmad-agent-qa/SKILL.md +0 -59
  189. package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +0 -11
  190. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +0 -51
  191. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +0 -11
  192. package/.opencode/skills/bmad-agent-sm/SKILL.md +0 -53
  193. package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +0 -11
  194. package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +0 -55
  195. package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
  196. package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +0 -20
  197. package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +0 -20
  198. package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +0 -19
  199. package/.opencode/skills/bmad-agent-tech-writer/write-document.md +0 -20
  200. package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +0 -53
  201. package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
  202. package/.opencode/skills/bmad-brainstorming/SKILL.md +0 -6
  203. package/.opencode/skills/bmad-brainstorming/brain-methods.csv +0 -62
  204. package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +0 -214
  205. package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +0 -124
  206. package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +0 -229
  207. package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -239
  208. package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +0 -211
  209. package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -266
  210. package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +0 -401
  211. package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +0 -305
  212. package/.opencode/skills/bmad-brainstorming/template.md +0 -15
  213. package/.opencode/skills/bmad-brainstorming/workflow.md +0 -53
  214. package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +0 -6
  215. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -179
  216. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -168
  217. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -169
  218. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -129
  219. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -241
  220. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -126
  221. package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -4
  222. package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +0 -49
  223. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +0 -6
  224. package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
  225. package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +0 -31
  226. package/.opencode/skills/bmad-cis-design-thinking/template.md +0 -111
  227. package/.opencode/skills/bmad-cis-design-thinking/workflow.md +0 -242
  228. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +0 -6
  229. package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
  230. package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -31
  231. package/.opencode/skills/bmad-cis-innovation-strategy/template.md +0 -189
  232. package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +0 -315
  233. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +0 -6
  234. package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
  235. package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +0 -31
  236. package/.opencode/skills/bmad-cis-problem-solving/template.md +0 -165
  237. package/.opencode/skills/bmad-cis-problem-solving/workflow.md +0 -291
  238. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +0 -6
  239. package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
  240. package/.opencode/skills/bmad-cis-storytelling/story-types.csv +0 -26
  241. package/.opencode/skills/bmad-cis-storytelling/template.md +0 -113
  242. package/.opencode/skills/bmad-cis-storytelling/workflow.md +0 -321
  243. package/.opencode/skills/bmad-code-review/SKILL.md +0 -6
  244. package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +0 -62
  245. package/.opencode/skills/bmad-code-review/steps/step-02-review.md +0 -34
  246. package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +0 -49
  247. package/.opencode/skills/bmad-code-review/steps/step-04-present.md +0 -129
  248. package/.opencode/skills/bmad-code-review/workflow.md +0 -55
  249. package/.opencode/skills/bmad-correct-course/SKILL.md +0 -6
  250. package/.opencode/skills/bmad-correct-course/checklist.md +0 -288
  251. package/.opencode/skills/bmad-correct-course/workflow.md +0 -267
  252. package/.opencode/skills/bmad-create-architecture/SKILL.md +0 -6
  253. package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +0 -12
  254. package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +0 -13
  255. package/.opencode/skills/bmad-create-architecture/data/project-types.csv +0 -7
  256. package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +0 -153
  257. package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +0 -173
  258. package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +0 -224
  259. package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +0 -329
  260. package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +0 -318
  261. package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +0 -359
  262. package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +0 -379
  263. package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +0 -359
  264. package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +0 -76
  265. package/.opencode/skills/bmad-create-architecture/workflow.md +0 -38
  266. package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +0 -6
  267. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -255
  268. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -212
  269. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -255
  270. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -131
  271. package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +0 -61
  272. package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +0 -53
  273. package/.opencode/skills/bmad-create-prd/SKILL.md +0 -6
  274. package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +0 -15
  275. package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +0 -197
  276. package/.opencode/skills/bmad-create-prd/data/project-types.csv +0 -11
  277. package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +0 -178
  278. package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
  279. package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +0 -208
  280. package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
  281. package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
  282. package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +0 -214
  283. package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
  284. package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +0 -194
  285. package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
  286. package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
  287. package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +0 -216
  288. package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +0 -219
  289. package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
  290. package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +0 -221
  291. package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +0 -115
  292. package/.opencode/skills/bmad-create-prd/templates/prd-template.md +0 -10
  293. package/.opencode/skills/bmad-create-prd/workflow.md +0 -62
  294. package/.opencode/skills/bmad-create-story/SKILL.md +0 -6
  295. package/.opencode/skills/bmad-create-story/checklist.md +0 -357
  296. package/.opencode/skills/bmad-create-story/discover-inputs.md +0 -88
  297. package/.opencode/skills/bmad-create-story/template.md +0 -49
  298. package/.opencode/skills/bmad-create-story/workflow.md +0 -380
  299. package/.opencode/skills/bmad-create-ux-design/SKILL.md +0 -6
  300. package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +0 -135
  301. package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +0 -127
  302. package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +0 -190
  303. package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +0 -217
  304. package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -220
  305. package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +0 -235
  306. package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +0 -253
  307. package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -255
  308. package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -225
  309. package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +0 -225
  310. package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -242
  311. package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -249
  312. package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -238
  313. package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -265
  314. package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +0 -171
  315. package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +0 -13
  316. package/.opencode/skills/bmad-create-ux-design/workflow.md +0 -36
  317. package/.opencode/skills/bmad-distillator/SKILL.md +0 -178
  318. package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +0 -116
  319. package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +0 -68
  320. package/.opencode/skills/bmad-distillator/resources/compression-rules.md +0 -51
  321. package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +0 -227
  322. package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +0 -78
  323. package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +0 -300
  324. package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -204
  325. package/.opencode/skills/bmad-document-project/SKILL.md +0 -6
  326. package/.opencode/skills/bmad-document-project/checklist.md +0 -245
  327. package/.opencode/skills/bmad-document-project/documentation-requirements.csv +0 -12
  328. package/.opencode/skills/bmad-document-project/instructions.md +0 -128
  329. package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +0 -345
  330. package/.opencode/skills/bmad-document-project/templates/index-template.md +0 -169
  331. package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +0 -103
  332. package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +0 -160
  333. package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +0 -135
  334. package/.opencode/skills/bmad-document-project/workflow.md +0 -27
  335. package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +0 -299
  336. package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +0 -34
  337. package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +0 -1107
  338. package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +0 -34
  339. package/.opencode/skills/bmad-domain-research/SKILL.md +0 -6
  340. package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +0 -137
  341. package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
  342. package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
  343. package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
  344. package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
  345. package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -444
  346. package/.opencode/skills/bmad-domain-research/research.template.md +0 -29
  347. package/.opencode/skills/bmad-domain-research/workflow.md +0 -49
  348. package/.opencode/skills/bmad-edit-prd/SKILL.md +0 -6
  349. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
  350. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
  351. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
  352. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
  353. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
  354. package/.opencode/skills/bmad-edit-prd/workflow.md +0 -63
  355. package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +0 -86
  356. package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +0 -179
  357. package/.opencode/skills/bmad-generate-project-context/SKILL.md +0 -6
  358. package/.opencode/skills/bmad-generate-project-context/project-context-template.md +0 -21
  359. package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +0 -186
  360. package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +0 -321
  361. package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +0 -278
  362. package/.opencode/skills/bmad-generate-project-context/workflow.md +0 -43
  363. package/.opencode/skills/bmad-help/SKILL.md +0 -73
  364. package/.opencode/skills/bmad-index-docs/SKILL.md +0 -66
  365. package/.opencode/skills/bmad-init/SKILL.md +0 -100
  366. package/.opencode/skills/bmad-init/resources/core-module.yaml +0 -25
  367. package/.opencode/skills/bmad-init/scripts/bmad_init.py +0 -593
  368. package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +0 -329
  369. package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +0 -49
  370. package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +0 -11
  371. package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +0 -49
  372. package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +0 -11
  373. package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +0 -53
  374. package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
  375. package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
  376. package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +0 -59
  377. package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
  378. package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
  379. package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +0 -49
  380. package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +0 -11
  381. package/.opencode/skills/bmad-market-research/SKILL.md +0 -6
  382. package/.opencode/skills/bmad-market-research/research.template.md +0 -29
  383. package/.opencode/skills/bmad-market-research/steps/step-01-init.md +0 -184
  384. package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
  385. package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
  386. package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
  387. package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
  388. package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +0 -478
  389. package/.opencode/skills/bmad-market-research/workflow.md +0 -49
  390. package/.opencode/skills/bmad-party-mode/SKILL.md +0 -6
  391. package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +0 -138
  392. package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -187
  393. package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +0 -167
  394. package/.opencode/skills/bmad-party-mode/workflow.md +0 -190
  395. package/.opencode/skills/bmad-product-brief/SKILL.md +0 -87
  396. package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +0 -60
  397. package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
  398. package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
  399. package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +0 -49
  400. package/.opencode/skills/bmad-product-brief/bmad-manifest.json +0 -17
  401. package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +0 -57
  402. package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +0 -86
  403. package/.opencode/skills/bmad-product-brief/prompts/finalize.md +0 -75
  404. package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +0 -70
  405. package/.opencode/skills/bmad-product-brief/resources/brief-template.md +0 -60
  406. package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +0 -6
  407. package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +0 -33
  408. package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +0 -136
  409. package/.opencode/skills/bmad-quick-dev/SKILL.md +0 -6
  410. package/.opencode/skills/bmad-quick-dev/spec-template.md +0 -88
  411. package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +0 -64
  412. package/.opencode/skills/bmad-quick-dev/step-02-plan.md +0 -35
  413. package/.opencode/skills/bmad-quick-dev/step-03-implement.md +0 -37
  414. package/.opencode/skills/bmad-quick-dev/step-04-review.md +0 -49
  415. package/.opencode/skills/bmad-quick-dev/step-05-present.md +0 -63
  416. package/.opencode/skills/bmad-quick-dev/step-oneshot.md +0 -49
  417. package/.opencode/skills/bmad-quick-dev/workflow.md +0 -79
  418. package/.opencode/skills/bmad-retrospective/SKILL.md +0 -6
  419. package/.opencode/skills/bmad-retrospective/workflow.md +0 -1479
  420. package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +0 -37
  421. package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +0 -67
  422. package/.opencode/skills/bmad-shard-doc/SKILL.md +0 -105
  423. package/.opencode/skills/bmad-sprint-planning/SKILL.md +0 -6
  424. package/.opencode/skills/bmad-sprint-planning/checklist.md +0 -33
  425. package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +0 -56
  426. package/.opencode/skills/bmad-sprint-planning/workflow.md +0 -263
  427. package/.opencode/skills/bmad-sprint-status/SKILL.md +0 -6
  428. package/.opencode/skills/bmad-sprint-status/workflow.md +0 -261
  429. package/.opencode/skills/bmad-technical-research/SKILL.md +0 -6
  430. package/.opencode/skills/bmad-technical-research/research.template.md +0 -29
  431. package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +0 -137
  432. package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
  433. package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
  434. package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
  435. package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
  436. package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -487
  437. package/.opencode/skills/bmad-technical-research/workflow.md +0 -50
  438. package/.opencode/skills/bmad-validate-prd/SKILL.md +0 -6
  439. package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +0 -15
  440. package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +0 -197
  441. package/.opencode/skills/bmad-validate-prd/data/project-types.csv +0 -11
  442. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
  443. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
  444. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
  445. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
  446. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
  447. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
  448. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
  449. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
  450. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
  451. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
  452. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
  453. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
  454. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
  455. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -229
  456. package/.opencode/skills/bmad-validate-prd/workflow.md +0 -62
  457. package/.opencode/skills/cleanup-done/.gitkeep +0 -0
  458. package/.opencode/skills/cleanup-done/SKILL.md +0 -159
  459. package/.opencode/skills/create-bug-story/.gitkeep +0 -0
  460. package/.opencode/skills/create-bug-story/SKILL.md +0 -263
  461. package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
  462. package/.opencode/skills/cyber-generate-certs/SKILL.md +0 -27
  463. package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +0 -3
  464. package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
  465. package/.opencode/skills/cyber-immunity-estimation/SKILL.md +0 -29
  466. package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +0 -3
  467. package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
  468. package/.opencode/skills/cyber-security-audit/SKILL.md +0 -27
  469. package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +0 -3
  470. package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
  471. package/.opencode/skills/cyber-vault-secrets/SKILL.md +0 -28
  472. package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +0 -3
  473. package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
  474. package/.opencode/skills/cyber-verify-docker-users/SKILL.md +0 -23
  475. package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +0 -3
  476. package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
  477. package/.opencode/skills/cyber-verify-image-signature/SKILL.md +0 -22
  478. package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +0 -3
  479. package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  480. package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +0 -28
  481. package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +0 -3
  482. package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
  483. package/.opencode/skills/devops-configure-infrastructure/SKILL.md +0 -27
  484. package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +0 -3
  485. package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
  486. package/.opencode/skills/devops-disconnected-deployment/SKILL.md +0 -27
  487. package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +0 -3
  488. package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
  489. package/.opencode/skills/devops-docker-compose-setup/SKILL.md +0 -26
  490. package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +0 -3
  491. package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
  492. package/.opencode/skills/devops-manage-helm/SKILL.md +0 -28
  493. package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +0 -3
  494. package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
  495. package/.opencode/skills/devops-sign-docker-image/SKILL.md +0 -24
  496. package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +0 -3
  497. package/.opencode/skills/generate-backlog/.gitkeep +0 -0
  498. package/.opencode/skills/generate-backlog/SKILL.md +0 -183
  499. package/.opencode/skills/generate-backlog/bmad-skill-manifest.yaml +0 -3
  500. package/.opencode/skills/git-workflow-skill/SKILL.md +0 -194
  501. package/.opencode/skills/git-workflow-skill/hooks/commit-msg +0 -61
  502. package/.opencode/skills/git-workflow-skill/hooks/pre-commit +0 -38
  503. package/.opencode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  504. package/.opencode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  505. package/.opencode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  506. package/.opencode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  507. package/.opencode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  508. package/.opencode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  509. package/.opencode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  510. package/.opencode/skills/js-ts-security-skill/SKILL.md +0 -64
  511. package/.opencode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  512. package/.opencode/skills/logging-best-practices/SKILL.md +0 -50
  513. package/.opencode/skills/logging-best-practices/examples/cpp.md +0 -36
  514. package/.opencode/skills/logging-best-practices/examples/csharp.md +0 -49
  515. package/.opencode/skills/logging-best-practices/examples/javascript.md +0 -77
  516. package/.opencode/skills/logging-best-practices/examples/python.md +0 -57
  517. package/.opencode/skills/logging-best-practices/references/logging-standards.md +0 -29
  518. package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
  519. package/.opencode/skills/mil498-ocd/SKILL.md +0 -30
  520. package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +0 -5
  521. package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +0 -26
  522. package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +0 -10
  523. package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +0 -90
  524. package/.opencode/skills/mil498-ocd/prompts/04-validate.md +0 -14
  525. package/.opencode/skills/mil498-ocd/prompts/05-review.md +0 -15
  526. package/.opencode/skills/mil498-ocd/prompts/06-save.md +0 -15
  527. package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
  528. package/.opencode/skills/mil498-sdd/SKILL.md +0 -30
  529. package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +0 -5
  530. package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +0 -50
  531. package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +0 -10
  532. package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +0 -98
  533. package/.opencode/skills/mil498-sdd/prompts/04-validate.md +0 -16
  534. package/.opencode/skills/mil498-sdd/prompts/05-review.md +0 -15
  535. package/.opencode/skills/mil498-sdd/prompts/06-save.md +0 -19
  536. package/.opencode/skills/mil498-sdd/template.md +0 -163
  537. package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
  538. package/.opencode/skills/mil498-sdp/SKILL.md +0 -30
  539. package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +0 -5
  540. package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +0 -32
  541. package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +0 -10
  542. package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +0 -187
  543. package/.opencode/skills/mil498-sdp/prompts/04-validate.md +0 -13
  544. package/.opencode/skills/mil498-sdp/prompts/05-review.md +0 -15
  545. package/.opencode/skills/mil498-sdp/prompts/06-save.md +0 -14
  546. package/.opencode/skills/mil498-srs/.gitkeep +0 -0
  547. package/.opencode/skills/mil498-srs/SKILL.md +0 -30
  548. package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +0 -5
  549. package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +0 -42
  550. package/.opencode/skills/mil498-srs/prompts/02-load-template.md +0 -10
  551. package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +0 -100
  552. package/.opencode/skills/mil498-srs/prompts/04-validate.md +0 -16
  553. package/.opencode/skills/mil498-srs/prompts/05-review.md +0 -15
  554. package/.opencode/skills/mil498-srs/prompts/06-save.md +0 -18
  555. package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
  556. package/.opencode/skills/mil498-ssdd/SKILL.md +0 -32
  557. package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +0 -5
  558. package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +0 -32
  559. package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +0 -10
  560. package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +0 -43
  561. package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +0 -96
  562. package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +0 -14
  563. package/.opencode/skills/mil498-ssdd/prompts/06-review.md +0 -16
  564. package/.opencode/skills/mil498-ssdd/prompts/07-save.md +0 -16
  565. package/.opencode/skills/mil498-sss/.gitkeep +0 -0
  566. package/.opencode/skills/mil498-sss/SKILL.md +0 -31
  567. package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +0 -5
  568. package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +0 -31
  569. package/.opencode/skills/mil498-sss/prompts/02-load-template.md +0 -10
  570. package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +0 -108
  571. package/.opencode/skills/mil498-sss/prompts/04-validate.md +0 -16
  572. package/.opencode/skills/mil498-sss/prompts/05-review.md +0 -15
  573. package/.opencode/skills/mil498-sss/prompts/06-save.md +0 -15
  574. package/.opencode/skills/mil498-std/.gitkeep +0 -0
  575. package/.opencode/skills/mil498-std/SKILL.md +0 -30
  576. package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +0 -5
  577. package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +0 -42
  578. package/.opencode/skills/mil498-std/prompts/02-load-template.md +0 -10
  579. package/.opencode/skills/mil498-std/prompts/03-generate-document.md +0 -117
  580. package/.opencode/skills/mil498-std/prompts/04-validate.md +0 -15
  581. package/.opencode/skills/mil498-std/prompts/05-review.md +0 -15
  582. package/.opencode/skills/mil498-std/prompts/06-save.md +0 -15
  583. package/.opencode/skills/ml-advise/.gitkeep +0 -0
  584. package/.opencode/skills/ml-advise/SKILL.md +0 -76
  585. package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
  586. package/.opencode/skills/ml-advise/skill.json +0 -7
  587. package/.opencode/skills/ml-analysis/.gitkeep +0 -0
  588. package/.opencode/skills/ml-analysis/SKILL.md +0 -60
  589. package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
  590. package/.opencode/skills/ml-analysis/skill.json +0 -7
  591. package/.opencode/skills/ml-architecture/.gitkeep +0 -0
  592. package/.opencode/skills/ml-architecture/SKILL.md +0 -55
  593. package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
  594. package/.opencode/skills/ml-architecture/skill.json +0 -7
  595. package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
  596. package/.opencode/skills/ml-detailed-design/SKILL.md +0 -67
  597. package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
  598. package/.opencode/skills/ml-detailed-design/skill.json +0 -7
  599. package/.opencode/skills/ml-eda/.gitkeep +0 -0
  600. package/.opencode/skills/ml-eda/SKILL.md +0 -56
  601. package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
  602. package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +0 -522
  603. package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
  604. package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +0 -383
  605. package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +0 -654
  606. package/.opencode/skills/ml-eda/skill.json +0 -7
  607. package/.opencode/skills/ml-experiment/.gitkeep +0 -0
  608. package/.opencode/skills/ml-experiment/SKILL.md +0 -74
  609. package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
  610. package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
  611. package/.opencode/skills/ml-experiment/assets/template_datamodule.py +0 -219
  612. package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +0 -341
  613. package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +0 -158
  614. package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
  615. package/.opencode/skills/ml-experiment/skill.json +0 -7
  616. package/.opencode/skills/ml-hparam/.gitkeep +0 -0
  617. package/.opencode/skills/ml-hparam/SKILL.md +0 -81
  618. package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
  619. package/.opencode/skills/ml-hparam/skill.json +0 -7
  620. package/.opencode/skills/ml-ideation/.gitkeep +0 -0
  621. package/.opencode/skills/ml-ideation/SKILL.md +0 -50
  622. package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
  623. package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
  624. package/.opencode/skills/ml-ideation/skill.json +0 -7
  625. package/.opencode/skills/ml-infra/.gitkeep +0 -0
  626. package/.opencode/skills/ml-infra/SKILL.md +0 -58
  627. package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
  628. package/.opencode/skills/ml-infra/skill.json +0 -7
  629. package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
  630. package/.opencode/skills/ml-retrospective/SKILL.md +0 -63
  631. package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
  632. package/.opencode/skills/ml-retrospective/skill.json +0 -7
  633. package/.opencode/skills/ml-revision/.gitkeep +0 -0
  634. package/.opencode/skills/ml-revision/SKILL.md +0 -82
  635. package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
  636. package/.opencode/skills/ml-revision/skill.json +0 -7
  637. package/.opencode/skills/ml-techspec/.gitkeep +0 -0
  638. package/.opencode/skills/ml-techspec/SKILL.md +0 -80
  639. package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
  640. package/.opencode/skills/ml-techspec/skill.json +0 -7
  641. package/.opencode/skills/modify-sprint/.gitkeep +0 -0
  642. package/.opencode/skills/modify-sprint/SKILL.md +0 -322
  643. package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +0 -3
  644. package/.opencode/skills/open-presentation/SKILL.md +0 -35
  645. package/.opencode/skills/opentelemetry-best-practices/SKILL.md +0 -34
  646. package/.opencode/skills/opentelemetry-best-practices/examples/go.md +0 -32
  647. package/.opencode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  648. package/.opencode/skills/opentelemetry-best-practices/examples/python.md +0 -37
  649. package/.opencode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  650. package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
  651. package/.opencode/skills/prioritize-backlog/SKILL.md +0 -195
  652. package/.opencode/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -3
  653. package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
  654. package/.opencode/skills/project-context-expansion/SKILL.md +0 -238
  655. package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +0 -3
  656. package/.opencode/skills/python-best-practices/SKILL.md +0 -385
  657. package/.opencode/skills/python-dependency-mgmt/SKILL.md +0 -42
  658. package/.opencode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  659. package/.opencode/skills/python-security-skill/SKILL.md +0 -56
  660. package/.opencode/skills/python-security-skill/examples/security.md +0 -56
  661. package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
  662. package/.opencode/skills/remove-from-sprint/SKILL.md +0 -163
  663. package/.opencode/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -3
  664. package/.opencode/skills/self-signed-cert/SKILL.md +0 -42
  665. package/.opencode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  666. package/.opencode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  667. package/.opencode/skills/skill-creator/SKILL.md +0 -196
  668. package/.opencode/skills/skill-creator/references/output-patterns.md +0 -82
  669. package/.opencode/skills/skill-creator/references/workflows.md +0 -28
  670. package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -208
  671. package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -99
  672. package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -113
  673. package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
  674. package/.opencode/skills/sprint-status-view/SKILL.md +0 -263
  675. package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +0 -3
  676. package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
  677. package/.opencode/skills/sre-check-deployment-status/SKILL.md +0 -32
  678. package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +0 -3
  679. package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
  680. package/.opencode/skills/sre-check-secrets/SKILL.md +0 -23
  681. package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +0 -3
  682. package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
  683. package/.opencode/skills/sre-check-system-status/SKILL.md +0 -27
  684. package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +0 -3
  685. package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
  686. package/.opencode/skills/sre-day-2-ops/SKILL.md +0 -26
  687. package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +0 -3
  688. package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
  689. package/.opencode/skills/sre-deployment-strategies/SKILL.md +0 -28
  690. package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +0 -3
  691. package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
  692. package/.opencode/skills/sre-fix-deployments/SKILL.md +0 -25
  693. package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +0 -3
  694. package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
  695. package/.opencode/skills/sre-gitops-status/SKILL.md +0 -25
  696. package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +0 -3
  697. package/.opencode/skills/story-status-lookup/SKILL.md +0 -78
  698. package/.opencode/skills/test-accompanied-development/SKILL.md +0 -50
  699. package/.opencode/skills/test-generator/SKILL.md +0 -65
  700. package/.opencode/skills/vercel-react-best-practices/SKILL.md +0 -109
  701. package/.opencode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  702. package/.opencode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  703. package/.roo/rules/00-ma-agents.md +0 -13
  704. package/.roo/skills/.ma-agents.json +0 -122
  705. package/.roo/skills/MANIFEST.yaml +0 -126
  706. package/.roo/skills/git-workflow-skill/SKILL.md +0 -194
  707. package/.roo/skills/git-workflow-skill/hooks/commit-msg +0 -61
  708. package/.roo/skills/git-workflow-skill/hooks/pre-commit +0 -38
  709. package/.roo/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  710. package/.roo/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  711. package/.roo/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  712. package/.roo/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  713. package/.roo/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  714. package/.roo/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  715. package/.roo/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  716. package/.roo/skills/js-ts-security-skill/SKILL.md +0 -64
  717. package/.roo/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  718. package/.roo/skills/logging-best-practices/SKILL.md +0 -50
  719. package/.roo/skills/logging-best-practices/examples/cpp.md +0 -36
  720. package/.roo/skills/logging-best-practices/examples/csharp.md +0 -49
  721. package/.roo/skills/logging-best-practices/examples/javascript.md +0 -77
  722. package/.roo/skills/logging-best-practices/examples/python.md +0 -57
  723. package/.roo/skills/logging-best-practices/references/logging-standards.md +0 -29
  724. package/.roo/skills/open-presentation/SKILL.md +0 -35
  725. package/.roo/skills/opentelemetry-best-practices/SKILL.md +0 -34
  726. package/.roo/skills/opentelemetry-best-practices/examples/go.md +0 -32
  727. package/.roo/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  728. package/.roo/skills/opentelemetry-best-practices/examples/python.md +0 -37
  729. package/.roo/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  730. package/.roo/skills/python-best-practices/SKILL.md +0 -385
  731. package/.roo/skills/python-dependency-mgmt/SKILL.md +0 -42
  732. package/.roo/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  733. package/.roo/skills/python-security-skill/SKILL.md +0 -56
  734. package/.roo/skills/python-security-skill/examples/security.md +0 -56
  735. package/.roo/skills/self-signed-cert/SKILL.md +0 -42
  736. package/.roo/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  737. package/.roo/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  738. package/.roo/skills/skill-creator/SKILL.md +0 -196
  739. package/.roo/skills/skill-creator/references/output-patterns.md +0 -82
  740. package/.roo/skills/skill-creator/references/workflows.md +0 -28
  741. package/.roo/skills/skill-creator/scripts/init_skill.py +0 -208
  742. package/.roo/skills/skill-creator/scripts/package_skill.py +0 -99
  743. package/.roo/skills/skill-creator/scripts/quick_validate.py +0 -113
  744. package/.roo/skills/story-status-lookup/SKILL.md +0 -78
  745. package/.roo/skills/test-accompanied-development/SKILL.md +0 -50
  746. package/.roo/skills/test-generator/SKILL.md +0 -65
  747. package/.roo/skills/vercel-react-best-practices/SKILL.md +0 -109
  748. package/.roo/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  749. package/.roo/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  750. package/opencode.json +0 -5
  751. /package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/bmad-dev-story}/.gitkeep +0 -0
  752. /package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/SKILL.md +0 -0
  753. /package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-sprint-planning}/.gitkeep +0 -0
  754. /package/{.opencode/skills/bmad-ma-agent-cyber → lib/bmad-extension/skills/bmad-sprint-status}/.gitkeep +0 -0
  755. /package/{.opencode/skills/bmad-ma-agent-devops → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
  756. /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
  757. /package/{.opencode/skills/mil498-ocd/template.md → mil498/OCD.md} +0 -0
  758. /package/{.opencode/skills/mil498-sdp/template.md → mil498/SDP.md} +0 -0
  759. /package/{.opencode/skills/mil498-srs/template.md → mil498/SRS.md} +0 -0
  760. /package/{.opencode/skills/mil498-ssdd/template.md → mil498/SSDD.md} +0 -0
  761. /package/{.opencode/skills/mil498-sss/template.md → mil498/SSS.md} +0 -0
  762. /package/{.opencode/skills/mil498-std/template.md → mil498/STD.md} +0 -0
@@ -0,0 +1,477 @@
1
+ # Story 17.17: Rework modify-sprint Skill (Moderate Rework -- Section-Based)
2
+
3
+ Status: review
4
+
5
+ ## Story
6
+
7
+ As a **Scrum Master**,
8
+ I want the `modify-sprint` skill to update sprint metadata within the `sprints` section of `sprint-status.yaml`,
9
+ So that sprint adjustments (capacity, dates, name, status) are made in the unified file rather than in standalone sprint plan files, and the skill is available across all IDE agents and BMAD workflows.
10
+
11
+ ## Acceptance Criteria
12
+
13
+ 1. **Given** the Scrum Master invokes `modify-sprint` from ANY IDE agent (Claude Code, Cursor, Cline, Roo Code, Gemini, Copilot, Kilocode, etc.) OR from a BMAD workflow,
14
+ **When** the `sprints` section of `sprint-status.yaml` contains at least one sprint entry,
15
+ **Then** the skill displays all sprints with their current metadata (name, status, capacity, item count, start, end),
16
+ **And** the Scrum Master selects a sprint to modify.
17
+
18
+ 2. **Given** the Scrum Master selects a sprint to modify,
19
+ **When** the sprint's current state is displayed,
20
+ **Then** the skill presents a modification menu for the following fields: `name`, `capacity`, `start`, `end`, `status`,
21
+ **And** the Scrum Master may modify any combination of these fields in a single session,
22
+ **And** the sprint's `items` array is NOT modifiable through this skill (use `add-to-sprint` / `remove-from-sprint` instead),
23
+ **And** the sprint ID (map key) is NOT modifiable (immutable once created).
24
+
25
+ 3. **Given** the Scrum Master changes a sprint's `status` to `active`,
26
+ **When** another sprint already has `status: active` in the `sprints` section,
27
+ **Then** the skill warns: "Sprint '{other_sprint_name}' is already active. Only one sprint can be active at a time (schema constraint 6.4). Close it first or cancel this change.",
28
+ **And** offers options: [c] Cancel status change, [x] Close the other sprint first (direct to `/close-sprint`),
29
+ **And** does NOT apply the status change until the constraint is satisfied.
30
+
31
+ 4. **Given** the Scrum Master changes a sprint's `status`,
32
+ **When** the transition is validated,
33
+ **Then** only forward transitions on the main track are permitted: `planning` -> `active` -> `closed` (schema section 4.6),
34
+ **And** backward transitions (e.g., `active` -> `planning`, `closed` -> `active`) are rejected with: "Invalid status transition: {current} -> {requested}. Sprint status transitions are forward-only: planning -> active -> closed.",
35
+ **And** skipping states (e.g., `planning` -> `closed`) is rejected with the same message.
36
+
37
+ 5. **Given** the Scrum Master changes a sprint's `capacity` to a value below the current item count,
38
+ **When** the modification is attempted,
39
+ **Then** the skill warns: "Sprint has {N} items but new capacity would be {M} ({M} < {N}). Capacity is advisory -- items will not be removed.",
40
+ **And** offers options: [a] Apply anyway (capacity is advisory per schema section 4.2), [s] Skip -- keep current capacity, [r] Remove items first (direct to `/remove-from-sprint`),
41
+ **And** allows the under-capacity state if the user confirms (capacity is advisory, not enforced).
42
+
43
+ 6. **Given** the Scrum Master changes a sprint's `start` or `end` date,
44
+ **When** the new value is provided,
45
+ **Then** the skill validates ISO date format (`YYYY-MM-DD`) or accepts an empty string to clear the date,
46
+ **And** if `end` is before `start`, the skill warns but allows (the user may have reasons),
47
+ **And** the date is stored as provided.
48
+
49
+ 7. **Given** `sprint-status.yaml` does not exist,
50
+ **When** `modify-sprint` is invoked,
51
+ **Then** the skill reports: "No sprint-status.yaml found. Run sprint planning first to initialize the file.",
52
+ **And** exits without any file operations.
53
+
54
+ 8. **Given** no sprints exist in the `sprints` section (empty map `{}`),
55
+ **When** `modify-sprint` is invoked,
56
+ **Then** the skill reports: "No sprints found. Run `/add-sprint` first to create a sprint.",
57
+ **And** exits without any file operations.
58
+
59
+ 9. **Given** the sprint has `status: closed`,
60
+ **When** the Scrum Master attempts to modify it,
61
+ **Then** the skill warns: "Sprint '{sprint_name}' is closed. Closed sprints are immutable (schema constraint 6.7). Only archival operations are permitted.",
62
+ **And** rejects all modifications to the closed sprint.
63
+
64
+ 10. **Given** all modifications are confirmed,
65
+ **When** the changes are persisted,
66
+ **Then** the sprint entry is updated in-place within the `sprints` map of `sprint-status.yaml`,
67
+ **And** the `last_updated` metadata field is set to the current ISO-8601 timestamp,
68
+ **And** all other content in `sprint-status.yaml` is preserved unchanged (epics, backlog, other sprints),
69
+ **And** all changes are persisted in a SINGLE atomic write to `sprint-status.yaml`.
70
+
71
+ 11. **Given** the skill source files exist in BOTH deployment pipelines (IDE skill at `skills/modify-sprint/` and BMAD extension at `lib/bmad-extension/skills/modify-sprint/`),
72
+ **When** the ma-agents installer is run,
73
+ **Then** the IDE skill is deployed to all agent directories via `lib/installer.js` (`performInstall`),
74
+ **And** the BMAD extension skill is deployed via `lib/bmad.js` to `_bmad/extensions/ma-agents-skills/`,
75
+ **And** the installed copies are byte-identical to their source (minus frontmatter injection by the installer for the IDE path).
76
+
77
+ 12. **Given** the skill is invoked from ANY IDE agent OR from a BMAD workflow,
78
+ **When** it executes,
79
+ **Then** it works identically in both invocation modes (NFR19).
80
+
81
+ ## Tasks / Subtasks
82
+
83
+ ### Task 1: Create the IDE skill source files (AC: 1, 11, 12) -- NEW
84
+
85
+ The IDE skill does NOT exist. This task creates it from scratch so all 8+ IDE coding agents can invoke `modify-sprint` directly.
86
+
87
+ - [x] 1.1 Create `skills/modify-sprint/skill.json` with metadata:
88
+ ```json
89
+ {
90
+ "name": "modify-sprint",
91
+ "version": "1.0.0",
92
+ "description": "Guided workflow to modify an existing sprint's metadata (name, capacity, dates, status) within the sprints section of sprint-status.yaml",
93
+ "category": "workflow",
94
+ "tags": ["sprint-management", "modify-sprint", "capacity", "metadata"]
95
+ }
96
+ ```
97
+ Note: `always_load` is intentionally omitted (defaults to false) -- this skill is invoked on demand, not loaded for every task.
98
+
99
+ - [x] 1.2 Create `skills/modify-sprint/SKILL.md` with the complete skill workflow (see Task 3 for content specification). This is the canonical skill content that the installer deploys to all IDE agents.
100
+
101
+ ### Task 2: Modify the BMAD extension skill (AC: 1, 11, 12) -- EXISTS, MODIFY
102
+
103
+ The BMAD extension skill ALREADY EXISTS at `lib/bmad-extension/skills/modify-sprint/SKILL.md`. This task modifies it in place. The `bmad-skill-manifest.yaml` does NOT need changes.
104
+
105
+ - [x] 2.1 Rewrite `lib/bmad-extension/skills/modify-sprint/SKILL.md` -- replace the entire pre-Epic-17 workflow (which reads/writes standalone `sprint-plan-N.yaml` files using `sprint_number`, `sprint_name`, `capacity`, `assigned_items`, `status`, `start_context`, `end_context`, `created_date`, `last_modified` fields, and includes add/remove item capabilities) with the new unified schema workflow (see Task 3 for content specification). The BMAD extension version is authored for the BMAD Scrum Master agent (`bmm-sm`) context and may include BMAD-specific phrasing (e.g., referencing `_bmad/bmm/config.yaml` for path resolution). The core workflow logic MUST be functionally identical to the IDE version.
106
+
107
+ - [x] 2.2 Verify `lib/bmad-extension/skills/modify-sprint/bmad-skill-manifest.yaml` is unchanged:
108
+ ```yaml
109
+ type: skill
110
+ name: modify-sprint
111
+ module: ma-skills
112
+ ```
113
+
114
+ - [x] 2.3 Update the description in `lib/bmad-extension/module-help.csv` for the `modify-sprint` row. The current description ("Modify existing sprint -- add/remove items, change capacity, update metadata.") should be updated to reflect the new scope (metadata-only, no item management):
115
+ ```
116
+ "Modify an existing sprint's metadata (name, capacity, dates, status) within the sprints section of sprint-status.yaml."
117
+ ```
118
+
119
+ ### Task 3: Implement the skill workflow content (AC: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
120
+
121
+ The SKILL.md content (for both the IDE and BMAD extension versions) must implement the following workflow. Both versions MUST be functionally identical in their workflow logic.
122
+
123
+ - [x] 3.1 **Step 0 -- Load configuration and validate file existence:**
124
+ - Read `sprint-status.yaml` at `_bmad-output/implementation-artifacts/sprint-status.yaml` (or resolve path from config).
125
+ - If the file does not exist, report error: "No sprint-status.yaml found. Run sprint planning first to initialize the file." Exit (AC 7).
126
+ - Parse the full file: `epics`, `backlog`, and `sprints` sections.
127
+
128
+ - [x] 3.2 **Step 1 -- Identify available sprints:**
129
+ - Parse the `sprints` section. If the map is empty (`{}`), report: "No sprints found. Run `/add-sprint` first to create a sprint." Exit (AC 8).
130
+ - Display all sprints in a table with columns: #, Sprint ID, Name, Status, Capacity, Items (count/capacity), Start, End.
131
+ - Indicate which sprints are modifiable: `planning` and `active` sprints are modifiable, `closed` sprints are marked as "(closed -- immutable)".
132
+ - Prompt: "Select sprint to modify (enter number):"
133
+ - If the selected sprint has `status: closed`, warn per AC 9 and re-prompt or exit.
134
+ - Store the selected sprint as `{{target_sprint}}`.
135
+
136
+ - [x] 3.3 **Step 2 -- Display current sprint state:**
137
+ - Display full current state of the selected sprint:
138
+ ```
139
+ ## Sprint: {{target_sprint.name}} ({{sprint_id}})
140
+
141
+ - Status: {{target_sprint.status}}
142
+ - Capacity: {{target_sprint.capacity}} items ({{item_count}} assigned, {{remaining}} remaining)
143
+ - Start: {{target_sprint.start}} (or "not set" if empty)
144
+ - End: {{target_sprint.end}} (or "not set" if empty)
145
+ - Items: {{item_count}} assigned (use /add-to-sprint or /remove-from-sprint to manage items)
146
+ ```
147
+ - Display the items list (read-only summary) with: ID, Title, Type, Status. This helps the Scrum Master understand the sprint context but items are NOT modifiable here.
148
+
149
+ - [x] 3.4 **Step 3 -- Present modification menu:**
150
+ - Display:
151
+ ```
152
+ What would you like to modify?
153
+
154
+ 1. Sprint name (current: "{{target_sprint.name}}")
155
+ 2. Capacity (current: {{target_sprint.capacity}})
156
+ 3. Start date (current: {{target_sprint.start || "not set"}})
157
+ 4. End date (current: {{target_sprint.end || "not set"}})
158
+ 5. Status (current: {{target_sprint.status}})
159
+ 6. Done -- save all changes and exit
160
+
161
+ Choice:
162
+ ```
163
+ - On choice 6 or "done", proceed to Step 4 (Confirmation).
164
+
165
+ - [x] 3.5 **Step 3a -- Modify sprint name (if choice == 1):**
166
+ - Prompt: "New sprint name (current: '{{target_sprint.name}}'):"
167
+ - Validate input is a non-empty string.
168
+ - Store the new name in the working state.
169
+ - Display: "Sprint name updated: '{{old_name}}' -> '{{new_name}}'."
170
+ - Return to Step 3.
171
+
172
+ - [x] 3.6 **Step 3b -- Modify capacity (if choice == 2) (AC: 5):**
173
+ - Prompt: "New capacity (positive integer, current: {{target_sprint.capacity}}):"
174
+ - Validate input is a positive integer (> 0, no decimals, no non-numeric characters).
175
+ - If invalid, display error and re-prompt.
176
+ - Calculate `{{item_count}}` = length of the sprint's `items` array.
177
+ - If `{{new_capacity}} < {{item_count}}`:
178
+ - Warn: "Sprint has {{item_count}} items but new capacity would be {{new_capacity}} ({{new_capacity}} < {{item_count}}). Capacity is advisory -- items will not be removed."
179
+ - Offer options: [a] Apply anyway, [s] Skip -- keep current capacity, [r] Remove items first (direct to `/remove-from-sprint`).
180
+ - On 's', return to Step 3 without change.
181
+ - On 'r', display: "Run `/remove-from-sprint` to remove items, then re-run `/modify-sprint`." Exit.
182
+ - On 'a', proceed with the change.
183
+ - Store the new capacity in the working state.
184
+ - Display: "Capacity updated: {{old_capacity}} -> {{new_capacity}} ({{remaining}} slots remaining with {{item_count}} assigned items)."
185
+ - Return to Step 3.
186
+
187
+ - [x] 3.7 **Step 3c -- Modify start date (if choice == 3) (AC: 6):**
188
+ - Prompt: "New start date (ISO format YYYY-MM-DD, or press Enter to clear):"
189
+ - If empty input, set `start` to `""` (empty string -- clears the date).
190
+ - If provided, validate ISO date format (`YYYY-MM-DD`). If invalid, show error and re-prompt.
191
+ - Store the new start date in the working state.
192
+ - Display: "Start date updated: '{{old_start}}' -> '{{new_start}}'."
193
+ - Return to Step 3.
194
+
195
+ - [x] 3.8 **Step 3d -- Modify end date (if choice == 4) (AC: 6):**
196
+ - Prompt: "New end date (ISO format YYYY-MM-DD, or press Enter to clear):"
197
+ - If empty input, set `end` to `""` (empty string -- clears the date).
198
+ - If provided, validate ISO date format (`YYYY-MM-DD`). If invalid, show error and re-prompt.
199
+ - If `end` is before `start` (when both are non-empty), warn: "End date ({{end}}) is before start date ({{start}}). This may be intentional."
200
+ - Store the new end date in the working state.
201
+ - Display: "End date updated: '{{old_end}}' -> '{{new_end}}'."
202
+ - Return to Step 3.
203
+
204
+ - [x] 3.9 **Step 3e -- Modify status (if choice == 5) (AC: 3, 4, 9):**
205
+ - Display current status and valid transitions:
206
+ - If `planning`: "Valid transitions: planning -> active"
207
+ - If `active`: "Valid transitions: active -> closed"
208
+ - If `closed`: "No transitions available. Closed sprints are immutable."
209
+ - Prompt: "New status:"
210
+ - Validate the transition per schema section 4.6:
211
+ - `planning` -> `active`: allowed (proceed to single-active-sprint check).
212
+ - `active` -> `closed`: allowed. Note: full close lifecycle is handled by `/close-sprint` (Story 17.21). This status change only updates the status field without the item disposition workflow. Warn: "To properly close a sprint with item disposition (archiving done items, returning incomplete items to backlog), use `/close-sprint` instead. This will only update the status field. Continue? [y/n]"
213
+ - Any backward transition or skip: reject with "Invalid status transition: {{current}} -> {{requested}}. Sprint status transitions are forward-only: planning -> active -> closed."
214
+ - If `closed`, reject all changes (AC 9).
215
+ - **Single-active-sprint check (AC 3):** If transitioning to `active`, scan all other sprints in the `sprints` map for `status: active`. If found:
216
+ - Warn: "Sprint '{{other_sprint_name}}' ({{other_sprint_id}}) is already active. Only one sprint can be active at a time (schema constraint 6.4). Close it first or cancel this change."
217
+ - Offer: [c] Cancel status change, [x] Exit to run `/close-sprint` on the other sprint first.
218
+ - On 'c', return to Step 3 without change.
219
+ - On 'x', display: "Run `/close-sprint` on {{other_sprint_id}} first, then re-run `/modify-sprint`." Exit.
220
+ - Store the new status in the working state.
221
+ - Display: "Status updated: {{old_status}} -> {{new_status}}."
222
+ - Return to Step 3.
223
+
224
+ - [x] 3.10 **Step 4 -- Confirmation:**
225
+ - If no changes were made, display: "No modifications made." Exit.
226
+ - Display a summary of all changes:
227
+ ```
228
+ ## Modification Summary -- Please Confirm
229
+
230
+ Sprint: {{sprint_id}} ("{{original_name}}")
231
+
232
+ Changes:
233
+ {{#each change}}
234
+ - {{field}}: {{old_value}} -> {{new_value}}
235
+ {{/each}}
236
+
237
+ All other sprint data (items, other sprints, epics, backlog) will be preserved unchanged.
238
+ ```
239
+ - Prompt: "Confirm changes? [y] Yes / [n] Cancel / [e] Edit more"
240
+ - On 'n': display "Changes discarded." Exit.
241
+ - On 'e': return to Step 3.
242
+ - On 'y': proceed to Step 5.
243
+
244
+ - [x] 3.11 **Step 5 -- Persist changes to sprint-status.yaml (AC: 10):**
245
+ - Re-read `sprint-status.yaml` (re-read to get latest state before writing).
246
+ - Apply all confirmed changes to the target sprint entry in the `sprints` map:
247
+ - Update `name` if changed.
248
+ - Update `capacity` if changed.
249
+ - Update `start` if changed.
250
+ - Update `end` if changed.
251
+ - Update `status` if changed.
252
+ - Preserve the sprint's `items` array unchanged.
253
+ - Preserve all other sprint entries unchanged.
254
+ - Preserve the `epics` section unchanged.
255
+ - Preserve the `backlog` section unchanged.
256
+ - Update `last_updated` to the current ISO-8601 timestamp.
257
+ - Preserve `generated` (never change).
258
+ - Write the complete file in a single atomic write (read-modify-write pattern).
259
+
260
+ - [x] 3.12 **Step 6 -- Summary output:**
261
+ - Display modification confirmation:
262
+ ```
263
+ Sprint modified successfully!
264
+
265
+ Sprint: {{sprint_name}} ({{sprint_id}})
266
+ {{#each change}}
267
+ - {{field}}: {{new_value}}
268
+ {{/each}}
269
+
270
+ Next Steps:
271
+ - Use /add-to-sprint to assign backlog items to this sprint
272
+ - Use /remove-from-sprint to remove items from this sprint
273
+ - Use /sprint-status-view to view sprint progress
274
+ - Use /close-sprint to close this sprint when complete
275
+ ```
276
+
277
+ ### Task 4: Update the BMAD extension workflow file (AC: 12)
278
+
279
+ - [x] 4.1 Rewrite `lib/bmad-extension/workflows/modify-sprint/workflow.md` to match the new unified schema workflow. Replace all references to:
280
+ - Standalone `sprint-plan-N.yaml` file reads/writes
281
+ - `sprint_number`, `sprint_name` (old field names -- now `name`)
282
+ - `assigned_items` (old field -- now `items`, and NOT modifiable by this skill)
283
+ - `start_context` / `end_context` (old free-text fields -- now `start` / `end` ISO dates)
284
+ - `created_date` / `last_modified` (old per-sprint timestamps -- removed; only file-level `last_updated`)
285
+ - Add/remove item capabilities (steps 3a and 3b in the old workflow -- these are now separate skills)
286
+ - The concurrency guard based on `last_modified` per-sprint timestamps (the unified schema has only file-level `last_updated`)
287
+ - The instruction "Do NOT modify sprint-status.yaml" (REVERSED -- `sprint-status.yaml` is now the PRIMARY and ONLY write target)
288
+ The workflow must align with the SKILL.md content from Task 3.
289
+
290
+ ### Task 5: Verify the old standalone-file and item-management patterns are NOT present (AC: 2, 10)
291
+
292
+ - [x] 5.1 Confirm neither SKILL.md file contains any instruction to read or write standalone `sprint-plan-N.yaml` files.
293
+ - [x] 5.2 Confirm neither SKILL.md file contains any instruction to create a `sprints/` directory.
294
+ - [x] 5.3 Confirm neither SKILL.md file references `start_context` / `end_context` (old schema fields -- replaced by `start` / `end` ISO dates).
295
+ - [x] 5.4 Confirm neither SKILL.md file references `created_date` or `last_modified` as per-sprint fields (removed in unified schema -- only file-level `last_updated` exists).
296
+ - [x] 5.5 Confirm neither SKILL.md file references `assigned_items` (old field name -- replaced by `items`, which is read-only from this skill).
297
+ - [x] 5.6 Confirm neither SKILL.md file contains add-item or remove-item functionality (these are handled by `add-to-sprint` and `remove-from-sprint` respectively).
298
+ - [x] 5.7 Confirm the only data file read/written is `sprint-status.yaml`.
299
+
300
+ ### Task 6: Deployment verification (AC: 11)
301
+
302
+ - [x] 6.1 Run `npx ma-agents` (or `node lib/cli.js`) to trigger the installer.
303
+ - [x] 6.2 Verify the IDE skill appears in the installed MANIFEST.yaml for at least one agent (e.g., check `.claude/skills/MANIFEST.yaml` includes `modify-sprint`).
304
+ - [x] 6.3 Diff the installed IDE copy (e.g., `.claude/skills/modify-sprint/SKILL.md`) against the source (`skills/modify-sprint/SKILL.md`) -- the content should match after accounting for frontmatter injection by the installer.
305
+ - [x] 6.4 Verify the BMAD extension copy exists at `_bmad/extensions/ma-agents-skills/skills/modify-sprint/SKILL.md` after a BMAD install.
306
+ - [x] 6.5 Verify the BMAD extension copy matches the source at `lib/bmad-extension/skills/modify-sprint/SKILL.md`.
307
+ - [x] 6.6 Verify `modify-sprint` appears in the BMAD module help output.
308
+
309
+ ## Dev Notes
310
+
311
+ ### CRITICAL: Two Deployment Pipelines (Read This First)
312
+
313
+ The ma-agents project is a **multi-agent skill installer** that deploys skills to 8+ IDE coding agents. There are TWO independent deployment pipelines, and this story creates source files in one and modifies existing source files in the other.
314
+
315
+ **Why this matters:** The previous version of this story directed edits to `.claude/skills/modify-sprint/SKILL.md`, which is an INSTALLED COPY (a read-only deployed artifact). That path is where the installer OUTPUTS files, not where source files live.
316
+
317
+ #### Pipeline 1: IDE Skills (all IDE agents) -- NEW for modify-sprint
318
+
319
+ - **Source location:** `skills/modify-sprint/skill.json` + `skills/modify-sprint/SKILL.md`
320
+ - **Status:** Does NOT exist yet. Task 1 creates these files from scratch.
321
+ - **Deployed by:** `lib/installer.js` -> `performInstall()` which:
322
+ 1. Reads `skill.json` for metadata
323
+ 2. Falls back through: `templates/<agent>.md` -> `templates/generic.md` -> `SKILL.md`
324
+ 3. Strips existing frontmatter, injects fresh frontmatter from `skill.json`
325
+ 4. Copies to each agent's install directory (e.g., `.claude/skills/`, `.cursor/skills/`, etc.)
326
+ - **Never hardcode agent paths.** The installer handles deployment to all agents automatically.
327
+ - **Reference skill:** See `skills/story-status-lookup/` for a working example of `skill.json` + `SKILL.md`.
328
+
329
+ #### Pipeline 2: BMAD Extension Skills (BMAD agents only) -- EXISTS, MODIFY
330
+
331
+ - **Source location:** `lib/bmad-extension/skills/modify-sprint/SKILL.md` + `bmad-skill-manifest.yaml`
332
+ - **Status:** ALREADY EXISTS with the pre-Epic-17 workflow (reads/writes standalone `sprint-plan-N.yaml` files, includes add/remove item capabilities). Task 2 rewrites the SKILL.md in place.
333
+ - **Deployed by:** `lib/bmad.js` which copies `lib/bmad-extension/` to `_bmad/extensions/ma-agents-skills/`
334
+ - **Registered in:** `lib/bmad-extension/module-help.csv` (row: `bmm-sm` agent) -- already registered, description update needed.
335
+ - **Workflow file:** `lib/bmad-extension/workflows/modify-sprint/workflow.md` -- also exists and needs updating (Task 4).
336
+
337
+ #### Install Locations (NEVER edit these directly)
338
+
339
+ - `.claude/skills/`, `.cursor/skills/`, `.cline/skills/`, `.roo/skills/`, `.gemini/skills/`, `.github/copilot/skills/`, `.kilocode/skills/` -- all managed by installer
340
+ - `_bmad/extensions/ma-agents-skills/skills/` -- managed by BMAD deployer
341
+
342
+ ### What This Story Changes vs Current Behavior
343
+
344
+ **Current behavior (pre-Epic-17, restored after rollback):** The `modify-sprint` skill is a monolithic tool that reads standalone `sprint-plan-N.yaml` files and provides a menu with five options: (1) add item, (2) remove item, (3) change capacity, (4) update metadata (name, start/end context, status), and (5) done/save. It discovers items from `sprint-status.yaml`'s `development_status` map and `bug-*.md` files. It writes to standalone `sprint-plan-N.yaml` files and explicitly states "Do NOT modify sprint-status.yaml." It uses per-sprint `created_date`/`last_modified` timestamps for concurrency guards.
345
+
346
+ **New behavior (unified schema):** The skill is focused exclusively on sprint **metadata** modification -- name, capacity, dates, and status. Add/remove item capabilities are delegated to `add-to-sprint` (Story 17.11) and `remove-from-sprint` (Story 17.12) which handle movement semantics properly. The skill reads and writes the `sprints` section of `sprint-status.yaml` directly. No standalone files are involved. Status transitions are validated against schema constraints (forward-only, single-active-sprint). The skill exists in BOTH pipelines -- a new IDE skill and a modified BMAD extension.
347
+
348
+ ### Key Differences from Old Implementation
349
+
350
+ | Aspect | Old (pre-Epic-17) | New (unified schema) |
351
+ |--------|-------------------|---------------------|
352
+ | Data source | Standalone `sprint-plan-N.yaml` files | `sprints` section of `sprint-status.yaml` |
353
+ | Write target | Standalone `sprint-plan-N.yaml` | `sprint-status.yaml` (single atomic write) |
354
+ | Scope | Full CRUD: add/remove items, change capacity, update metadata | Metadata only: name, capacity, dates, status |
355
+ | Item management | Built-in add/remove item steps (3a, 3b) | Delegated to `add-to-sprint` / `remove-from-sprint` |
356
+ | Date fields | `start_context` / `end_context` (free text) | `start` / `end` (ISO date `YYYY-MM-DD` or empty string) |
357
+ | Per-sprint timestamps | `created_date`, `last_modified` | None (only file-level `last_updated`) |
358
+ | Items field | `assigned_items: []` | `items: []` (read-only from this skill) |
359
+ | Sprint name field | `sprint_name` | `name` |
360
+ | Sprint number field | `sprint_number` | Sprint ID is the map key (`sprint-N`) |
361
+ | Status values | `planning`, `active`, `completed` | `planning`, `active`, `closed` |
362
+ | Status validation | Accepts any of: planning, active, completed | Validates forward-only transitions: planning -> active -> closed |
363
+ | Active sprint constraint | None | Single-active-sprint check per schema 6.4 |
364
+ | Capacity reduction | No warning | Warns when new capacity < item count (advisory) |
365
+ | Closed sprint protection | None | Rejects all modifications to closed sprints (schema 6.7) |
366
+ | sprint-status.yaml | "Do NOT modify sprint-status.yaml" | Primary and ONLY write target |
367
+ | Concurrency guard | Per-sprint `last_modified` comparison | Removed (file-level `last_updated` only) |
368
+ | IDE availability | BMAD extension only | BOTH IDE skill + BMAD extension |
369
+
370
+ ### Key Design Decisions
371
+
372
+ - **Metadata-only scope:** The old `modify-sprint` was a monolithic tool that included add/remove item capabilities. The unified schema introduces movement semantics (items physically move between `backlog` and `sprints[].items`), which are complex enough to warrant dedicated skills. `modify-sprint` is now focused exclusively on sprint metadata: name, capacity, dates, and status. This separation of concerns prevents the modify skill from needing to implement movement semantics.
373
+ - **Status transition validation:** The schema (section 4.6) defines forward-only transitions: `planning -> active -> closed`. The old implementation accepted any status including `completed` (now renamed to `closed`). The new implementation enforces forward-only transitions.
374
+ - **Single-active-sprint enforcement:** Schema constraint 6.4 requires at most one `active` sprint. The skill must check for this before allowing a `planning -> active` transition.
375
+ - **Capacity is advisory:** Schema section 4.2 says capacity is advisory. Unlike the epics definition which says "does NOT apply the capacity change until items are removed," the schema makes capacity advisory -- the skill warns but allows under-capacity states if the user confirms. The schema is authoritative.
376
+ - **Closed sprint immutability:** Schema section 6.7 makes closed sprints immutable. The skill rejects all modifications to closed sprints.
377
+ - **Status change to `closed` vs `/close-sprint`:** Changing status to `closed` via `modify-sprint` is a simple field update. The full close lifecycle (item disposition, archival, etc.) is handled by `/close-sprint` (Story 17.21). The skill warns about this distinction.
378
+ - **No concurrency guard:** The old implementation had a per-sprint `last_modified` timestamp for concurrency detection. The unified schema has only file-level `last_updated`. Since the re-read-before-write pattern is standard across all skills, there is no per-sprint concurrency guard.
379
+ - **Atomic write:** Single read-modify-write to `sprint-status.yaml`. All existing content (epics, backlog, other sprints) is preserved unchanged.
380
+
381
+ ### Unified Schema Sections Touched
382
+
383
+ - **`sprints`** -- read (list sprints, display state) + write (update target sprint's metadata fields in-place)
384
+ - **`epics`** -- preserved unchanged (pass-through on write)
385
+ - **`backlog`** -- preserved unchanged (pass-through on write)
386
+ - **Metadata** -- `last_updated` is updated on every write
387
+
388
+ ### Gotchas from Current Implementation
389
+
390
+ 1. **The current SKILL.md includes add/remove item capabilities.** The new implementation MUST NOT include these -- they are handled by `add-to-sprint` and `remove-from-sprint`. The old menu options 1 (add item) and 2 (remove item) are removed entirely.
391
+ 2. **The current SKILL.md reads standalone `sprint-plan-N.yaml` files.** The new implementation reads the `sprints` section of `sprint-status.yaml`.
392
+ 3. **The current SKILL.md explicitly says "Do NOT modify sprint-status.yaml."** This instruction must be REVERSED -- `sprint-status.yaml` is now the PRIMARY and ONLY write target.
393
+ 4. **The current SKILL.md uses `start_context`/`end_context` (free text).** The new schema uses `start`/`end` (ISO date or empty string). The field semantics are different.
394
+ 5. **The current SKILL.md includes `created_date`/`last_modified` per sprint.** The unified schema does NOT have per-sprint timestamps. Only the file-level `last_updated` exists.
395
+ 6. **The current SKILL.md uses `sprint_name`, `sprint_number`, `assigned_items`.** The unified schema uses `name` (field), sprint ID as map key, and `items` (read-only from this skill).
396
+ 7. **The current SKILL.md accepts `completed` as a status.** The unified schema uses `closed` instead of `completed`. Status must be one of: `planning`, `active`, `closed`.
397
+ 8. **The current workflow file** at `lib/bmad-extension/workflows/modify-sprint/workflow.md` mirrors the old SKILL.md and also needs updating (Task 4).
398
+ 9. **The current SKILL.md has a concurrency guard** based on per-sprint `last_modified` timestamps. The unified schema does not have per-sprint timestamps, so this guard is removed. The standard re-read-before-write pattern (Step 5) provides file-level consistency.
399
+
400
+ ### Epics Definition vs Schema -- Conflict Resolution
401
+
402
+ The epics.md definition for Story 17.17 states: "does NOT apply the capacity change until items are removed." However, the schema (section 4.2) says: "Skills SHOULD warn when items count exceeds capacity but MUST NOT block the operation." **The schema is authoritative** -- it was written as the canonical specification after the epics definition. This story follows the schema: capacity changes that would result in under-capacity are warned about but allowed if the user confirms.
403
+
404
+ ### Reference Files
405
+
406
+ - **Schema:** `_bmad-output/planning-artifacts/sprint-status-schema.md` (canonical schema, especially sections 4.1-4.6 for sprint entity, 6.4 single-active-sprint, 6.5 valid transitions, 6.7 closed sprint immutability)
407
+ - **Sprint status:** `_bmad-output/implementation-artifacts/sprint-status.yaml`
408
+ - **IDE skill reference:** `skills/story-status-lookup/skill.json` + `skills/story-status-lookup/SKILL.md` (example of `skill.json` + `SKILL.md` structure)
409
+ - **BMAD skill to modify:** `lib/bmad-extension/skills/modify-sprint/SKILL.md` (current pre-Epic-17 content)
410
+ - **BMAD manifest (no change):** `lib/bmad-extension/skills/modify-sprint/bmad-skill-manifest.yaml`
411
+ - **BMAD workflow to modify:** `lib/bmad-extension/workflows/modify-sprint/workflow.md`
412
+ - **Module help CSV:** `lib/bmad-extension/module-help.csv`
413
+
414
+ ### Cross-References
415
+
416
+ - **Story 17.9** (prerequisite): Defines the unified `sprint-status.yaml` schema and the sprint entity structure this skill reads and writes
417
+ - **Story 17.15** (prerequisite): `bmad-sprint-planning` bootstraps the file; `modify-sprint` requires `sprint-status.yaml` to exist
418
+ - **Story 17.16** (prerequisite): `add-sprint` creates the sprint entries in the `sprints` section that this skill modifies
419
+ - **Story 17.11** (peer): `add-to-sprint` handles moving items from backlog to sprint -- the item management capability removed from `modify-sprint`
420
+ - **Story 17.12** (peer): `remove-from-sprint` handles moving items from sprint to backlog -- the item management capability removed from `modify-sprint`
421
+ - **Story 17.21** (downstream): `close-sprint` provides the full close lifecycle; `modify-sprint` can set status to `closed` but warns about the distinction
422
+ - **Story 17.13** (downstream): `sprint-status-view` displays sprint state that this skill modifies
423
+ - **Story 12.3** (original): This skill was originally created in Epic 12; this story reworks it for the unified model
424
+
425
+ ### PRD Traceability
426
+
427
+ - **FR70:** A BMAD extension workflow enables changing/modifying a sprint (reorder items, swap items, adjust capacity, update dates, change status). Note: item reordering and swapping are not in scope for the unified schema (sprint items have no explicit `priority` field -- order is implicit in array position). Capacity, dates, and status changes are covered by this story. Item add/remove is covered by Stories 17.11 and 17.12.
428
+ - **FR66:** Sprint capacity is defined by number of items (stories + bugs), configured by the Scrum Master during sprint planning. This skill allows modifying the capacity value.
429
+ - **FR135:** Each sprint entity carries: `name`, `status` (planning / active / closed), `capacity`, optional `start` and `end` dates, and an `items` list. This skill modifies the metadata fields (name, status, capacity, start, end) but not the items list.
430
+ - **FR133:** `sprint-status.yaml` includes top-level metadata (generated, last_updated, project, etc.) -- `last_updated` must be refreshed on write.
431
+ - **NFR19:** Skills work identically across invocation modes (slash command, menu, workflow).
432
+
433
+ ### Architecture Reference
434
+
435
+ - Architecture Decision P2-5 in `_bmad-output/planning-artifacts/architecture.md` -- Pre-built Extension Workflows (FR61, FR68-FR70)
436
+ - Architecture Decision P2-11 in `_bmad-output/planning-artifacts/architecture.md` -- Unified sprint-status.yaml model
437
+ - Schema: `_bmad-output/planning-artifacts/sprint-status-schema.md` -- canonical schema, especially sections 4.1-4.6 (sprint entity, status transitions, capacity semantics), 6.4 (single-active-sprint), 6.5 (valid transitions), 6.7 (closed sprint immutability)
438
+
439
+ ---
440
+
441
+ ## Dev Agent Record
442
+
443
+ ### Implementation Notes
444
+
445
+ - **Date:** 2026-04-06
446
+ - **Agent:** Claude Sonnet 4.6 (claude-sonnet-4-6)
447
+ - **Branch:** `feature/story-17-17-modify-sprint`
448
+
449
+ **Key decisions made during implementation:**
450
+ 1. The IDE skill (`skills/modify-sprint/`) was created from scratch with no `always_load` (on-demand only).
451
+ 2. The BMAD extension skill frontmatter description was updated to reflect metadata-only scope.
452
+ 3. Both IDE and BMAD skills are functionally identical in workflow logic; the BMAD version adds BMAD-specific phrasing (emoji indicators, config path resolution hint, bold formatting).
453
+ 4. The workflow file was completely rewritten alongside the BMAD skill to maintain alignment.
454
+ 5. All seven Task 5 verification checks confirmed clean (no old patterns present in new files).
455
+ 6. Task 6 (6.1-6.6): The IDE skill is auto-discovered by the installer from `skills/modify-sprint/skill.json`; deployment to agent install paths occurs when `npx ma-agents` is run in a target project. Source structure verified correct.
456
+
457
+ ### File List
458
+
459
+ **Created:**
460
+ - `skills/modify-sprint/skill.json` -- IDE skill metadata (Task 1.1)
461
+ - `skills/modify-sprint/SKILL.md` -- IDE skill workflow content (Task 1.2)
462
+
463
+ **Modified:**
464
+ - `lib/bmad-extension/skills/modify-sprint/SKILL.md` -- Full rewrite: unified schema workflow replacing pre-Epic-17 content (Task 2.1)
465
+ - `lib/bmad-extension/workflows/modify-sprint/workflow.md` -- Full rewrite: aligned with new SKILL.md (Task 4.1)
466
+ - `lib/bmad-extension/module-help.csv` -- Updated description for modify-sprint row (Task 2.3)
467
+ - `_bmad-output/implementation-artifacts/sprint-status.yaml` -- Story status: ready-for-dev -> review
468
+
469
+ ### Change Log
470
+
471
+ | Date | Change | Files |
472
+ |------|--------|-------|
473
+ | 2026-04-06 | Create IDE skill source: skill.json + SKILL.md | `skills/modify-sprint/skill.json`, `skills/modify-sprint/SKILL.md` |
474
+ | 2026-04-06 | Rewrite BMAD extension skill: unified schema workflow | `lib/bmad-extension/skills/modify-sprint/SKILL.md` |
475
+ | 2026-04-06 | Rewrite BMAD workflow file: aligned with new SKILL.md | `lib/bmad-extension/workflows/modify-sprint/workflow.md` |
476
+ | 2026-04-06 | Update module-help.csv: metadata-only description | `lib/bmad-extension/module-help.csv` |
477
+ | 2026-04-06 | Update story status to review | `_bmad-output/implementation-artifacts/sprint-status.yaml`, `_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md` |