ma-agents 3.4.7 → 3.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/.opencode/skills/.ma-agents.json +134 -134
  2. package/.opencode/skills/add-sprint/SKILL.md +207 -0
  3. package/.opencode/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
  4. package/.opencode/skills/add-to-sprint/SKILL.md +189 -0
  5. package/.opencode/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
  6. package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +137 -0
  7. package/.opencode/skills/bmad-advanced-elicitation/methods.csv +51 -0
  8. package/.opencode/skills/bmad-agent-analyst/SKILL.md +56 -0
  9. package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +11 -0
  10. package/.opencode/skills/bmad-agent-architect/SKILL.md +52 -0
  11. package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +11 -0
  12. package/.opencode/skills/bmad-agent-dev/SKILL.md +62 -0
  13. package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +11 -0
  14. package/.opencode/skills/bmad-agent-pm/SKILL.md +57 -0
  15. package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +11 -0
  16. package/.opencode/skills/bmad-agent-qa/SKILL.md +59 -0
  17. package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +11 -0
  18. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +51 -0
  19. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +11 -0
  20. package/.opencode/skills/bmad-agent-sm/SKILL.md +53 -0
  21. package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +11 -0
  22. package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +55 -0
  23. package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
  24. package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +20 -0
  25. package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +20 -0
  26. package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +19 -0
  27. package/.opencode/skills/bmad-agent-tech-writer/write-document.md +20 -0
  28. package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +53 -0
  29. package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +11 -0
  30. package/.opencode/skills/bmad-brainstorming/SKILL.md +6 -0
  31. package/.opencode/skills/bmad-brainstorming/brain-methods.csv +62 -0
  32. package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
  33. package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
  34. package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
  35. package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  36. package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
  37. package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  38. package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
  39. package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
  40. package/.opencode/skills/bmad-brainstorming/template.md +15 -0
  41. package/.opencode/skills/bmad-brainstorming/workflow.md +53 -0
  42. package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +6 -0
  43. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  44. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  45. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  46. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  47. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  48. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  49. package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  50. package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +49 -0
  51. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +6 -0
  52. package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
  53. package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +31 -0
  54. package/.opencode/skills/bmad-cis-design-thinking/template.md +111 -0
  55. package/.opencode/skills/bmad-cis-design-thinking/workflow.md +242 -0
  56. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +6 -0
  57. package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
  58. package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
  59. package/.opencode/skills/bmad-cis-innovation-strategy/template.md +189 -0
  60. package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +315 -0
  61. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +6 -0
  62. package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
  63. package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +31 -0
  64. package/.opencode/skills/bmad-cis-problem-solving/template.md +165 -0
  65. package/.opencode/skills/bmad-cis-problem-solving/workflow.md +291 -0
  66. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +6 -0
  67. package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
  68. package/.opencode/skills/bmad-cis-storytelling/story-types.csv +26 -0
  69. package/.opencode/skills/bmad-cis-storytelling/template.md +113 -0
  70. package/.opencode/skills/bmad-cis-storytelling/workflow.md +321 -0
  71. package/.opencode/skills/bmad-code-review/SKILL.md +6 -0
  72. package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +62 -0
  73. package/.opencode/skills/bmad-code-review/steps/step-02-review.md +34 -0
  74. package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +49 -0
  75. package/.opencode/skills/bmad-code-review/steps/step-04-present.md +129 -0
  76. package/.opencode/skills/bmad-code-review/workflow.md +55 -0
  77. package/.opencode/skills/bmad-correct-course/SKILL.md +6 -0
  78. package/.opencode/skills/bmad-correct-course/checklist.md +288 -0
  79. package/.opencode/skills/bmad-correct-course/workflow.md +267 -0
  80. package/.opencode/skills/bmad-create-architecture/SKILL.md +6 -0
  81. package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +12 -0
  82. package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +13 -0
  83. package/.opencode/skills/bmad-create-architecture/data/project-types.csv +7 -0
  84. package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +153 -0
  85. package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +173 -0
  86. package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +224 -0
  87. package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +329 -0
  88. package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +318 -0
  89. package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +359 -0
  90. package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +379 -0
  91. package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +359 -0
  92. package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +76 -0
  93. package/.opencode/skills/bmad-create-architecture/workflow.md +38 -0
  94. package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +6 -0
  95. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  96. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  97. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  98. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  99. package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
  100. package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +53 -0
  101. package/.opencode/skills/bmad-create-prd/SKILL.md +6 -0
  102. package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +15 -0
  103. package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +197 -0
  104. package/.opencode/skills/bmad-create-prd/data/project-types.csv +11 -0
  105. package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +178 -0
  106. package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
  107. package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
  108. package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
  109. package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  110. package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +214 -0
  111. package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
  112. package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +194 -0
  113. package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
  114. package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
  115. package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +216 -0
  116. package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +219 -0
  117. package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  118. package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +221 -0
  119. package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +115 -0
  120. package/.opencode/skills/bmad-create-prd/templates/prd-template.md +10 -0
  121. package/.opencode/skills/bmad-create-prd/workflow.md +62 -0
  122. package/.opencode/skills/bmad-create-story/SKILL.md +6 -0
  123. package/.opencode/skills/bmad-create-story/checklist.md +357 -0
  124. package/.opencode/skills/bmad-create-story/discover-inputs.md +88 -0
  125. package/.opencode/skills/bmad-create-story/template.md +49 -0
  126. package/.opencode/skills/bmad-create-story/workflow.md +380 -0
  127. package/.opencode/skills/bmad-create-ux-design/SKILL.md +6 -0
  128. package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +135 -0
  129. package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
  130. package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
  131. package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
  132. package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
  133. package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
  134. package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
  135. package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
  136. package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  137. package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
  138. package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
  139. package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
  140. package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  141. package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  142. package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +171 -0
  143. package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +13 -0
  144. package/.opencode/skills/bmad-create-ux-design/workflow.md +36 -0
  145. package/.opencode/skills/bmad-dev-story/SKILL.md +6 -0
  146. package/.opencode/skills/bmad-dev-story/checklist.md +80 -0
  147. package/.opencode/skills/bmad-dev-story/workflow.md +450 -0
  148. package/.opencode/skills/bmad-distillator/SKILL.md +178 -0
  149. package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
  150. package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
  151. package/.opencode/skills/bmad-distillator/resources/compression-rules.md +51 -0
  152. package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
  153. package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
  154. package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
  155. package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
  156. package/.opencode/skills/bmad-document-project/SKILL.md +6 -0
  157. package/.opencode/skills/bmad-document-project/checklist.md +245 -0
  158. package/.opencode/skills/bmad-document-project/documentation-requirements.csv +12 -0
  159. package/.opencode/skills/bmad-document-project/instructions.md +128 -0
  160. package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +345 -0
  161. package/.opencode/skills/bmad-document-project/templates/index-template.md +169 -0
  162. package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +103 -0
  163. package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +160 -0
  164. package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +135 -0
  165. package/.opencode/skills/bmad-document-project/workflow.md +27 -0
  166. package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +299 -0
  167. package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
  168. package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +1107 -0
  169. package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +34 -0
  170. package/.opencode/skills/bmad-domain-research/SKILL.md +6 -0
  171. package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +137 -0
  172. package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  173. package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  174. package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  175. package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  176. package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  177. package/.opencode/skills/bmad-domain-research/research.template.md +29 -0
  178. package/.opencode/skills/bmad-domain-research/workflow.md +49 -0
  179. package/.opencode/skills/bmad-edit-prd/SKILL.md +6 -0
  180. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  181. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  182. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
  183. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
  184. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +165 -0
  185. package/.opencode/skills/bmad-edit-prd/workflow.md +63 -0
  186. package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +86 -0
  187. package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +179 -0
  188. package/.opencode/skills/bmad-generate-project-context/SKILL.md +6 -0
  189. package/.opencode/skills/bmad-generate-project-context/project-context-template.md +21 -0
  190. package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +186 -0
  191. package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +321 -0
  192. package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +278 -0
  193. package/.opencode/skills/bmad-generate-project-context/workflow.md +43 -0
  194. package/.opencode/skills/bmad-help/SKILL.md +73 -0
  195. package/.opencode/skills/bmad-index-docs/SKILL.md +66 -0
  196. package/.opencode/skills/bmad-init/SKILL.md +100 -0
  197. package/.opencode/skills/bmad-init/resources/core-module.yaml +25 -0
  198. package/.opencode/skills/bmad-init/scripts/bmad_init.py +593 -0
  199. package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +329 -0
  200. package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +49 -0
  201. package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
  202. package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +49 -0
  203. package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +11 -0
  204. package/.opencode/skills/bmad-ma-agent-mil498/.gitkeep +0 -0
  205. package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +53 -0
  206. package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +11 -0
  207. package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
  208. package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +59 -0
  209. package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +11 -0
  210. package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
  211. package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +49 -0
  212. package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +11 -0
  213. package/.opencode/skills/bmad-market-research/SKILL.md +6 -0
  214. package/.opencode/skills/bmad-market-research/research.template.md +29 -0
  215. package/.opencode/skills/bmad-market-research/steps/step-01-init.md +184 -0
  216. package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
  217. package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
  218. package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
  219. package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
  220. package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +478 -0
  221. package/.opencode/skills/bmad-market-research/workflow.md +49 -0
  222. package/.opencode/skills/bmad-party-mode/SKILL.md +6 -0
  223. package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +138 -0
  224. package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +187 -0
  225. package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +167 -0
  226. package/.opencode/skills/bmad-party-mode/workflow.md +190 -0
  227. package/.opencode/skills/bmad-product-brief/SKILL.md +87 -0
  228. package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +60 -0
  229. package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +44 -0
  230. package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +44 -0
  231. package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +49 -0
  232. package/.opencode/skills/bmad-product-brief/bmad-manifest.json +17 -0
  233. package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +57 -0
  234. package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +86 -0
  235. package/.opencode/skills/bmad-product-brief/prompts/finalize.md +75 -0
  236. package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +70 -0
  237. package/.opencode/skills/bmad-product-brief/resources/brief-template.md +60 -0
  238. package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
  239. package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
  240. package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +136 -0
  241. package/.opencode/skills/bmad-quick-dev/SKILL.md +6 -0
  242. package/.opencode/skills/bmad-quick-dev/spec-template.md +88 -0
  243. package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +64 -0
  244. package/.opencode/skills/bmad-quick-dev/step-02-plan.md +35 -0
  245. package/.opencode/skills/bmad-quick-dev/step-03-implement.md +37 -0
  246. package/.opencode/skills/bmad-quick-dev/step-04-review.md +49 -0
  247. package/.opencode/skills/bmad-quick-dev/step-05-present.md +63 -0
  248. package/.opencode/skills/bmad-quick-dev/step-oneshot.md +49 -0
  249. package/.opencode/skills/bmad-quick-dev/workflow.md +79 -0
  250. package/.opencode/skills/bmad-retrospective/SKILL.md +6 -0
  251. package/.opencode/skills/bmad-retrospective/workflow.md +1479 -0
  252. package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +37 -0
  253. package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
  254. package/.opencode/skills/bmad-shard-doc/SKILL.md +105 -0
  255. package/.opencode/skills/bmad-sprint-planning/SKILL.md +6 -0
  256. package/.opencode/skills/bmad-sprint-planning/checklist.md +33 -0
  257. package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +56 -0
  258. package/.opencode/skills/bmad-sprint-planning/workflow.md +263 -0
  259. package/.opencode/skills/bmad-sprint-status/SKILL.md +6 -0
  260. package/.opencode/skills/bmad-sprint-status/workflow.md +261 -0
  261. package/.opencode/skills/bmad-technical-research/SKILL.md +6 -0
  262. package/.opencode/skills/bmad-technical-research/research.template.md +29 -0
  263. package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +137 -0
  264. package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  265. package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  266. package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  267. package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  268. package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  269. package/.opencode/skills/bmad-technical-research/workflow.md +50 -0
  270. package/.opencode/skills/bmad-validate-prd/SKILL.md +6 -0
  271. package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +15 -0
  272. package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +197 -0
  273. package/.opencode/skills/bmad-validate-prd/data/project-types.csv +11 -0
  274. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  275. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  276. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  277. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  278. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  279. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  280. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  281. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  282. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  283. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  284. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  285. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  286. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  287. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  288. package/.opencode/skills/bmad-validate-prd/workflow.md +62 -0
  289. package/.opencode/skills/cleanup-done/.gitkeep +0 -0
  290. package/.opencode/skills/create-bug-story/.gitkeep +0 -0
  291. package/.opencode/skills/create-bug-story/SKILL.md +263 -0
  292. package/.opencode/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
  293. package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
  294. package/.opencode/skills/cyber-generate-certs/SKILL.md +27 -0
  295. package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
  296. package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
  297. package/.opencode/skills/cyber-immunity-estimation/SKILL.md +29 -0
  298. package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
  299. package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
  300. package/.opencode/skills/cyber-security-audit/SKILL.md +27 -0
  301. package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
  302. package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
  303. package/.opencode/skills/cyber-vault-secrets/SKILL.md +28 -0
  304. package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
  305. package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
  306. package/.opencode/skills/cyber-verify-docker-users/SKILL.md +23 -0
  307. package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
  308. package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
  309. package/.opencode/skills/cyber-verify-image-signature/SKILL.md +22 -0
  310. package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
  311. package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  312. package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +28 -0
  313. package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
  314. package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
  315. package/.opencode/skills/devops-configure-infrastructure/SKILL.md +27 -0
  316. package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
  317. package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
  318. package/.opencode/skills/devops-disconnected-deployment/SKILL.md +27 -0
  319. package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
  320. package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
  321. package/.opencode/skills/devops-docker-compose-setup/SKILL.md +26 -0
  322. package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
  323. package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
  324. package/.opencode/skills/devops-manage-helm/SKILL.md +28 -0
  325. package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
  326. package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
  327. package/.opencode/skills/devops-sign-docker-image/SKILL.md +24 -0
  328. package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
  329. package/.opencode/skills/generate-backlog/.gitkeep +0 -0
  330. package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
  331. package/.opencode/skills/mil498-ocd/SKILL.md +30 -0
  332. package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
  333. package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
  334. package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +10 -0
  335. package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
  336. package/.opencode/skills/mil498-ocd/prompts/04-validate.md +14 -0
  337. package/.opencode/skills/mil498-ocd/prompts/05-review.md +15 -0
  338. package/.opencode/skills/mil498-ocd/prompts/06-save.md +15 -0
  339. package/.opencode/skills/mil498-ocd/template.md +169 -0
  340. package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
  341. package/.opencode/skills/mil498-sdd/SKILL.md +30 -0
  342. package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
  343. package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
  344. package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +10 -0
  345. package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
  346. package/.opencode/skills/mil498-sdd/prompts/04-validate.md +16 -0
  347. package/.opencode/skills/mil498-sdd/prompts/05-review.md +15 -0
  348. package/.opencode/skills/mil498-sdd/prompts/06-save.md +19 -0
  349. package/.opencode/skills/mil498-sdd/template.md +163 -0
  350. package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
  351. package/.opencode/skills/mil498-sdp/SKILL.md +30 -0
  352. package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
  353. package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
  354. package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +10 -0
  355. package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
  356. package/.opencode/skills/mil498-sdp/prompts/04-validate.md +13 -0
  357. package/.opencode/skills/mil498-sdp/prompts/05-review.md +15 -0
  358. package/.opencode/skills/mil498-sdp/prompts/06-save.md +14 -0
  359. package/.opencode/skills/mil498-sdp/template.md +307 -0
  360. package/.opencode/skills/mil498-srs/.gitkeep +0 -0
  361. package/.opencode/skills/mil498-srs/SKILL.md +30 -0
  362. package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
  363. package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
  364. package/.opencode/skills/mil498-srs/prompts/02-load-template.md +10 -0
  365. package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +100 -0
  366. package/.opencode/skills/mil498-srs/prompts/04-validate.md +16 -0
  367. package/.opencode/skills/mil498-srs/prompts/05-review.md +15 -0
  368. package/.opencode/skills/mil498-srs/prompts/06-save.md +18 -0
  369. package/.opencode/skills/mil498-srs/template.md +219 -0
  370. package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
  371. package/.opencode/skills/mil498-ssdd/SKILL.md +32 -0
  372. package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
  373. package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
  374. package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
  375. package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
  376. package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
  377. package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +14 -0
  378. package/.opencode/skills/mil498-ssdd/prompts/06-review.md +16 -0
  379. package/.opencode/skills/mil498-ssdd/prompts/07-save.md +16 -0
  380. package/.opencode/skills/mil498-ssdd/template.md +154 -0
  381. package/.opencode/skills/mil498-sss/.gitkeep +0 -0
  382. package/.opencode/skills/mil498-sss/SKILL.md +31 -0
  383. package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
  384. package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
  385. package/.opencode/skills/mil498-sss/prompts/02-load-template.md +10 -0
  386. package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +108 -0
  387. package/.opencode/skills/mil498-sss/prompts/04-validate.md +16 -0
  388. package/.opencode/skills/mil498-sss/prompts/05-review.md +15 -0
  389. package/.opencode/skills/mil498-sss/prompts/06-save.md +15 -0
  390. package/.opencode/skills/mil498-sss/template.md +225 -0
  391. package/.opencode/skills/mil498-std/.gitkeep +0 -0
  392. package/.opencode/skills/mil498-std/SKILL.md +30 -0
  393. package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
  394. package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
  395. package/.opencode/skills/mil498-std/prompts/02-load-template.md +10 -0
  396. package/.opencode/skills/mil498-std/prompts/03-generate-document.md +117 -0
  397. package/.opencode/skills/mil498-std/prompts/04-validate.md +15 -0
  398. package/.opencode/skills/mil498-std/prompts/05-review.md +15 -0
  399. package/.opencode/skills/mil498-std/prompts/06-save.md +15 -0
  400. package/.opencode/skills/mil498-std/template.md +188 -0
  401. package/.opencode/skills/ml-advise/.gitkeep +0 -0
  402. package/.opencode/skills/ml-advise/SKILL.md +76 -0
  403. package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +3 -0
  404. package/.opencode/skills/ml-advise/skill.json +7 -0
  405. package/.opencode/skills/ml-analysis/.gitkeep +0 -0
  406. package/.opencode/skills/ml-analysis/SKILL.md +60 -0
  407. package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +3 -0
  408. package/.opencode/skills/ml-analysis/skill.json +7 -0
  409. package/.opencode/skills/ml-architecture/.gitkeep +0 -0
  410. package/.opencode/skills/ml-architecture/SKILL.md +55 -0
  411. package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +3 -0
  412. package/.opencode/skills/ml-architecture/skill.json +7 -0
  413. package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
  414. package/.opencode/skills/ml-detailed-design/SKILL.md +67 -0
  415. package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +3 -0
  416. package/.opencode/skills/ml-detailed-design/skill.json +7 -0
  417. package/.opencode/skills/ml-eda/.gitkeep +0 -0
  418. package/.opencode/skills/ml-eda/SKILL.md +56 -0
  419. package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +3 -0
  420. package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +522 -0
  421. package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +295 -0
  422. package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +383 -0
  423. package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +654 -0
  424. package/.opencode/skills/ml-eda/skill.json +7 -0
  425. package/.opencode/skills/ml-experiment/.gitkeep +0 -0
  426. package/.opencode/skills/ml-experiment/SKILL.md +74 -0
  427. package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +430 -0
  428. package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +233 -0
  429. package/.opencode/skills/ml-experiment/assets/template_datamodule.py +219 -0
  430. package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +341 -0
  431. package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +158 -0
  432. package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +3 -0
  433. package/.opencode/skills/ml-experiment/skill.json +7 -0
  434. package/.opencode/skills/ml-hparam/.gitkeep +0 -0
  435. package/.opencode/skills/ml-hparam/SKILL.md +81 -0
  436. package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +3 -0
  437. package/.opencode/skills/ml-hparam/skill.json +7 -0
  438. package/.opencode/skills/ml-ideation/.gitkeep +0 -0
  439. package/.opencode/skills/ml-ideation/SKILL.md +50 -0
  440. package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +3 -0
  441. package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +287 -0
  442. package/.opencode/skills/ml-ideation/skill.json +7 -0
  443. package/.opencode/skills/ml-infra/.gitkeep +0 -0
  444. package/.opencode/skills/ml-infra/SKILL.md +58 -0
  445. package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +3 -0
  446. package/.opencode/skills/ml-infra/skill.json +7 -0
  447. package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
  448. package/.opencode/skills/ml-retrospective/SKILL.md +63 -0
  449. package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +3 -0
  450. package/.opencode/skills/ml-retrospective/skill.json +7 -0
  451. package/.opencode/skills/ml-revision/.gitkeep +0 -0
  452. package/.opencode/skills/ml-revision/SKILL.md +82 -0
  453. package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +3 -0
  454. package/.opencode/skills/ml-revision/skill.json +7 -0
  455. package/.opencode/skills/ml-techspec/.gitkeep +0 -0
  456. package/.opencode/skills/ml-techspec/SKILL.md +80 -0
  457. package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +3 -0
  458. package/.opencode/skills/ml-techspec/skill.json +7 -0
  459. package/.opencode/skills/modify-sprint/.gitkeep +0 -0
  460. package/.opencode/skills/modify-sprint/SKILL.md +322 -0
  461. package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
  462. package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
  463. package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
  464. package/.opencode/skills/project-context-expansion/SKILL.md +238 -0
  465. package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
  466. package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
  467. package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
  468. package/.opencode/skills/sprint-status-view/SKILL.md +263 -0
  469. package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
  470. package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
  471. package/.opencode/skills/sre-check-deployment-status/SKILL.md +32 -0
  472. package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
  473. package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
  474. package/.opencode/skills/sre-check-secrets/SKILL.md +23 -0
  475. package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
  476. package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
  477. package/.opencode/skills/sre-check-system-status/SKILL.md +27 -0
  478. package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
  479. package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
  480. package/.opencode/skills/sre-day-2-ops/SKILL.md +26 -0
  481. package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
  482. package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
  483. package/.opencode/skills/sre-deployment-strategies/SKILL.md +28 -0
  484. package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
  485. package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
  486. package/.opencode/skills/sre-fix-deployments/SKILL.md +25 -0
  487. package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
  488. package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
  489. package/.opencode/skills/sre-gitops-status/SKILL.md +25 -0
  490. package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
  491. package/.roo/skills/.ma-agents.json +134 -134
  492. package/bin/cli.js +25 -10
  493. package/lib/agents.js +21 -51
  494. package/lib/bmad-extension/module-help.csv +4 -21
  495. package/lib/bmad-extension/skills/add-sprint/SKILL.md +40 -126
  496. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +142 -116
  497. package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
  498. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +0 -63
  499. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +138 -199
  500. package/lib/bmad-extension/workflows/add-sprint/workflow.md +39 -129
  501. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +205 -3
  502. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +0 -5
  503. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +192 -3
  504. package/lib/installer.js +13 -5
  505. package/package.json +1 -1
  506. /package/{lib/bmad-extension/skills/cleanup-done → .opencode/skills/add-sprint}/.gitkeep +0 -0
  507. /package/{lib/bmad-extension/skills/generate-backlog → .opencode/skills/add-to-sprint}/.gitkeep +0 -0
  508. /package/{lib/bmad-extension/skills/prioritize-backlog → .opencode/skills/bmad-ma-agent-cyber}/.gitkeep +0 -0
  509. /package/{lib/bmad-extension/skills/remove-from-sprint → .opencode/skills/bmad-ma-agent-devops}/.gitkeep +0 -0
  510. /package/{lib/bmad-extension → .opencode}/skills/cleanup-done/SKILL.md +0 -0
  511. /package/{lib/bmad-extension → .opencode}/skills/cleanup-done/bmad-skill-manifest.yaml +0 -0
  512. /package/{lib/bmad-extension → .opencode}/skills/generate-backlog/SKILL.md +0 -0
  513. /package/{lib/bmad-extension → .opencode}/skills/generate-backlog/bmad-skill-manifest.yaml +0 -0
  514. /package/{lib/bmad-extension → .opencode}/skills/prioritize-backlog/SKILL.md +0 -0
  515. /package/{lib/bmad-extension → .opencode}/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -0
  516. /package/{lib/bmad-extension → .opencode}/skills/remove-from-sprint/SKILL.md +0 -0
  517. /package/{lib/bmad-extension → .opencode}/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -0
@@ -0,0 +1,322 @@
1
+ ---
2
+ name: modify-sprint
3
+ description: Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata
4
+ type: skill
5
+ triggers:
6
+ - "modify sprint"
7
+ - "edit sprint"
8
+ ---
9
+
10
+ <!-- PARTIALLY REWORKED: Item assignment is handled by /add-to-sprint (Story 17.4).
11
+ Item removal is handled by /remove-from-sprint (Story 17.5).
12
+ Sprint activation (planning -> active) is handled below (Step 3e).
13
+ The legacy workflow below still references old sprint-plan-{n}.yaml paths for
14
+ other operations. A full rework of modify-sprint is planned for a future story. -->
15
+
16
+ > **Note:** Item assignment and removal are now handled by `/add-to-sprint` and `/remove-from-sprint`. Use the **Activate Sprint** option below to transition a sprint from `planning` to `active`.
17
+
18
+ # Modify Sprint Workflow
19
+
20
+ Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata.
21
+
22
+ <workflow>
23
+
24
+ <step n="3e" goal="Activate a sprint (planning -> active)">
25
+ <action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover all sprint files</action>
26
+ <check if="no sprint files found">
27
+ <output>No sprints found. Run `/add-sprint` first.</output>
28
+ <action>Exit workflow</action>
29
+ </check>
30
+ <action>Read each sprint file; extract: id, name, status, capacity, items count</action>
31
+ <action>Display sprints table</action>
32
+ <output>
33
+ ## Available Sprints
34
+
35
+ | # | ID | Name | Status | Items | Capacity |
36
+ |---|---|---|---|---|---|
37
+ {{#each sprints}}
38
+ | {{@index+1}} | {{id}} | {{name}} | {{status}} | {{items_count}} | {{capacity}} |
39
+ {{/each}}
40
+ </output>
41
+ <ask>Which sprint to activate? (enter number, or 'q' to cancel):</ask>
42
+ <check if="user enters 'q'">
43
+ <output>Cancelled.</output>
44
+ <action>Exit workflow</action>
45
+ </check>
46
+ <action>Store selected sprint as {{target_sprint}}</action>
47
+
48
+ <!-- Validate transition -->
49
+ <check if="target_sprint.status != 'planning'">
50
+ <output>Only sprints in `planning` status can be activated. Sprint "{{target_sprint.name}}" is currently `{{target_sprint.status}}`.</output>
51
+ <action>Exit workflow</action>
52
+ </check>
53
+
54
+ <!-- Check single-active constraint -->
55
+ <action>Check if any other sprint has status `active`</action>
56
+ <check if="another sprint is already active">
57
+ <output>Cannot activate "{{target_sprint.name}}" — sprint "{{active_sprint.name}}" ({{active_sprint.id}}) is already active. Close it first before activating another sprint.</output>
58
+ <action>Exit workflow</action>
59
+ </check>
60
+
61
+ <ask>Activate "{{target_sprint.name}}" ({{target_sprint.id}})? This will set status to `active`. [y] Yes / [n] Cancel:</ask>
62
+ <check if="user selects 'n'">
63
+ <output>Cancelled.</output>
64
+ <action>Exit workflow</action>
65
+ </check>
66
+
67
+ <action>Set target_sprint.status = "active"</action>
68
+ <action>Update `last_modified` to current ISO timestamp</action>
69
+ <action>Write updated sprint file to `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
70
+ <output>
71
+ Sprint "{{target_sprint.name}}" is now **active**.
72
+
73
+ **Next Steps:**
74
+ - Use `/add-to-sprint` to assign backlog items
75
+ - Use `/sprint-status-view` to see sprint progress
76
+ </output>
77
+ </step>
78
+
79
+ <step n="1" goal="List available sprints and select one to modify">
80
+ <action>Glob `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` to discover all sprint artifact files</action>
81
+ <check if="no sprint files found">
82
+ <output>❌ No sprint plans found. Run `/add-sprint` first to create a sprint.</output>
83
+ <action>Exit workflow</action>
84
+ </check>
85
+ <action>For each sprint file found, read and extract: sprint_number, sprint_name, capacity, assigned_items, status, last_modified</action>
86
+ <output>
87
+ ## 🏃 Available Sprints
88
+
89
+ | # | Sprint | Status | Capacity | Assigned | Remaining | Last Modified |
90
+ |---|---|---|---|---|---|---|
91
+ {{#each sprints}}
92
+ | {{@index+1}} | {{sprint_name}} (Sprint {{sprint_number}}) | {{status}} | {{capacity}} | {{assigned_count}} | {{remaining}} | {{last_modified}} |
93
+ {{/each}}
94
+ </output>
95
+ <ask>Select sprint to modify (enter number):</ask>
96
+ <action>Store selected sprint as {{target_sprint}}</action>
97
+ <action>Store {{session_last_modified}} = {{target_sprint.last_modified}} for later concurrency guard check</action>
98
+ </step>
99
+
100
+ <step n="2" goal="Display current sprint state">
101
+ <action>Initialize {{working_assigned_items}} = copy of {{target_sprint.assigned_items}} — this working list accumulates all add/remove changes made during this session before the final save</action>
102
+ <action>Calculate remaining capacity: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
103
+ <output>
104
+ ## Sprint: {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
105
+
106
+ - **Status:** {{target_sprint.status}}
107
+ - **Capacity:** {{target_sprint.capacity}} items
108
+ - **Assigned Items:** {{assigned_count}} / {{target_sprint.capacity}} ({{remaining}} remaining)
109
+ - **Start Context:** {{target_sprint.start_context}}
110
+ - **End Context:** {{target_sprint.end_context}}
111
+ - **Last Modified:** {{target_sprint.last_modified}}
112
+
113
+ ### Assigned Items
114
+ {{#if assigned_items_empty}}
115
+ *(No items assigned yet)*
116
+ {{else}}
117
+ {{#each target_sprint.assigned_items}}
118
+ - {{this}}
119
+ {{/each}}
120
+ {{/if}}
121
+ </output>
122
+ </step>
123
+
124
+ <step n="3" goal="Present modification menu">
125
+ <ask>What would you like to modify?
126
+
127
+ 1. **Add item** — assign a new backlog item to this sprint
128
+ 2. **Remove item** — remove an assigned item from this sprint
129
+ 3. **Change capacity** — update the sprint's maximum item capacity
130
+ 4. **Update metadata** — change sprint name, start/end context, or status
131
+ 5. **Done** — save all changes and exit
132
+
133
+ Choice:</ask>
134
+ <check if="choice == 5 or 'done'">
135
+ <goto step="5" />
136
+ </check>
137
+ </step>
138
+
139
+ <step n="3a" goal="Add item" if="choice == 1">
140
+ <action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml` to get all user story keys and statuses</action>
141
+ <action>Glob `_bmad-output/implementation-artifacts/bug-*.md` for bug stories; parse YAML frontmatter for type, severity, title</action>
142
+ <action>Read ALL `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` files to build {{all_assigned_items}} — flat set of every item identifier assigned to any sprint (including the current sprint's {{working_assigned_items}})</action>
143
+ <action>Filter user stories: exclude items whose key is in {{all_assigned_items}} (already assigned to any sprint)</action>
144
+ <action>Filter bug stories: exclude items whose file basename is in {{all_assigned_items}} (already assigned to any sprint)</action>
145
+ <action>Build {{unassigned_items}} from the filtered stories and bugs, with: id, title, type (Story/Bug), status</action>
146
+ <output>
147
+ ## Unassigned Backlog Items
148
+
149
+ | # | ID / File | Title | Type | Status |
150
+ |---|---|---|---|---|
151
+ {{#each unassigned_items}}
152
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} | {{status}} |
153
+ {{/each}}
154
+ </output>
155
+ <ask>Select item to add (enter number):</ask>
156
+ <action>Store selected item as {{item_to_add}}</action>
157
+ <action>Calculate: {{new_assigned_count}} = current assigned count + 1</action>
158
+ <check if="{{new_assigned_count}} > {{target_sprint.capacity}}">
159
+ <output>⚠️ **Capacity Warning:** Adding "{{item_to_add.title}}" would bring assigned items to {{new_assigned_count}}/{{target_sprint.capacity}} — exceeding capacity by {{overage}}.</output>
160
+ <ask>Options:
161
+ - [a] Add anyway (over-capacity acknowledged)
162
+ - [s] Skip — do not add this item
163
+ - [c] Change capacity first (select option 3 from menu)
164
+
165
+ Choice:</ask>
166
+ <check if="choice == 's'">
167
+ <goto step="3" />
168
+ </check>
169
+ <check if="choice == 'c'">
170
+ <goto step="3c" />
171
+ </check>
172
+ </check>
173
+ <action>Add {{item_to_add}} identifier to {{working_assigned_items}} list</action>
174
+ <action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
175
+ <output>✅ Added "{{item_to_add.title}}" to sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
176
+ <goto step="3" />
177
+ </step>
178
+
179
+ <step n="3b" goal="Remove item" if="choice == 2">
180
+ <check if="{{working_assigned_items}} is empty">
181
+ <output>ℹ️ No items are currently assigned to this sprint.</output>
182
+ <goto step="3" />
183
+ </check>
184
+ <action>Resolve each identifier in {{working_assigned_items}} to its display name and type:
185
+ - For story identifiers (matching pattern `^\d+-\d+-.+`): infer title from key by converting kebab segments to title case (e.g., `12-1-add-sprint-workflow` → "Add Sprint Workflow"); type = "Story"; look up status in sprint-status.yaml if available
186
+ - For bug identifiers (matching pattern `^bug-.+`): look up in bug-*.md frontmatter (re-glob if not already loaded this step) for title and severity; type = "Bug"
187
+ - If resolution fails for any identifier, display the raw identifier as title with type "Unknown"
188
+ </action>
189
+ <output>
190
+ ## Currently Assigned Items
191
+
192
+ | # | ID / File | Title | Type |
193
+ |---|---|---|---|
194
+ {{#each working_assigned_items}}
195
+ | {{@index+1}} | {{id}} | {{title}} | {{type}} |
196
+ {{/each}}
197
+ </output>
198
+ <ask>Select item to remove (enter number):</ask>
199
+ <action>Remove selected item from {{working_assigned_items}} list</action>
200
+ <action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
201
+ <output>✅ Removed item from sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
202
+ <goto step="3" />
203
+ </step>
204
+
205
+ <step n="3c" goal="Change capacity" if="choice == 3">
206
+ <ask>Enter new capacity (positive integer — current: {{target_sprint.capacity}}):</ask>
207
+ <action>Validate input is a positive integer (greater than zero)</action>
208
+ <check if="input is NOT a positive integer">
209
+ <output>❌ Invalid capacity. Must be a positive integer greater than zero.</output>
210
+ <goto step="3c" />
211
+ </check>
212
+ <action>Store {{new_capacity}} = validated integer input</action>
213
+ <action>Calculate: {{new_remaining}} = {{new_capacity}} - length({{working_assigned_items}})</action>
214
+ <output>✅ Capacity updated: {{target_sprint.capacity}} → {{new_capacity}} ({{new_remaining}} slots remaining with current {{length(working_assigned_items)}} assigned items)</output>
215
+ <action>Update {{target_sprint.capacity}} = {{new_capacity}} in working state</action>
216
+ <goto step="3" />
217
+ </step>
218
+
219
+ <step n="3d" goal="Update metadata" if="choice == 4">
220
+ <ask>Which metadata to update?
221
+ 1. Sprint name (current: "{{target_sprint.sprint_name}}")
222
+ 2. Start context (current: "{{target_sprint.start_context}}")
223
+ 3. End context (current: "{{target_sprint.end_context}}")
224
+ 4. Status (current: {{target_sprint.status}} — options: planning / active / completed)
225
+ 5. Back to menu
226
+
227
+ Choice:</ask>
228
+ <check if="choice == 1">
229
+ <ask>New sprint name:</ask>
230
+ <action>Update {{target_sprint.sprint_name}} in working state</action>
231
+ <output>✅ Sprint name updated.</output>
232
+ </check>
233
+ <check if="choice == 2">
234
+ <ask>New start context (date or milestone):</ask>
235
+ <action>Update {{target_sprint.start_context}} in working state</action>
236
+ <output>✅ Start context updated.</output>
237
+ </check>
238
+ <check if="choice == 3">
239
+ <ask>New end context (date or milestone):</ask>
240
+ <action>Update {{target_sprint.end_context}} in working state</action>
241
+ <output>✅ End context updated.</output>
242
+ </check>
243
+ <check if="choice == 4">
244
+ <ask>New status (planning / active / completed):</ask>
245
+ <action>Validate input is one of: planning, active, completed</action>
246
+ <check if="invalid status">
247
+ <output>❌ Invalid status. Choose: planning, active, or completed.</output>
248
+ </check>
249
+ <action>Update {{target_sprint.status}} in working state</action>
250
+ <output>✅ Sprint status updated.</output>
251
+ </check>
252
+ <check if="choice == 5">
253
+ <goto step="3" />
254
+ </check>
255
+ <goto step="3" />
256
+ </step>
257
+
258
+ <step n="4" goal="Concurrency guard — re-read before writing">
259
+ <action>Re-read the sprint artifact file: `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`</action>
260
+ <action>Extract the current `last_modified` timestamp from the file</action>
261
+ <check if="current file last_modified != {{session_last_modified}}">
262
+ <output>
263
+ ⚠️ **Conflict Detected:** The sprint artifact was modified externally since this session started.
264
+
265
+ **Session started with:** `last_modified: {{session_last_modified}}`
266
+ **Current file has:** `last_modified: {{current_file_last_modified}}`
267
+
268
+ **Current sprint state (re-read from file):**
269
+ </output>
270
+ <action>Display the full current state of the sprint artifact (re-read content)</action>
271
+ <ask>The file has changed. Review the current state above and confirm how to proceed:
272
+ - [o] Overwrite with your changes from this session (your modifications will replace current file content)
273
+ - [m] Merge — restart modifications from the current file state
274
+ - [x] Cancel — discard all session changes
275
+
276
+ Choice:</ask>
277
+ <check if="choice == 'x'">
278
+ <output>❌ Changes discarded. Sprint file not modified.</output>
279
+ <action>Exit workflow</action>
280
+ </check>
281
+ <check if="choice == 'm'">
282
+ <action>Reload {{target_sprint}} from current file content</action>
283
+ <action>Update {{session_last_modified}} to current file's last_modified</action>
284
+ <action>Reset {{working_assigned_items}} to current file's assigned_items</action>
285
+ <output>🔄 Reloaded sprint from current state. Please re-apply your modifications.</output>
286
+ <goto step="3" />
287
+ </check>
288
+ <!-- if 'o', proceed to write with session changes -->
289
+ </check>
290
+ </step>
291
+
292
+ <step n="5" goal="Persist changes to sprint artifact">
293
+ <action>Invoke concurrency guard (Step 4) before writing</action>
294
+ <action>Get current ISO timestamp for last_modified</action>
295
+ <action>Write updated sprint data back to `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`:
296
+ - Update `sprint_name` if changed
297
+ - Update `capacity` if changed
298
+ - Update `assigned_items` with final working list
299
+ - Update `status` if changed
300
+ - Update `start_context` if changed
301
+ - Update `end_context` if changed
302
+ - Update `last_modified` to current ISO timestamp
303
+ - Preserve `sprint_number`, `created_date` unchanged
304
+ </action>
305
+ <action>**Do NOT modify sprint-status.yaml** — sprint membership is exclusively in sprint-plan-{n}.yaml. sprint-status.yaml is read-only from this workflow.</action>
306
+ <action>Calculate final remaining capacity</action>
307
+ <output>
308
+ ## ✅ Sprint Updated Successfully
309
+
310
+ **Sprint:** {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
311
+ **File:** `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`
312
+ **Capacity:** {{final_capacity}} items ({{final_remaining}} remaining)
313
+ **Assigned Items:** {{final_assigned_count}}
314
+ **Status:** {{target_sprint.status}}
315
+
316
+ **Next Steps:**
317
+ - Use `/add-to-sprint` to assign more backlog items
318
+ - Use `/sprint-status-view` to view full sprint progress
319
+ </output>
320
+ </step>
321
+
322
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: modify-sprint
3
+ module: ma-skills
File without changes
@@ -0,0 +1,238 @@
1
+ ---
2
+ name: project-context-expansion
3
+ description: Post-retrospective workflow to update project-context.md with discovered patterns and conventions
4
+ type: skill
5
+ triggers:
6
+ - "project context expansion"
7
+ - "expand project context"
8
+ ---
9
+
10
+ # Project Context Expansion Workflow
11
+
12
+ Post-retrospective companion workflow to update `_bmad-output/project-context.md` with
13
+ patterns and conventions discovered during the sprint.
14
+
15
+ Run this workflow at the end of `/bmad-retrospective` to close the living document lifecycle loop.
16
+ The agent proposes additions; the human decides what gets written.
17
+
18
+ <workflow>
19
+
20
+ <step n="1" goal="Check whether project-context.md exists">
21
+
22
+ <action>Check if `_bmad-output/project-context.md` exists in the project root</action>
23
+
24
+ <check if="file does NOT exist">
25
+ <output>
26
+ ℹ️ **No project-context.md found.**
27
+
28
+ `_bmad-output/project-context.md` does not exist in this project yet.
29
+
30
+ To create it, either:
31
+ - Run `npx ma-agents install` at the project level (auto-generates on first install)
32
+ - Run `/bmad-generate-project-context` to create it manually
33
+
34
+ Skipping project-context expansion — nothing to update.
35
+ </output>
36
+ <action>Exit workflow</action>
37
+ </check>
38
+
39
+ <check if="file exists">
40
+ <output>
41
+ ✅ Found `_bmad-output/project-context.md` — proceeding with expansion review.
42
+ </output>
43
+ </check>
44
+
45
+ </step>
46
+
47
+ <step n="2" goal="Read and present the current Project-Specific Rules section">
48
+
49
+ <action>Read the complete contents of `_bmad-output/project-context.md`</action>
50
+
51
+ <action>Extract the `## Project-Specific Rules` section:
52
+ - Find the line starting with `## Project-Specific Rules`
53
+ - Read all content until the next `##` section header (or end of file)
54
+ - Store as {{current_rules_content}}
55
+ </action>
56
+
57
+ <check if="{{current_rules_content}} contains only the TODO comment or is effectively empty">
58
+ <action>Set {{rules_are_empty}} = true</action>
59
+ </check>
60
+
61
+ <check if="{{current_rules_content}} contains substantive rules">
62
+ <action>Set {{rules_are_empty}} = false</action>
63
+ </check>
64
+
65
+ <output>
66
+ ## Current Project-Specific Rules
67
+
68
+ {{current_rules_content}}
69
+
70
+ ---
71
+
72
+ I will now review the retrospective discussion to propose additions to this section.
73
+ </output>
74
+
75
+ </step>
76
+
77
+ <step n="3" goal="Gather sprint patterns — from retrospective context or user input">
78
+
79
+ <action>Check whether there is active retrospective context in this session (i.e., this workflow
80
+ was invoked immediately after running /bmad-retrospective and discussion content is available).
81
+ </action>
82
+
83
+ <check if="retrospective context IS present in this session">
84
+ <action>Use the retrospective discussion to identify patterns, conventions, and lessons.
85
+ Skip the user prompt below — proceed directly to the proposal step.
86
+ </action>
87
+ </check>
88
+
89
+ <check if="retrospective context is NOT present (workflow invoked cold or standalone)">
90
+ <output>
91
+ ℹ️ **No retrospective session detected in this context.**
92
+
93
+ This workflow is designed to run after `/bmad-retrospective`, but it can also be used
94
+ standalone to capture any conventions or patterns you've observed.
95
+ </output>
96
+ <ask>
97
+ Briefly describe the patterns or conventions you want to add to Project-Specific Rules.
98
+ For example: "agents kept omitting error handling in async functions" or
99
+ "we decided all PRs need a test-plan section in the description".
100
+
101
+ You can also just say "run retrospective first" to cancel.
102
+ </ask>
103
+ <check if="user says 'run retrospective first' or equivalent cancel">
104
+ <output>
105
+ ℹ️ To get the most value, run `/bmad-retrospective` first, then invoke `/project-context-expansion`
106
+ at the end of that session. No changes made.
107
+ </output>
108
+ <action>Exit workflow</action>
109
+ </check>
110
+ <action>Store the user-described patterns as {{sprint_patterns}} and use them as the source
111
+ material for the proposal in the next action below.
112
+ </action>
113
+ </check>
114
+
115
+ <action>Based on the retrospective discussion OR user-described patterns, identify items that
116
+ should become standing rules for AI agents — specifically:
117
+ - Coding conventions agents got wrong or needed correction on during the sprint
118
+ - Patterns agents should consistently apply in this project
119
+ - Architectural decisions that agents must respect (and that are not obvious from the code)
120
+ - Testing or review conventions specific to this project
121
+ - Gotchas or anti-patterns agents kept producing that should be explicitly prohibited
122
+ - Workflow or communication rules specific to this team's practices
123
+ </action>
124
+
125
+ <action>Filter OUT anything that belongs in other sections:
126
+ - Technology Stack updates → belongs in `## Technology Stack` (use `/bmad-generate-project-context`)
127
+ - Mandatory pre-task rules → belongs in `## AI Agent Mandatory Rules` (set at install time)
128
+ - Do NOT propose changes to any section other than `## Project-Specific Rules`
129
+ </action>
130
+
131
+ <check if="no relevant patterns found from retrospective">
132
+ <output>
133
+ ℹ️ **No new rules to propose.**
134
+
135
+ Based on the retrospective discussion, no patterns were identified that would add value
136
+ as standing rules in `## Project-Specific Rules`. The section is already up to date.
137
+
138
+ If you noticed patterns the agents got wrong, you can manually edit
139
+ `_bmad-output/project-context.md` to add your own rules at any time.
140
+ </output>
141
+ <action>Exit workflow</action>
142
+ </check>
143
+
144
+ <action>Draft proposed additions as clear, imperative rules:
145
+ - Each rule is a single actionable statement (e.g., "Always use X when Y")
146
+ - Rules are specific enough to change agent behavior, not vague principles
147
+ - Each rule is distinct — no overlap with existing rules
148
+ - Store as {{proposed_additions}}
149
+ </action>
150
+
151
+ <output>
152
+ ## Proposed Additions to Project-Specific Rules
153
+
154
+ Based on patterns from this sprint's retrospective, here are the additions I recommend:
155
+
156
+ {{proposed_additions}}
157
+
158
+ ---
159
+
160
+ **Review these carefully.** These additions will be appended to `## Project-Specific Rules`
161
+ in `_bmad-output/project-context.md` and will govern all future AI agent sessions.
162
+ </output>
163
+
164
+ </step>
165
+
166
+ <step n="4" goal="Human review and confirmation gate">
167
+
168
+ <ask>
169
+ Review the proposed additions above.
170
+
171
+ Options:
172
+ - **[y] Accept all** — append all proposed additions as shown
173
+ - **[n] Reject all** — skip without any changes
174
+ - **[e] Edit** — describe which rules to add, remove, or reword before writing
175
+ </ask>
176
+
177
+ <check if="user selects 'n'">
178
+ <output>
179
+ ❌ **Expansion skipped.** No changes were made to `_bmad-output/project-context.md`.
180
+ </output>
181
+ <action>Exit workflow</action>
182
+ </check>
183
+
184
+ <check if="user selects 'e'">
185
+ <ask>Describe your edits — which rules to keep, drop, or reword:</ask>
186
+ <action>Apply user edits to {{proposed_additions}}</action>
187
+ <action>Re-display the revised proposal</action>
188
+ <ask>Proceed with this revised version? [y] Yes / [n] Cancel:</ask>
189
+ <check if="user selects 'n'">
190
+ <output>
191
+ ❌ **Expansion cancelled.** No changes were made to `_bmad-output/project-context.md`.
192
+ </output>
193
+ <action>Exit workflow</action>
194
+ </check>
195
+ </check>
196
+
197
+ </step>
198
+
199
+ <step n="5" goal="Write approved additions to Project-Specific Rules only">
200
+
201
+ <action>Read the current full contents of `_bmad-output/project-context.md` again (to ensure freshness)</action>
202
+
203
+ <action>Locate the `## Project-Specific Rules` section:
204
+ - Find the line starting with `## Project-Specific Rules`
205
+ - Identify the end of the section (next `##` header or end of file)
206
+ - Preserve all existing content in the section — do NOT remove or reorder existing rules
207
+ </action>
208
+
209
+ <action>Append the approved additions at the END of the `## Project-Specific Rules` section,
210
+ before the next `##` header. Insert a blank line separator if the section is not empty.
211
+ </action>
212
+
213
+ <action>CRITICAL CONSTRAINTS — do NOT touch any other section:
214
+ - Do NOT modify `## AI Agent Mandatory Rules`
215
+ - Do NOT modify `## Technology Stack`
216
+ - Do NOT modify any other section
217
+ - Do NOT reformat or reorganize the file
218
+ - Only append to `## Project-Specific Rules`
219
+ </action>
220
+
221
+ <action>Save the updated `_bmad-output/project-context.md`</action>
222
+
223
+ <output>
224
+ ✅ **Project-Specific Rules updated successfully!**
225
+
226
+ - **File:** `_bmad-output/project-context.md`
227
+ - **Rules added:** {{count_of_added_rules}}
228
+
229
+ The new rules will be active in all AI agent sessions that load `project-context.md`
230
+ via `critical_actions` (all BMAD agents load it automatically on activation).
231
+
232
+ **Next:** Commit `_bmad-output/project-context.md` to version control so the rules
233
+ are shared across the team and persist across sessions.
234
+ </output>
235
+
236
+ </step>
237
+
238
+ </workflow>
@@ -0,0 +1,3 @@
1
+ type: skill
2
+ name: project-context-expansion
3
+ module: ma-skills
File without changes
File without changes