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.
- package/AiAudit.md +7 -0
- package/README.md +78 -29
- package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +237 -0
- package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +339 -0
- package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +348 -0
- package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +383 -0
- package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +348 -0
- package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +385 -0
- package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +362 -0
- package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +477 -0
- package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +377 -0
- package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +301 -0
- package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +508 -0
- package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +455 -0
- package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +325 -0
- package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +403 -0
- package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +344 -0
- package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +279 -0
- package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +173 -0
- package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +129 -0
- package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +274 -0
- package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +186 -0
- package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +144 -0
- package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +132 -0
- package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +119 -0
- package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +162 -0
- package/_bmad-output/implementation-artifacts/deferred-work.md +9 -0
- package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +200 -0
- package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +172 -0
- package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +102 -0
- package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +119 -0
- package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +132 -0
- package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +111 -0
- package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +126 -0
- package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +137 -0
- package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +127 -0
- package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +129 -0
- package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +179 -0
- package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +138 -0
- package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +150 -0
- package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +128 -0
- package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +118 -0
- package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +132 -0
- package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +174 -0
- package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +183 -0
- package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +252 -0
- package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +232 -0
- package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +163 -0
- package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +133 -0
- package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +172 -0
- package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +342 -0
- package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +223 -0
- package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +180 -0
- package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +136 -0
- package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +137 -0
- package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +79 -0
- package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +110 -0
- package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +116 -0
- package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +109 -0
- package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +97 -0
- package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +125 -0
- package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +322 -0
- package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +264 -0
- package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +208 -0
- package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +209 -0
- package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +221 -0
- package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +273 -0
- package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +235 -0
- package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +285 -0
- package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +188 -0
- package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +211 -0
- package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +189 -0
- package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +184 -0
- package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +178 -0
- package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +136 -0
- package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +141 -0
- package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +145 -0
- package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +188 -0
- package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +219 -0
- package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +234 -0
- package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +274 -0
- package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +173 -0
- package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +131 -0
- package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +124 -0
- package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +187 -0
- package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +102 -0
- package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +126 -0
- package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +101 -0
- package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +73 -0
- package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +91 -0
- package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +113 -0
- package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +90 -0
- package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +53 -0
- package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +287 -0
- package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +49 -0
- package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +230 -0
- package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +37 -0
- package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +140 -0
- package/_bmad-output/implementation-artifacts/sprint-status.yaml +83 -0
- package/_bmad-output/methodology/BMAD_AI_Development_Training.pptx +0 -0
- package/_bmad-output/methodology/version.json +7 -0
- package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +508 -0
- package/_bmad-output/planning-artifacts/architecture.md +1619 -0
- package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +295 -0
- package/_bmad-output/planning-artifacts/epics.md +3287 -0
- package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +290 -0
- package/_bmad-output/planning-artifacts/prd.md +684 -0
- package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +214 -0
- package/_bmad-output/planning-artifacts/sprint-status-schema.md +506 -0
- package/_bmad-output/project-context.md +47 -0
- package/bin/cli.js +5 -4
- package/lib/agents.js +16 -1
- package/lib/bmad-extension/module-help.csv +27 -22
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +120 -152
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +170 -116
- package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-dev-story}/bmad-skill-manifest.yaml +1 -1
- package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/checklist.md +13 -13
- package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/workflow.md +103 -44
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +2 -1
- package/lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md +6 -0
- package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/bmad-sprint-planning}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/bmad-sprint-planning/checklist.md +74 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +372 -0
- package/lib/bmad-extension/skills/bmad-sprint-status/SKILL.md +6 -0
- package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/bmad-sprint-status}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +434 -0
- package/lib/bmad-extension/skills/cleanup-done/SKILL.md +154 -98
- package/lib/bmad-extension/skills/close-sprint/SKILL.md +379 -0
- package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/close-sprint}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
- package/lib/bmad-extension/skills/generate-backlog/SKILL.md +152 -140
- package/lib/bmad-extension/skills/mil498-requirement-quality/SKILL.md +105 -0
- package/lib/bmad-extension/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +4 -0
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +224 -235
- package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +157 -135
- package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +125 -104
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +153 -239
- package/lib/bmad-extension/workflows/add-sprint/workflow.md +119 -155
- package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +233 -3
- package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -181
- package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
- package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +165 -3
- package/mil498/README.md +4 -0
- package/out.txt +0 -0
- package/package.json +1 -1
- package/skills/add-sprint/SKILL.md +165 -0
- package/skills/add-sprint/skill.json +7 -0
- package/skills/add-to-sprint/SKILL.md +231 -0
- package/skills/add-to-sprint/skill.json +7 -0
- package/skills/bmad-sprint-planning/SKILL.md +321 -0
- package/skills/bmad-sprint-planning/skill.json +7 -0
- package/skills/bmad-sprint-status/SKILL.md +273 -0
- package/skills/bmad-sprint-status/skill.json +7 -0
- package/skills/cleanup-done/SKILL.md +203 -0
- package/skills/cleanup-done/skill.json +7 -0
- package/skills/close-sprint/SKILL.md +370 -0
- package/skills/close-sprint/skill.json +7 -0
- package/skills/generate-backlog/SKILL.md +178 -0
- package/skills/generate-backlog/skill.json +7 -0
- package/skills/modify-sprint/SKILL.md +302 -0
- package/skills/modify-sprint/skill.json +7 -0
- package/skills/prioritize-backlog/SKILL.md +203 -0
- package/skills/prioritize-backlog/skill.json +7 -0
- package/skills/remove-from-sprint/SKILL.md +174 -0
- package/skills/remove-from-sprint/skill.json +7 -0
- package/skills/sprint-status-view/SKILL.md +173 -0
- package/skills/sprint-status-view/skill.json +7 -0
- package/skills/story-status-lookup/SKILL.md +21 -6
- package/skills/story-status-lookup/skill.json +2 -2
- package/test/extension-module-restructure.test.js +12 -11
- package/test/migration-validation.test.js +10 -10
- package/.opencode/skills/.ma-agents.json +0 -122
- package/.opencode/skills/MANIFEST.yaml +0 -126
- package/.opencode/skills/add-sprint/SKILL.md +0 -207
- package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
- package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +0 -137
- package/.opencode/skills/bmad-advanced-elicitation/methods.csv +0 -51
- package/.opencode/skills/bmad-agent-analyst/SKILL.md +0 -56
- package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-architect/SKILL.md +0 -52
- package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-dev/SKILL.md +0 -62
- package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-pm/SKILL.md +0 -57
- package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-qa/SKILL.md +0 -59
- package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +0 -51
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-sm/SKILL.md +0 -53
- package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +0 -55
- package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +0 -20
- package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +0 -20
- package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +0 -19
- package/.opencode/skills/bmad-agent-tech-writer/write-document.md +0 -20
- package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +0 -53
- package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-brainstorming/SKILL.md +0 -6
- package/.opencode/skills/bmad-brainstorming/brain-methods.csv +0 -62
- package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +0 -214
- package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +0 -124
- package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +0 -229
- package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -239
- package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +0 -211
- package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -266
- package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +0 -401
- package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +0 -305
- package/.opencode/skills/bmad-brainstorming/template.md +0 -15
- package/.opencode/skills/bmad-brainstorming/workflow.md +0 -53
- package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +0 -6
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -179
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -168
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -169
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -129
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -241
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -126
- package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -4
- package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +0 -49
- package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +0 -31
- package/.opencode/skills/bmad-cis-design-thinking/template.md +0 -111
- package/.opencode/skills/bmad-cis-design-thinking/workflow.md +0 -242
- package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -31
- package/.opencode/skills/bmad-cis-innovation-strategy/template.md +0 -189
- package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +0 -315
- package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +0 -31
- package/.opencode/skills/bmad-cis-problem-solving/template.md +0 -165
- package/.opencode/skills/bmad-cis-problem-solving/workflow.md +0 -291
- package/.opencode/skills/bmad-cis-storytelling/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-storytelling/story-types.csv +0 -26
- package/.opencode/skills/bmad-cis-storytelling/template.md +0 -113
- package/.opencode/skills/bmad-cis-storytelling/workflow.md +0 -321
- package/.opencode/skills/bmad-code-review/SKILL.md +0 -6
- package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +0 -62
- package/.opencode/skills/bmad-code-review/steps/step-02-review.md +0 -34
- package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +0 -49
- package/.opencode/skills/bmad-code-review/steps/step-04-present.md +0 -129
- package/.opencode/skills/bmad-code-review/workflow.md +0 -55
- package/.opencode/skills/bmad-correct-course/SKILL.md +0 -6
- package/.opencode/skills/bmad-correct-course/checklist.md +0 -288
- package/.opencode/skills/bmad-correct-course/workflow.md +0 -267
- package/.opencode/skills/bmad-create-architecture/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +0 -12
- package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +0 -13
- package/.opencode/skills/bmad-create-architecture/data/project-types.csv +0 -7
- package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +0 -153
- package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +0 -173
- package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +0 -224
- package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +0 -329
- package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +0 -318
- package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +0 -359
- package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +0 -379
- package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +0 -359
- package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +0 -76
- package/.opencode/skills/bmad-create-architecture/workflow.md +0 -38
- package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -255
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -212
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -255
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -131
- package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +0 -61
- package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +0 -53
- package/.opencode/skills/bmad-create-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +0 -15
- package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +0 -197
- package/.opencode/skills/bmad-create-prd/data/project-types.csv +0 -11
- package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +0 -178
- package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
- package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +0 -208
- package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
- package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
- package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +0 -214
- package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
- package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +0 -194
- package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
- package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
- package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +0 -216
- package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +0 -219
- package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
- package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +0 -221
- package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +0 -115
- package/.opencode/skills/bmad-create-prd/templates/prd-template.md +0 -10
- package/.opencode/skills/bmad-create-prd/workflow.md +0 -62
- package/.opencode/skills/bmad-create-story/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-story/checklist.md +0 -357
- package/.opencode/skills/bmad-create-story/discover-inputs.md +0 -88
- package/.opencode/skills/bmad-create-story/template.md +0 -49
- package/.opencode/skills/bmad-create-story/workflow.md +0 -380
- package/.opencode/skills/bmad-create-ux-design/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +0 -135
- package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +0 -127
- package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +0 -190
- package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +0 -217
- package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -220
- package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +0 -235
- package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +0 -253
- package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -255
- package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -225
- package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +0 -225
- package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -242
- package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -249
- package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -238
- package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -265
- package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +0 -171
- package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +0 -13
- package/.opencode/skills/bmad-create-ux-design/workflow.md +0 -36
- package/.opencode/skills/bmad-distillator/SKILL.md +0 -178
- package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +0 -116
- package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +0 -68
- package/.opencode/skills/bmad-distillator/resources/compression-rules.md +0 -51
- package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +0 -227
- package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +0 -78
- package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +0 -300
- package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -204
- package/.opencode/skills/bmad-document-project/SKILL.md +0 -6
- package/.opencode/skills/bmad-document-project/checklist.md +0 -245
- package/.opencode/skills/bmad-document-project/documentation-requirements.csv +0 -12
- package/.opencode/skills/bmad-document-project/instructions.md +0 -128
- package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +0 -345
- package/.opencode/skills/bmad-document-project/templates/index-template.md +0 -169
- package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +0 -103
- package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +0 -160
- package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +0 -135
- package/.opencode/skills/bmad-document-project/workflow.md +0 -27
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +0 -299
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +0 -34
- package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +0 -1107
- package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +0 -34
- package/.opencode/skills/bmad-domain-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +0 -137
- package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
- package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
- package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
- package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
- package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -444
- package/.opencode/skills/bmad-domain-research/research.template.md +0 -29
- package/.opencode/skills/bmad-domain-research/workflow.md +0 -49
- package/.opencode/skills/bmad-edit-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
- package/.opencode/skills/bmad-edit-prd/workflow.md +0 -63
- package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +0 -86
- package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +0 -179
- package/.opencode/skills/bmad-generate-project-context/SKILL.md +0 -6
- package/.opencode/skills/bmad-generate-project-context/project-context-template.md +0 -21
- package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +0 -186
- package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +0 -321
- package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +0 -278
- package/.opencode/skills/bmad-generate-project-context/workflow.md +0 -43
- package/.opencode/skills/bmad-help/SKILL.md +0 -73
- package/.opencode/skills/bmad-index-docs/SKILL.md +0 -66
- package/.opencode/skills/bmad-init/SKILL.md +0 -100
- package/.opencode/skills/bmad-init/resources/core-module.yaml +0 -25
- package/.opencode/skills/bmad-init/scripts/bmad_init.py +0 -593
- package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +0 -329
- package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +0 -53
- package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +0 -59
- package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-market-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-market-research/research.template.md +0 -29
- package/.opencode/skills/bmad-market-research/steps/step-01-init.md +0 -184
- package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
- package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
- package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
- package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
- package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +0 -478
- package/.opencode/skills/bmad-market-research/workflow.md +0 -49
- package/.opencode/skills/bmad-party-mode/SKILL.md +0 -6
- package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +0 -138
- package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -187
- package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +0 -167
- package/.opencode/skills/bmad-party-mode/workflow.md +0 -190
- package/.opencode/skills/bmad-product-brief/SKILL.md +0 -87
- package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +0 -60
- package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
- package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
- package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +0 -49
- package/.opencode/skills/bmad-product-brief/bmad-manifest.json +0 -17
- package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +0 -57
- package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +0 -86
- package/.opencode/skills/bmad-product-brief/prompts/finalize.md +0 -75
- package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +0 -70
- package/.opencode/skills/bmad-product-brief/resources/brief-template.md +0 -60
- package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +0 -6
- package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +0 -33
- package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +0 -136
- package/.opencode/skills/bmad-quick-dev/SKILL.md +0 -6
- package/.opencode/skills/bmad-quick-dev/spec-template.md +0 -88
- package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +0 -64
- package/.opencode/skills/bmad-quick-dev/step-02-plan.md +0 -35
- package/.opencode/skills/bmad-quick-dev/step-03-implement.md +0 -37
- package/.opencode/skills/bmad-quick-dev/step-04-review.md +0 -49
- package/.opencode/skills/bmad-quick-dev/step-05-present.md +0 -63
- package/.opencode/skills/bmad-quick-dev/step-oneshot.md +0 -49
- package/.opencode/skills/bmad-quick-dev/workflow.md +0 -79
- package/.opencode/skills/bmad-retrospective/SKILL.md +0 -6
- package/.opencode/skills/bmad-retrospective/workflow.md +0 -1479
- package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +0 -37
- package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +0 -67
- package/.opencode/skills/bmad-shard-doc/SKILL.md +0 -105
- package/.opencode/skills/bmad-sprint-planning/SKILL.md +0 -6
- package/.opencode/skills/bmad-sprint-planning/checklist.md +0 -33
- package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +0 -56
- package/.opencode/skills/bmad-sprint-planning/workflow.md +0 -263
- package/.opencode/skills/bmad-sprint-status/SKILL.md +0 -6
- package/.opencode/skills/bmad-sprint-status/workflow.md +0 -261
- package/.opencode/skills/bmad-technical-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-technical-research/research.template.md +0 -29
- package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +0 -137
- package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
- package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
- package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
- package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
- package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -487
- package/.opencode/skills/bmad-technical-research/workflow.md +0 -50
- package/.opencode/skills/bmad-validate-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +0 -15
- package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +0 -197
- package/.opencode/skills/bmad-validate-prd/data/project-types.csv +0 -11
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -229
- package/.opencode/skills/bmad-validate-prd/workflow.md +0 -62
- package/.opencode/skills/cleanup-done/.gitkeep +0 -0
- package/.opencode/skills/cleanup-done/SKILL.md +0 -159
- package/.opencode/skills/create-bug-story/.gitkeep +0 -0
- package/.opencode/skills/create-bug-story/SKILL.md +0 -263
- package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
- package/.opencode/skills/cyber-generate-certs/SKILL.md +0 -27
- package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
- package/.opencode/skills/cyber-immunity-estimation/SKILL.md +0 -29
- package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
- package/.opencode/skills/cyber-security-audit/SKILL.md +0 -27
- package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
- package/.opencode/skills/cyber-vault-secrets/SKILL.md +0 -28
- package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-docker-users/SKILL.md +0 -23
- package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-image-signature/SKILL.md +0 -22
- package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
- package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +0 -28
- package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
- package/.opencode/skills/devops-configure-infrastructure/SKILL.md +0 -27
- package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
- package/.opencode/skills/devops-disconnected-deployment/SKILL.md +0 -27
- package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
- package/.opencode/skills/devops-docker-compose-setup/SKILL.md +0 -26
- package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
- package/.opencode/skills/devops-manage-helm/SKILL.md +0 -28
- package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
- package/.opencode/skills/devops-sign-docker-image/SKILL.md +0 -24
- package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/generate-backlog/.gitkeep +0 -0
- package/.opencode/skills/generate-backlog/SKILL.md +0 -183
- package/.opencode/skills/generate-backlog/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/git-workflow-skill/SKILL.md +0 -194
- package/.opencode/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.opencode/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.opencode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.opencode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.opencode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.opencode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.opencode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.opencode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.opencode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.opencode/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.opencode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.opencode/skills/logging-best-practices/SKILL.md +0 -50
- package/.opencode/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.opencode/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.opencode/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.opencode/skills/logging-best-practices/examples/python.md +0 -57
- package/.opencode/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ocd/SKILL.md +0 -30
- package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +0 -26
- package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +0 -90
- package/.opencode/skills/mil498-ocd/prompts/04-validate.md +0 -14
- package/.opencode/skills/mil498-ocd/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-ocd/prompts/06-save.md +0 -15
- package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdd/SKILL.md +0 -30
- package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +0 -50
- package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +0 -98
- package/.opencode/skills/mil498-sdd/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-sdd/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sdd/prompts/06-save.md +0 -19
- package/.opencode/skills/mil498-sdd/template.md +0 -163
- package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdp/SKILL.md +0 -30
- package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +0 -32
- package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +0 -187
- package/.opencode/skills/mil498-sdp/prompts/04-validate.md +0 -13
- package/.opencode/skills/mil498-sdp/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sdp/prompts/06-save.md +0 -14
- package/.opencode/skills/mil498-srs/.gitkeep +0 -0
- package/.opencode/skills/mil498-srs/SKILL.md +0 -30
- package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +0 -42
- package/.opencode/skills/mil498-srs/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +0 -100
- package/.opencode/skills/mil498-srs/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-srs/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-srs/prompts/06-save.md +0 -18
- package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ssdd/SKILL.md +0 -32
- package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +0 -32
- package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +0 -43
- package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +0 -96
- package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +0 -14
- package/.opencode/skills/mil498-ssdd/prompts/06-review.md +0 -16
- package/.opencode/skills/mil498-ssdd/prompts/07-save.md +0 -16
- package/.opencode/skills/mil498-sss/.gitkeep +0 -0
- package/.opencode/skills/mil498-sss/SKILL.md +0 -31
- package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +0 -31
- package/.opencode/skills/mil498-sss/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +0 -108
- package/.opencode/skills/mil498-sss/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-sss/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sss/prompts/06-save.md +0 -15
- package/.opencode/skills/mil498-std/.gitkeep +0 -0
- package/.opencode/skills/mil498-std/SKILL.md +0 -30
- package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +0 -42
- package/.opencode/skills/mil498-std/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-std/prompts/03-generate-document.md +0 -117
- package/.opencode/skills/mil498-std/prompts/04-validate.md +0 -15
- package/.opencode/skills/mil498-std/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-std/prompts/06-save.md +0 -15
- package/.opencode/skills/ml-advise/.gitkeep +0 -0
- package/.opencode/skills/ml-advise/SKILL.md +0 -76
- package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-advise/skill.json +0 -7
- package/.opencode/skills/ml-analysis/.gitkeep +0 -0
- package/.opencode/skills/ml-analysis/SKILL.md +0 -60
- package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-analysis/skill.json +0 -7
- package/.opencode/skills/ml-architecture/.gitkeep +0 -0
- package/.opencode/skills/ml-architecture/SKILL.md +0 -55
- package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-architecture/skill.json +0 -7
- package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
- package/.opencode/skills/ml-detailed-design/SKILL.md +0 -67
- package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-detailed-design/skill.json +0 -7
- package/.opencode/skills/ml-eda/.gitkeep +0 -0
- package/.opencode/skills/ml-eda/SKILL.md +0 -56
- package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +0 -522
- package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
- package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +0 -383
- package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +0 -654
- package/.opencode/skills/ml-eda/skill.json +0 -7
- package/.opencode/skills/ml-experiment/.gitkeep +0 -0
- package/.opencode/skills/ml-experiment/SKILL.md +0 -74
- package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
- package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
- package/.opencode/skills/ml-experiment/assets/template_datamodule.py +0 -219
- package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +0 -341
- package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +0 -158
- package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-experiment/skill.json +0 -7
- package/.opencode/skills/ml-hparam/.gitkeep +0 -0
- package/.opencode/skills/ml-hparam/SKILL.md +0 -81
- package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-hparam/skill.json +0 -7
- package/.opencode/skills/ml-ideation/.gitkeep +0 -0
- package/.opencode/skills/ml-ideation/SKILL.md +0 -50
- package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
- package/.opencode/skills/ml-ideation/skill.json +0 -7
- package/.opencode/skills/ml-infra/.gitkeep +0 -0
- package/.opencode/skills/ml-infra/SKILL.md +0 -58
- package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-infra/skill.json +0 -7
- package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
- package/.opencode/skills/ml-retrospective/SKILL.md +0 -63
- package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-retrospective/skill.json +0 -7
- package/.opencode/skills/ml-revision/.gitkeep +0 -0
- package/.opencode/skills/ml-revision/SKILL.md +0 -82
- package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-revision/skill.json +0 -7
- package/.opencode/skills/ml-techspec/.gitkeep +0 -0
- package/.opencode/skills/ml-techspec/SKILL.md +0 -80
- package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-techspec/skill.json +0 -7
- package/.opencode/skills/modify-sprint/.gitkeep +0 -0
- package/.opencode/skills/modify-sprint/SKILL.md +0 -322
- package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/open-presentation/SKILL.md +0 -35
- package/.opencode/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.opencode/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.opencode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.opencode/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.opencode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
- package/.opencode/skills/prioritize-backlog/SKILL.md +0 -195
- package/.opencode/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
- package/.opencode/skills/project-context-expansion/SKILL.md +0 -238
- package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/python-best-practices/SKILL.md +0 -385
- package/.opencode/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.opencode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.opencode/skills/python-security-skill/SKILL.md +0 -56
- package/.opencode/skills/python-security-skill/examples/security.md +0 -56
- package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
- package/.opencode/skills/remove-from-sprint/SKILL.md +0 -163
- package/.opencode/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/self-signed-cert/SKILL.md +0 -42
- package/.opencode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.opencode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.opencode/skills/skill-creator/SKILL.md +0 -196
- package/.opencode/skills/skill-creator/references/output-patterns.md +0 -82
- package/.opencode/skills/skill-creator/references/workflows.md +0 -28
- package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
- package/.opencode/skills/sprint-status-view/SKILL.md +0 -263
- package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-deployment-status/SKILL.md +0 -32
- package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
- package/.opencode/skills/sre-check-secrets/SKILL.md +0 -23
- package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-system-status/SKILL.md +0 -27
- package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
- package/.opencode/skills/sre-day-2-ops/SKILL.md +0 -26
- package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
- package/.opencode/skills/sre-deployment-strategies/SKILL.md +0 -28
- package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
- package/.opencode/skills/sre-fix-deployments/SKILL.md +0 -25
- package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
- package/.opencode/skills/sre-gitops-status/SKILL.md +0 -25
- package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/story-status-lookup/SKILL.md +0 -78
- package/.opencode/skills/test-accompanied-development/SKILL.md +0 -50
- package/.opencode/skills/test-generator/SKILL.md +0 -65
- package/.opencode/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.opencode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.opencode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.roo/rules/00-ma-agents.md +0 -13
- package/.roo/skills/.ma-agents.json +0 -122
- package/.roo/skills/MANIFEST.yaml +0 -126
- package/.roo/skills/git-workflow-skill/SKILL.md +0 -194
- package/.roo/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.roo/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.roo/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.roo/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.roo/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.roo/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.roo/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.roo/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.roo/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.roo/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.roo/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.roo/skills/logging-best-practices/SKILL.md +0 -50
- package/.roo/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.roo/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.roo/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.roo/skills/logging-best-practices/examples/python.md +0 -57
- package/.roo/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.roo/skills/open-presentation/SKILL.md +0 -35
- package/.roo/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.roo/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.roo/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.roo/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.roo/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.roo/skills/python-best-practices/SKILL.md +0 -385
- package/.roo/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.roo/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.roo/skills/python-security-skill/SKILL.md +0 -56
- package/.roo/skills/python-security-skill/examples/security.md +0 -56
- package/.roo/skills/self-signed-cert/SKILL.md +0 -42
- package/.roo/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.roo/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.roo/skills/skill-creator/SKILL.md +0 -196
- package/.roo/skills/skill-creator/references/output-patterns.md +0 -82
- package/.roo/skills/skill-creator/references/workflows.md +0 -28
- package/.roo/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.roo/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.roo/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.roo/skills/story-status-lookup/SKILL.md +0 -78
- package/.roo/skills/test-accompanied-development/SKILL.md +0 -50
- package/.roo/skills/test-generator/SKILL.md +0 -65
- package/.roo/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.roo/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.roo/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/opencode.json +0 -5
- /package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/bmad-dev-story}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/SKILL.md +0 -0
- /package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-sprint-planning}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-cyber → lib/bmad-extension/skills/bmad-sprint-status}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-devops → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
- /package/{.opencode/skills/mil498-ocd/template.md → mil498/OCD.md} +0 -0
- /package/{.opencode/skills/mil498-sdp/template.md → mil498/SDP.md} +0 -0
- /package/{.opencode/skills/mil498-srs/template.md → mil498/SRS.md} +0 -0
- /package/{.opencode/skills/mil498-ssdd/template.md → mil498/SSDD.md} +0 -0
- /package/{.opencode/skills/mil498-sss/template.md → mil498/SSS.md} +0 -0
- /package/{.opencode/skills/mil498-std/template.md → mil498/STD.md} +0 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# Add-to-Sprint Skill
|
|
2
|
+
|
|
3
|
+
Guided workflow to move backlog items to a sprint in the unified `sprint-status.yaml` using movement semantics.
|
|
4
|
+
|
|
5
|
+
**Movement semantics:** Each item exists in exactly one location — either the `backlog` array OR a sprint's `items` array, never both. This skill atomically removes items from `backlog` and appends them to the target sprint's `items` array in a single file write.
|
|
6
|
+
|
|
7
|
+
<workflow>
|
|
8
|
+
|
|
9
|
+
<step n="0" goal="Load configuration and validate file existence">
|
|
10
|
+
<action>Locate `sprint-status.yaml` at `_bmad-output/implementation-artifacts/sprint-status.yaml`</action>
|
|
11
|
+
<check if="file does not exist">
|
|
12
|
+
<output>❌ No sprint-status.yaml found. Run sprint planning first to initialize the file (e.g., `/bmad-sprint-planning`).</output>
|
|
13
|
+
<action>Exit workflow</action>
|
|
14
|
+
</check>
|
|
15
|
+
<action>Read and parse the full file: `epics`, `backlog`, and `sprints` sections plus metadata fields</action>
|
|
16
|
+
<action>Store the complete parsed document as {{sprint_status}} for atomic write-back later</action>
|
|
17
|
+
</step>
|
|
18
|
+
|
|
19
|
+
<step n="1" goal="Identify assignable sprints">
|
|
20
|
+
<action>Parse the `sprints` map from {{sprint_status}}</action>
|
|
21
|
+
<action>Filter to sprints with `status: planning` or `status: active` — exclude `status: closed` sprints</action>
|
|
22
|
+
<check if="no assignable sprints remain (all sprints are closed or sprints map is empty)">
|
|
23
|
+
<output>❌ No assignable sprints found. Run `/add-sprint` first to create a sprint before assigning items.</output>
|
|
24
|
+
<action>Exit workflow</action>
|
|
25
|
+
</check>
|
|
26
|
+
<check if="exactly one assignable sprint">
|
|
27
|
+
<action>Auto-select it as {{target_sprint}} (skip selection prompt)</action>
|
|
28
|
+
<output>ℹ️ Auto-selected the only assignable sprint: **{{target_sprint.name}}** ({{target_sprint.status}})</output>
|
|
29
|
+
</check>
|
|
30
|
+
<check if="multiple assignable sprints">
|
|
31
|
+
<action>Build a sprint selection table from the assignable sprints</action>
|
|
32
|
+
<output>
|
|
33
|
+
## Available Sprints
|
|
34
|
+
|
|
35
|
+
| # | Sprint | Status | Capacity | Assigned | Remaining |
|
|
36
|
+
|---|--------|--------|----------|----------|-----------|
|
|
37
|
+
{{#each assignable_sprints}}
|
|
38
|
+
| {{@index+1}} | {{name}} | {{status}} | {{capacity}} | {{items.length}} | {{capacity - items.length}} |
|
|
39
|
+
{{/each}}
|
|
40
|
+
</output>
|
|
41
|
+
<ask>Select target sprint (enter number):</ask>
|
|
42
|
+
<action>Resolve entered number to the corresponding sprint entry and store as {{target_sprint}} (the sprint's map key and full sprint object)</action>
|
|
43
|
+
</check>
|
|
44
|
+
</step>
|
|
45
|
+
|
|
46
|
+
<step n="2" goal="Display backlog items eligible for sprint assignment">
|
|
47
|
+
<action>Read the `backlog` array from {{sprint_status}}</action>
|
|
48
|
+
<action>Filter to items with `status: ready-for-dev` ONLY — schema section 4.5 movement rules require this status for sprint assignment</action>
|
|
49
|
+
<check if="no ready-for-dev items exist in the backlog">
|
|
50
|
+
<output>❌ No items eligible for sprint assignment. Items must have `status: ready-for-dev` to be added to a sprint. Items with `status: backlog` must first have a story file created (which advances them to `ready-for-dev`).</output>
|
|
51
|
+
<action>Exit workflow</action>
|
|
52
|
+
</check>
|
|
53
|
+
<action>Display eligible backlog items in priority order (array order = priority order, position 0 = highest priority)</action>
|
|
54
|
+
<output>
|
|
55
|
+
## Backlog Items (eligible for sprint assignment)
|
|
56
|
+
|
|
57
|
+
| # | ID | Title | Type | Epic | Severity |
|
|
58
|
+
|---|-----|-------|------|------|----------|
|
|
59
|
+
{{#each eligible_backlog_items}}
|
|
60
|
+
| {{@index+1}} | {{id}} | {{title}} | {{type}} | {{epic}} | {{severity}} |
|
|
61
|
+
{{/each}}
|
|
62
|
+
|
|
63
|
+
*Total eligible: {{eligible_count}} items (status: ready-for-dev)*
|
|
64
|
+
</output>
|
|
65
|
+
</step>
|
|
66
|
+
|
|
67
|
+
<step n="3" goal="Display sprint capacity">
|
|
68
|
+
<action>Calculate capacity usage: current assigned count = `{{target_sprint.items.length}}`</action>
|
|
69
|
+
<action>Calculate remaining = `{{target_sprint.capacity}} - {{target_sprint.items.length}}`</action>
|
|
70
|
+
<output>
|
|
71
|
+
## Sprint Capacity: {{target_sprint.name}}
|
|
72
|
+
|
|
73
|
+
- **Capacity:** {{target_sprint.capacity}} items
|
|
74
|
+
- **Assigned:** {{target_sprint.items.length}} items
|
|
75
|
+
- **Remaining:** {{remaining_capacity}} slots
|
|
76
|
+
|
|
77
|
+
{{#if remaining_capacity <= 0}}
|
|
78
|
+
⚠️ This sprint is **at or over capacity**. Adding items will exceed the limit.
|
|
79
|
+
{{/if}}
|
|
80
|
+
</output>
|
|
81
|
+
</step>
|
|
82
|
+
|
|
83
|
+
<step n="4" goal="Select candidate items for this sprint">
|
|
84
|
+
<ask>Which backlog items do you want to consider for this sprint? Enter item numbers (comma-separated), or "all" to evaluate the full eligible backlog:</ask>
|
|
85
|
+
<check if="user enters 'all'">
|
|
86
|
+
<action>Set {{candidate_items}} = all items from the eligible backlog list displayed in step 2</action>
|
|
87
|
+
</check>
|
|
88
|
+
<check if="user enters item numbers">
|
|
89
|
+
<action>Resolve the entered numbers against the eligible backlog table from step 2</action>
|
|
90
|
+
<action>Validate all entered numbers correspond to displayed items — report error for any invalid numbers</action>
|
|
91
|
+
<action>Set {{candidate_items}} = those specific items</action>
|
|
92
|
+
</check>
|
|
93
|
+
</step>
|
|
94
|
+
|
|
95
|
+
<step n="5" goal="Multi-criteria prioritization analysis">
|
|
96
|
+
<action>For each item in {{candidate_items}}, evaluate and score across criteria:
|
|
97
|
+
- **Business value:** High (H) / Medium (M) / Low (L) — impact on users or project goals
|
|
98
|
+
- **Dependency status:** Blocked (blocked by another item) / Blocking (blocks other items) / Independent
|
|
99
|
+
- **Severity** (bugs only): Critical / High / Medium / Low — N/A for stories
|
|
100
|
+
- **Effort estimation:** Small (S ≤ 1 day) / Medium (M 2–3 days) / Large (L 4+ days)
|
|
101
|
+
</action>
|
|
102
|
+
<action>Generate a ranked ordering recommendation, factoring in:
|
|
103
|
+
1. Blocking dependencies first (items that unlock others)
|
|
104
|
+
2. High business value + low/medium effort (quick wins)
|
|
105
|
+
3. Critical/High bugs ahead of Medium/Low bugs
|
|
106
|
+
4. Avoid blocked items unless capacity allows waiting
|
|
107
|
+
</action>
|
|
108
|
+
<output>
|
|
109
|
+
## Prioritization Analysis
|
|
110
|
+
|
|
111
|
+
| Rank | ID | Title | Type | Business Value | Dependencies | Severity | Effort | Rationale |
|
|
112
|
+
|------|----|-------|------|----------------|--------------|----------|--------|-----------|
|
|
113
|
+
{{#each ranked_items}}
|
|
114
|
+
| {{rank}} | {{id}} | {{title}} | {{type}} | {{business_value}} | {{dependency_status}} | {{severity}} | {{effort}} | {{rationale}} |
|
|
115
|
+
{{/each}}
|
|
116
|
+
|
|
117
|
+
**Recommended selection** (up to {{remaining_capacity}} items to stay within capacity): {{recommended_selection}}
|
|
118
|
+
</output>
|
|
119
|
+
</step>
|
|
120
|
+
|
|
121
|
+
<step n="6" goal="User confirms or adjusts selection">
|
|
122
|
+
<ask>Review the ranking above. Options:
|
|
123
|
+
- [c] Confirm recommended selection as-is
|
|
124
|
+
- [m] Modify selection (specify item numbers to include)
|
|
125
|
+
- [r] Re-rank items (provide new priority order)
|
|
126
|
+
- [x] Cancel without assigning
|
|
127
|
+
|
|
128
|
+
Choice:</ask>
|
|
129
|
+
<check if="user selects 'x'">
|
|
130
|
+
<output>❌ Assignment cancelled — no changes made.</output>
|
|
131
|
+
<action>Exit workflow</action>
|
|
132
|
+
</check>
|
|
133
|
+
<check if="user selects 'm'">
|
|
134
|
+
<ask>Enter item numbers to assign (comma-separated):</ask>
|
|
135
|
+
<action>Resolve entered numbers against the eligible backlog table from step 2</action>
|
|
136
|
+
<action>Set {{confirmed_items}} = those specific items</action>
|
|
137
|
+
</check>
|
|
138
|
+
<check if="user selects 'r'">
|
|
139
|
+
<ask>Enter item numbers in your preferred priority order (comma-separated). Only items you include will be assigned — items not listed will be excluded from this session and remain in the backlog:</ask>
|
|
140
|
+
<action>Set {{confirmed_items}} = items matching the user-provided numbers, in the order provided. Items from {{candidate_items}} NOT mentioned are excluded from this session (they remain in the backlog for future sprints).</action>
|
|
141
|
+
</check>
|
|
142
|
+
<check if="user selects 'c'">
|
|
143
|
+
<action>Set {{confirmed_items}} = recommended selection from step 5</action>
|
|
144
|
+
</check>
|
|
145
|
+
<action>Store confirmed ranking in {{confirmed_ranking}} for the audit record</action>
|
|
146
|
+
</step>
|
|
147
|
+
|
|
148
|
+
<step n="7" goal="Execute movement with capacity enforcement">
|
|
149
|
+
<action>Initialize {{current_sprint_count}} = {{target_sprint.items.length}} (current assigned count before any additions this session)</action>
|
|
150
|
+
<action>Initialize {{items_to_move}} = [] (items confirmed for movement)</action>
|
|
151
|
+
<action>For each item in {{confirmed_items}}, in confirmed ranking order:</action>
|
|
152
|
+
<check if="adding this item would exceed sprint capacity (current_sprint_count + 1 > target_sprint.capacity)">
|
|
153
|
+
<output>⚠️ **Capacity Warning:** Adding "{{item.title}}" would bring assigned items to {{current_sprint_count + 1}}/{{target_sprint.capacity}} — exceeding sprint capacity by {{current_sprint_count + 1 - target_sprint.capacity}}.</output>
|
|
154
|
+
<ask>Options:
|
|
155
|
+
- [a] Add anyway (over-capacity acknowledged)
|
|
156
|
+
- [s] Skip this item (leave in backlog)
|
|
157
|
+
- [m] Exit to run `/modify-sprint` to increase capacity first
|
|
158
|
+
|
|
159
|
+
Choice:</ask>
|
|
160
|
+
<check if="user selects 's'">
|
|
161
|
+
<action>Skip this item — do NOT add to {{items_to_move}}. Continue to next item.</action>
|
|
162
|
+
</check>
|
|
163
|
+
<check if="user selects 'm'">
|
|
164
|
+
<output>💡 Run `/modify-sprint` to increase capacity for **{{target_sprint.name}}**, then re-run `/add-to-sprint`.</output>
|
|
165
|
+
<action>Exit workflow without making any changes</action>
|
|
166
|
+
</check>
|
|
167
|
+
<check if="user selects 'a'">
|
|
168
|
+
<action>Add to {{items_to_move}} and increment {{current_sprint_count}}</action>
|
|
169
|
+
</check>
|
|
170
|
+
</check>
|
|
171
|
+
<check if="item is within capacity">
|
|
172
|
+
<action>Add to {{items_to_move}} and increment {{current_sprint_count}}</action>
|
|
173
|
+
</check>
|
|
174
|
+
</step>
|
|
175
|
+
|
|
176
|
+
<step n="8" goal="Atomic write — persist all movements to sprint-status.yaml">
|
|
177
|
+
<action>If {{items_to_move}} is empty (all items were skipped or cancelled), exit without writing.</action>
|
|
178
|
+
|
|
179
|
+
<action>**Pre-write: single-location invariant check.** Build {{all_sprint_item_ids}} = flat set of all item IDs across ALL sprints in {{sprint_status}}.sprints (every sprint, every status). For each item in {{items_to_move}}: check if its ID exists in {{all_sprint_item_ids}}. If ANY match is found:
|
|
180
|
+
<output>**Error:** Data integrity violation — item {{item.id}} already exists in a sprint. Aborting to prevent duplicate. The sprint-status.yaml file may be corrupted. No changes have been written.</output>
|
|
181
|
+
<action>Exit workflow without writing</action>
|
|
182
|
+
</action>
|
|
183
|
+
|
|
184
|
+
<action>**Pre-write: backlog re-validation.** Build {{current_backlog_ids}} = set of all item IDs currently in {{sprint_status}}.backlog. For each item in {{items_to_move}}: check if its ID exists in {{current_backlog_ids}}. If ANY item is missing:
|
|
185
|
+
<output>**Error:** Item {{item.id}} was selected for sprint assignment but is no longer in the backlog. The file may have been modified externally. No changes have been written. Please re-run `/add-to-sprint` to start fresh.</output>
|
|
186
|
+
<action>Exit workflow without writing</action>
|
|
187
|
+
</action>
|
|
188
|
+
|
|
189
|
+
<action>Perform ALL of the following in a single atomic write to `sprint-status.yaml`:</action>
|
|
190
|
+
<action>1. For each item in {{items_to_move}}:
|
|
191
|
+
- Build the sprint item object: copy `id`, `type`, `epic`, `title`, `status`, `severity` from the backlog item — DROP the `priority` field (sprint items do not have priority)
|
|
192
|
+
- APPEND the sprint item object to `sprints[{{target_sprint_key}}].items`
|
|
193
|
+
- REMOVE the original item object from the `backlog` array
|
|
194
|
+
</action>
|
|
195
|
+
<action>2. Renumber remaining backlog items' `priority` values sequentially (1..N) to match their new array positions (position 0 → priority 1, position 1 → priority 2, etc.)</action>
|
|
196
|
+
<action>3. Update `last_updated` to the current ISO-8601 timestamp</action>
|
|
197
|
+
<action>4. Preserve `generated`, `epics`, and all other metadata fields unchanged</action>
|
|
198
|
+
<action>5. Write the complete updated `sprint-status.yaml` in a single write operation (all removals + additions + renumbering happen together — no partial state)</action>
|
|
199
|
+
</step>
|
|
200
|
+
|
|
201
|
+
<step n="9" goal="Display summary">
|
|
202
|
+
<output>
|
|
203
|
+
## Assignment Complete
|
|
204
|
+
|
|
205
|
+
**Sprint:** {{target_sprint.name}}
|
|
206
|
+
**Items assigned this session:** {{items_to_move.length}}
|
|
207
|
+
|
|
208
|
+
| # | ID | Title | Type |
|
|
209
|
+
|---|----|-------|------|
|
|
210
|
+
{{#each items_to_move}}
|
|
211
|
+
| {{@index+1}} | {{id}} | {{title}} | {{type}} |
|
|
212
|
+
{{/each}}
|
|
213
|
+
|
|
214
|
+
### Confirmed Ranking (Audit Record)
|
|
215
|
+
|
|
216
|
+
| Rank | ID | Title | Type | Business Value | Dependencies | Severity | Effort |
|
|
217
|
+
|------|----|-------|------|----------------|--------------|----------|--------|
|
|
218
|
+
{{#each confirmed_ranking}}
|
|
219
|
+
| {{rank}} | {{id}} | {{title}} | {{type}} | {{business_value}} | {{dependency_status}} | {{severity}} | {{effort}} |
|
|
220
|
+
{{/each}}
|
|
221
|
+
|
|
222
|
+
**Updated Capacity:** {{current_sprint_count}}/{{target_sprint.capacity}} items used ({{target_sprint.capacity - current_sprint_count}} remaining)
|
|
223
|
+
|
|
224
|
+
**Next Steps:**
|
|
225
|
+
- Use `/remove-from-sprint` to move items back to backlog if needed
|
|
226
|
+
- Use `/modify-sprint` to adjust capacity or sprint metadata
|
|
227
|
+
- Use `/sprint-status-view` to view the full sprint with all assigned items
|
|
228
|
+
</output>
|
|
229
|
+
</step>
|
|
230
|
+
|
|
231
|
+
</workflow>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "add-to-sprint",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Guided workflow to move backlog items to a sprint in the unified sprint-status.yaml using movement semantics",
|
|
5
|
+
"category": "workflow",
|
|
6
|
+
"tags": ["sprint-management", "backlog", "movement-semantics"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-sprint-planning
|
|
3
|
+
description: 'Bootstrap or update the unified sprint-status.yaml from epics. Creates the file with three sections (epics, backlog, sprints) on first run; refreshes epics and adds new items on subsequent runs.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sprint Planning Skill
|
|
7
|
+
|
|
8
|
+
**Goal:** Bootstrap or refresh the unified `sprint-status.yaml` from epics, building a complete three-section file (`epics`, `backlog`, `sprints`).
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are a Scrum Master bootstrapping or refreshing sprint tracking. Parse epic files, scan bugs, detect story statuses, and produce or update a structured `sprint-status.yaml` with the unified schema.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## INITIALIZATION
|
|
15
|
+
|
|
16
|
+
### Path Resolution
|
|
17
|
+
|
|
18
|
+
Resolve project root as the directory containing `_bmad-output/`. Then set:
|
|
19
|
+
|
|
20
|
+
- `implementation_artifacts` = `_bmad-output/implementation-artifacts`
|
|
21
|
+
- `planning_artifacts` = `_bmad-output/planning-artifacts`
|
|
22
|
+
- `status_file` = `_bmad-output/implementation-artifacts/sprint-status.yaml`
|
|
23
|
+
- `done_folder` = `_bmad-output/implementation-artifacts/done/`
|
|
24
|
+
- `story_location` = `_bmad-output/implementation-artifacts`
|
|
25
|
+
|
|
26
|
+
Attempt to read project name from `_bmad/bmm/config.yaml` (field `project_name`). If the file does not exist or `project_name` is absent, derive project name from the root directory name or use `"Unknown Project"`.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## EXECUTION
|
|
31
|
+
|
|
32
|
+
<workflow>
|
|
33
|
+
|
|
34
|
+
<step n="1" goal="Parse epic files and extract all work items">
|
|
35
|
+
|
|
36
|
+
**Epic Discovery Process:**
|
|
37
|
+
|
|
38
|
+
1. Search for whole document first — look for `epics.md`, `bmm-epics.md`, or any `*epic*.md` file in `_bmad-output/planning-artifacts/`
|
|
39
|
+
2. If whole document not found, look for `_bmad-output/planning-artifacts/epics/index.md` (sharded version)
|
|
40
|
+
3. If sharded version found: read `index.md` then read ALL referenced epic section files
|
|
41
|
+
4. If both exist, use the whole document
|
|
42
|
+
|
|
43
|
+
<action>For each epic file found, extract:</action>
|
|
44
|
+
|
|
45
|
+
- Epic numbers from headers like `## Epic 1:` or `## Epic 2:`
|
|
46
|
+
- Story IDs and titles from patterns like `### Story 1.1: User Authentication`
|
|
47
|
+
- Epic status cues from narrative text:
|
|
48
|
+
- "in progress", "started", "active" → `in-progress`
|
|
49
|
+
- "on hold", "paused", "blocked" → `on-hold`
|
|
50
|
+
- "cancelled", "dropped" → `cancelled`
|
|
51
|
+
- default → `backlog`
|
|
52
|
+
|
|
53
|
+
**Story ID Conversion Rules:**
|
|
54
|
+
|
|
55
|
+
- Original: `### Story 1.1: User Authentication`
|
|
56
|
+
- Replace period with dash: `1-1`
|
|
57
|
+
- Convert title to kebab-case: `user-authentication`
|
|
58
|
+
- Final ID: `1-1-user-authentication`
|
|
59
|
+
|
|
60
|
+
<action>Build:
|
|
61
|
+
- `{{all_epics}}` — list of epic objects: `epic_num`, `title`, `detected_status`
|
|
62
|
+
- `{{all_stories}}` — list of story objects: `id`, `epic_num`, `title`
|
|
63
|
+
</action>
|
|
64
|
+
</step>
|
|
65
|
+
|
|
66
|
+
<step n="2" goal="Scan bug files">
|
|
67
|
+
<action>Glob `_bmad-output/implementation-artifacts/bug-*.md` to find all bug story files</action>
|
|
68
|
+
<check if="no bug files found">
|
|
69
|
+
<action>Set `{{all_bugs}}` = []</action>
|
|
70
|
+
</check>
|
|
71
|
+
<check if="bug files found">
|
|
72
|
+
<action>For each bug file, parse YAML frontmatter to extract: `title`, `severity`, `status`</action>
|
|
73
|
+
<action>Derive bug ID: strip `bug-` prefix and `.md` extension, then prefix with `BUG-` (e.g., `bug-path-spaces.md` → `BUG-path-spaces`)</action>
|
|
74
|
+
<action>Set `{{all_bugs}}` = list of bug objects: `id`, `title`, `severity` (default `medium`), `status` (default `backlog`)</action>
|
|
75
|
+
</check>
|
|
76
|
+
</step>
|
|
77
|
+
|
|
78
|
+
<step n="3" goal="Mode detection — bootstrap vs refresh">
|
|
79
|
+
<check if="`_bmad-output/implementation-artifacts/sprint-status.yaml` does NOT exist">
|
|
80
|
+
<action>Set `{{mode}}` = `bootstrap`</action>
|
|
81
|
+
<action>Proceed to Step 4 then Step 5</action>
|
|
82
|
+
</check>
|
|
83
|
+
<check if="`_bmad-output/implementation-artifacts/sprint-status.yaml` EXISTS">
|
|
84
|
+
<action>Set `{{mode}}` = `refresh`</action>
|
|
85
|
+
<action>Read existing file into `{{existing_file}}`</action>
|
|
86
|
+
<action>Proceed to Step 4 then Step 6</action>
|
|
87
|
+
</check>
|
|
88
|
+
</step>
|
|
89
|
+
|
|
90
|
+
<step n="4" goal="Done exclusion scan">
|
|
91
|
+
<action>Scan `_bmad-output/implementation-artifacts/done/` for archived files. Build `{{done_item_ids}}` = set of basenames (without `.md`) from all files in the done folder</action>
|
|
92
|
+
<check if="`{{mode}}` == `refresh`">
|
|
93
|
+
<action>Scan `{{existing_file}}` for items with `status: done` in `backlog` or any `sprints[*].items`</action>
|
|
94
|
+
<check if="any done items found in backlog or sprints">
|
|
95
|
+
<output>
|
|
96
|
+
## Warning: Done Items Detected in Active File
|
|
97
|
+
|
|
98
|
+
The following items have `status: done` but are still present in the active `sprint-status.yaml`:
|
|
99
|
+
|
|
100
|
+
{{#each done_items_in_file}}
|
|
101
|
+
- `{{id}}` (in: {{location}})
|
|
102
|
+
{{/each}}
|
|
103
|
+
|
|
104
|
+
These items should be archived before adding new items. Consider running `cleanup-done` to archive them first.
|
|
105
|
+
|
|
106
|
+
Continuing with planning — done items will be excluded from new additions.
|
|
107
|
+
</output>
|
|
108
|
+
<action>Add these IDs to `{{done_item_ids}}`</action>
|
|
109
|
+
</check>
|
|
110
|
+
</check>
|
|
111
|
+
</step>
|
|
112
|
+
|
|
113
|
+
<step n="5" goal="Bootstrap mode — build complete file from scratch">
|
|
114
|
+
<check if="`{{mode}}` != `bootstrap`">
|
|
115
|
+
<action>Skip this step</action>
|
|
116
|
+
</check>
|
|
117
|
+
|
|
118
|
+
**Build metadata:**
|
|
119
|
+
- `generated` = current ISO-8601 datetime
|
|
120
|
+
- `last_updated` = current ISO-8601 datetime
|
|
121
|
+
- `project` = resolved project name
|
|
122
|
+
- `project_key` = `NOKEY`
|
|
123
|
+
- `tracking_system` = `file-system`
|
|
124
|
+
- `story_location` = `_bmad-output/implementation-artifacts`
|
|
125
|
+
|
|
126
|
+
**Build `epics` section:**
|
|
127
|
+
<action>For each epic in `{{all_epics}}`:
|
|
128
|
+
- Key: `epic-{epic_num}`
|
|
129
|
+
- `status`: use detected status from epic narrative, default `backlog`
|
|
130
|
+
- `retrospective`: `optional`
|
|
131
|
+
</action>
|
|
132
|
+
|
|
133
|
+
**Build `backlog` section:**
|
|
134
|
+
<action>Combine `{{all_stories}}` and `{{all_bugs}}` into candidate list, excluding any IDs in `{{done_item_ids}}`</action>
|
|
135
|
+
<action>For each story candidate:
|
|
136
|
+
- Detect status: check if `_bmad-output/implementation-artifacts/{story_id}.md` exists → `ready-for-dev`; else → `backlog`
|
|
137
|
+
</action>
|
|
138
|
+
|
|
139
|
+
**Ordering rules for initial priority:**
|
|
140
|
+
1. Bugs with `severity: critical` — first (highest priority)
|
|
141
|
+
2. Stories in epic order, then story number within each epic
|
|
142
|
+
3. Remaining bugs (`high`, `medium`, `low`) — after stories
|
|
143
|
+
|
|
144
|
+
<action>Assign sequential `priority` values (1, 2, 3...) based on ordering</action>
|
|
145
|
+
|
|
146
|
+
**Build each backlog item:**
|
|
147
|
+
```
|
|
148
|
+
id: story ID (e.g., "1-1-user-auth") or bug ID (e.g., "BUG-path-spaces")
|
|
149
|
+
type: "story" or "bug"
|
|
150
|
+
epic: epic number as integer for stories, null for bugs
|
|
151
|
+
title: story/bug title
|
|
152
|
+
priority: sequential integer (1 = highest)
|
|
153
|
+
status: detected status for stories; "backlog" for bugs (or from frontmatter)
|
|
154
|
+
severity: null for stories; value for bugs
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**`sprints` section:** empty map `{}`
|
|
158
|
+
|
|
159
|
+
<action>Write complete `sprint-status.yaml` to `_bmad-output/implementation-artifacts/sprint-status.yaml`</action>
|
|
160
|
+
</step>
|
|
161
|
+
|
|
162
|
+
<step n="6" goal="Refresh mode — additive merge">
|
|
163
|
+
<check if="`{{mode}}` != `refresh`">
|
|
164
|
+
<action>Skip this step</action>
|
|
165
|
+
</check>
|
|
166
|
+
|
|
167
|
+
<action>From `{{existing_file}}` extract:
|
|
168
|
+
- `generated` timestamp (preserve — never change)
|
|
169
|
+
- existing `epics` map
|
|
170
|
+
- existing `backlog` array
|
|
171
|
+
- existing `sprints` map
|
|
172
|
+
</action>
|
|
173
|
+
|
|
174
|
+
**Regenerate `epics` section with status preservation:**
|
|
175
|
+
<action>For each epic in `{{all_epics}}`:
|
|
176
|
+
- If epic already exists in existing file: apply never-downgrade rule for `status`; preserve existing `retrospective`
|
|
177
|
+
- If epic is NEW: use detected status (default `backlog`), `retrospective: optional`
|
|
178
|
+
</action>
|
|
179
|
+
|
|
180
|
+
**Never-downgrade status rules:**
|
|
181
|
+
- `done` → keep `done` (no downgrade)
|
|
182
|
+
- `in-progress` + detected `backlog` → keep `in-progress`
|
|
183
|
+
- `on-hold` → keep `on-hold` (sticky)
|
|
184
|
+
- `cancelled` → keep `cancelled` (terminal)
|
|
185
|
+
- Otherwise → use detected status
|
|
186
|
+
|
|
187
|
+
**Build exclusion sets:**
|
|
188
|
+
- `{{existing_backlog_ids}}` = all `id` values in existing `backlog` array
|
|
189
|
+
- `{{sprint_item_ids}}` = all `id` values in any `sprints[*].items` arrays
|
|
190
|
+
- `{{excluded_ids}}` = union of above + `{{done_item_ids}}`
|
|
191
|
+
|
|
192
|
+
**Find new items to append:**
|
|
193
|
+
<action>From `{{all_stories}}` and `{{all_bugs}}`, identify items whose ID is NOT in `{{excluded_ids}}`</action>
|
|
194
|
+
|
|
195
|
+
**Append new items:**
|
|
196
|
+
<action>Calculate `{{max_priority}}` = max `priority` in existing backlog (0 if empty)</action>
|
|
197
|
+
<action>For each new item (stories in epic order first, then bugs):
|
|
198
|
+
- `priority` = `{{max_priority}}` + sequential increment
|
|
199
|
+
- For stories: detect status from file existence
|
|
200
|
+
- For bugs: use frontmatter status or default `backlog`
|
|
201
|
+
</action>
|
|
202
|
+
|
|
203
|
+
**Final file:**
|
|
204
|
+
- `backlog` = existing items (unchanged) + new items (appended)
|
|
205
|
+
- `sprints` = existing sprints (unchanged — pass through exactly)
|
|
206
|
+
- `epics` = regenerated (with preservation)
|
|
207
|
+
- `last_updated` = current ISO-8601 datetime
|
|
208
|
+
- `generated` = original value (NEVER change)
|
|
209
|
+
|
|
210
|
+
<action>Write updated file (atomic read-modify-write)</action>
|
|
211
|
+
</step>
|
|
212
|
+
|
|
213
|
+
<step n="7" goal="Validation">
|
|
214
|
+
<action>Validate the written file:</action>
|
|
215
|
+
|
|
216
|
+
- [ ] File is valid YAML syntax
|
|
217
|
+
- [ ] 6 metadata fields present: `generated`, `last_updated`, `project`, `project_key`, `tracking_system`, `story_location`
|
|
218
|
+
- [ ] 3 data sections: `epics`, `backlog`, `sprints`
|
|
219
|
+
- [ ] No `development_status` section (old flat format must not appear)
|
|
220
|
+
- [ ] Every epic in source files appears in `epics` section
|
|
221
|
+
- [ ] Every story appears in exactly one location (backlog, sprint, or done/)
|
|
222
|
+
- [ ] No item ID in more than one active location (single-location invariant)
|
|
223
|
+
- [ ] All `status` values are legal (epic: backlog/in-progress/done/on-hold/cancelled; item: backlog/ready-for-dev/in-progress/review/done/on-hold/cancelled)
|
|
224
|
+
- [ ] Backlog `priority` values are sequential 1..N
|
|
225
|
+
- [ ] `sprints` section unchanged (refresh mode)
|
|
226
|
+
- [ ] `generated` timestamp unchanged (refresh mode)
|
|
227
|
+
|
|
228
|
+
<check if="validation errors found">
|
|
229
|
+
<output>
|
|
230
|
+
## Validation Errors
|
|
231
|
+
|
|
232
|
+
{{#each validation_errors}}
|
|
233
|
+
- {{message}}
|
|
234
|
+
{{/each}}
|
|
235
|
+
|
|
236
|
+
Please review `_bmad-output/implementation-artifacts/sprint-status.yaml` and correct the issues.
|
|
237
|
+
</output>
|
|
238
|
+
</check>
|
|
239
|
+
</step>
|
|
240
|
+
|
|
241
|
+
<step n="8" goal="Report summary">
|
|
242
|
+
<output>
|
|
243
|
+
## Sprint Planning Complete
|
|
244
|
+
|
|
245
|
+
**Mode:** {{mode}} ({{#if bootstrap}}first run — file created{{else}}refresh — file updated{{/if}})
|
|
246
|
+
**File:** `_bmad-output/implementation-artifacts/sprint-status.yaml`
|
|
247
|
+
|
|
248
|
+
### Summary
|
|
249
|
+
|
|
250
|
+
| Section | Count |
|
|
251
|
+
|---------|-------|
|
|
252
|
+
| Total epics | {{epic_count}} |
|
|
253
|
+
| Total stories | {{story_count}} |
|
|
254
|
+
| Total bugs | {{bug_count}} |
|
|
255
|
+
{{#if refresh}}
|
|
256
|
+
| New items added | {{new_items_count}} |
|
|
257
|
+
| Items preserved (backlog) | {{preserved_backlog_count}} |
|
|
258
|
+
| Items excluded (sprint-assigned) | {{sprint_assigned_count}} |
|
|
259
|
+
| Items excluded (done-archived) | {{done_archived_count}} |
|
|
260
|
+
{{/if}}
|
|
261
|
+
|
|
262
|
+
### Epic Status Overview
|
|
263
|
+
|
|
264
|
+
| Epic | Title | Status |
|
|
265
|
+
|------|-------|--------|
|
|
266
|
+
{{#each epics_summary}}
|
|
267
|
+
| `{{id}}` | {{title}} | {{status}} |
|
|
268
|
+
{{/each}}
|
|
269
|
+
|
|
270
|
+
### Next Steps
|
|
271
|
+
|
|
272
|
+
1. Review the generated `_bmad-output/implementation-artifacts/sprint-status.yaml`
|
|
273
|
+
2. Run `generate-backlog` to refresh and reprioritize backlog items
|
|
274
|
+
3. Run `add-sprint` to create a sprint for the next iteration
|
|
275
|
+
4. Run `add-to-sprint` to assign backlog items to a sprint
|
|
276
|
+
</output>
|
|
277
|
+
</step>
|
|
278
|
+
|
|
279
|
+
</workflow>
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Additional Documentation
|
|
284
|
+
|
|
285
|
+
### Status State Machines
|
|
286
|
+
|
|
287
|
+
**Epic Status Flow:**
|
|
288
|
+
```
|
|
289
|
+
backlog → in-progress → done
|
|
290
|
+
↕
|
|
291
|
+
on-hold
|
|
292
|
+
|
|
293
|
+
Any non-done → cancelled (terminal)
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Story/Bug Status Flow:**
|
|
297
|
+
```
|
|
298
|
+
backlog → ready-for-dev → in-progress → review → done
|
|
299
|
+
↕ ↕ ↕
|
|
300
|
+
on-hold on-hold on-hold
|
|
301
|
+
|
|
302
|
+
Any non-done → cancelled (terminal)
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### Three-Section Schema Summary
|
|
306
|
+
|
|
307
|
+
```yaml
|
|
308
|
+
epics: # Map keyed by epic-N — regenerated each run with preservation
|
|
309
|
+
backlog: # Array of items — additive only (new items appended, existing preserved)
|
|
310
|
+
sprints: # Map keyed by sprint-N — NEVER modified by this skill
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Never-Downgrade Rule
|
|
314
|
+
|
|
315
|
+
Status is never downgraded on refresh. If the existing file says `in-progress`, a re-detected `backlog` from the epic file does NOT override it. This ensures human-set statuses are preserved across planning runs.
|
|
316
|
+
|
|
317
|
+
### Schema Quick Reference
|
|
318
|
+
|
|
319
|
+
**Backlog item fields:** `id`, `type`, `epic`, `title`, `priority`, `status`, `severity`
|
|
320
|
+
**Sprint item fields:** `id`, `type`, `epic`, `title`, `status`, `severity` (no `priority`)
|
|
321
|
+
**Epic fields:** `status`, `retrospective`
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bmad-sprint-planning",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Bootstrap or update the unified sprint-status.yaml from epics. Creates the file with three sections (epics, backlog, sprints) on first run; refreshes epics and adds new items on subsequent runs.",
|
|
5
|
+
"category": "workflow",
|
|
6
|
+
"tags": ["sprint-planning", "sprint-management", "epics", "bootstrap"]
|
|
7
|
+
}
|