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,302 @@
|
|
|
1
|
+
# Modify Sprint Skill
|
|
2
|
+
|
|
3
|
+
Guided workflow to modify an existing sprint's metadata (name, capacity, dates, status) within the `sprints` section of `sprint-status.yaml`.
|
|
4
|
+
|
|
5
|
+
> **Scope:** This skill modifies sprint **metadata only** — name, capacity, start date, end date, and status.
|
|
6
|
+
> To assign items to a sprint, use `/add-to-sprint`. To remove items, use `/remove-from-sprint`.
|
|
7
|
+
|
|
8
|
+
<workflow>
|
|
9
|
+
|
|
10
|
+
<step n="0" goal="Load configuration and validate file existence">
|
|
11
|
+
<action>Locate `sprint-status.yaml` at `_bmad-output/implementation-artifacts/sprint-status.yaml`</action>
|
|
12
|
+
<check if="file does not exist">
|
|
13
|
+
<output>No sprint-status.yaml found. Run sprint planning first to initialize the file.</output>
|
|
14
|
+
<action>Exit workflow</action>
|
|
15
|
+
</check>
|
|
16
|
+
<action>Read and parse the full file, retaining all three sections: `epics`, `backlog`, and `sprints`</action>
|
|
17
|
+
<action>Store file contents as {{file_content}} for use in the final atomic write</action>
|
|
18
|
+
</step>
|
|
19
|
+
|
|
20
|
+
<step n="1" goal="Identify available sprints and select one to modify">
|
|
21
|
+
<action>Parse the `sprints` section from the loaded file</action>
|
|
22
|
+
<check if="sprints section is empty ({})">
|
|
23
|
+
<output>No sprints found. Run `/add-sprint` first to create a sprint.</output>
|
|
24
|
+
<action>Exit workflow</action>
|
|
25
|
+
</check>
|
|
26
|
+
<action>Build sprint list with: sprint ID (map key), name, status, capacity, item count (length of items array), start, end</action>
|
|
27
|
+
<output>
|
|
28
|
+
## Available Sprints
|
|
29
|
+
|
|
30
|
+
| # | Sprint ID | Name | Status | Capacity | Items | Start | End |
|
|
31
|
+
|---|---|---|---|---|---|---|---|
|
|
32
|
+
{{#each sprints}}
|
|
33
|
+
| {{@index+1}} | {{sprint_id}} | {{name}} | {{status}} | {{capacity}} | {{item_count}}/{{capacity}} | {{start_or_not_set}} | {{end_or_not_set}} |
|
|
34
|
+
{{/each}}
|
|
35
|
+
|
|
36
|
+
Note: closed sprints are immutable and cannot be modified.
|
|
37
|
+
</output>
|
|
38
|
+
<ask>Select sprint to modify (enter number):</ask>
|
|
39
|
+
<action>Store selected sprint as {{target_sprint}} and its map key as {{sprint_id}}</action>
|
|
40
|
+
<check if="{{target_sprint.status}} == 'closed'">
|
|
41
|
+
<output>Sprint '{{target_sprint.name}}' ({{sprint_id}}) is closed. Closed sprints are immutable (schema constraint 6.7). Only archival operations are permitted.</output>
|
|
42
|
+
<action>Exit workflow</action>
|
|
43
|
+
</check>
|
|
44
|
+
</step>
|
|
45
|
+
|
|
46
|
+
<step n="2" goal="Display current sprint state">
|
|
47
|
+
<action>Calculate {{item_count}} = length of {{target_sprint.items}} array</action>
|
|
48
|
+
<action>Calculate {{remaining}} = {{target_sprint.capacity}} - {{item_count}}</action>
|
|
49
|
+
<output>
|
|
50
|
+
## Sprint: {{target_sprint.name}} ({{sprint_id}})
|
|
51
|
+
|
|
52
|
+
- Status: {{target_sprint.status}}
|
|
53
|
+
- Capacity: {{target_sprint.capacity}} items ({{item_count}} assigned, {{remaining}} remaining)
|
|
54
|
+
- Start: {{target_sprint.start || "not set"}}
|
|
55
|
+
- End: {{target_sprint.end || "not set"}}
|
|
56
|
+
- Items: {{item_count}} assigned (use /add-to-sprint or /remove-from-sprint to manage items)
|
|
57
|
+
|
|
58
|
+
### Assigned Items (read-only)
|
|
59
|
+
{{#if items_empty}}
|
|
60
|
+
*(No items assigned yet)*
|
|
61
|
+
{{else}}
|
|
62
|
+
| ID | Title | Type | Status |
|
|
63
|
+
|---|---|---|---|
|
|
64
|
+
{{#each target_sprint.items}}
|
|
65
|
+
| {{id}} | {{title}} | {{type}} | {{status}} |
|
|
66
|
+
{{/each}}
|
|
67
|
+
{{/if}}
|
|
68
|
+
</output>
|
|
69
|
+
<action>Initialize {{working_changes}} = empty map to accumulate changes made during this session</action>
|
|
70
|
+
<action>Initialize working state aliases: {{current_name}} = {{target_sprint.name}}, {{current_capacity}} = {{target_sprint.capacity}}, {{current_start}} = {{target_sprint.start}}, {{current_end}} = {{target_sprint.end}}, {{current_status}} = {{target_sprint.status}}. These aliases are updated in-place as changes are made so Step 3's menu always shows the latest values.</action>
|
|
71
|
+
<action>Store {{original_name}} = {{target_sprint.name}} (preserved as the display name in the confirmation summary)</action>
|
|
72
|
+
</step>
|
|
73
|
+
|
|
74
|
+
<step n="3" goal="Present modification menu">
|
|
75
|
+
<output>
|
|
76
|
+
## What would you like to modify?
|
|
77
|
+
|
|
78
|
+
1. Sprint name (current: "{{current_name}}")
|
|
79
|
+
2. Capacity (current: {{current_capacity}})
|
|
80
|
+
3. Start date (current: {{current_start || "not set"}})
|
|
81
|
+
4. End date (current: {{current_end || "not set"}})
|
|
82
|
+
5. Status (current: {{current_status}})
|
|
83
|
+
6. Done -- save all changes and exit
|
|
84
|
+
</output>
|
|
85
|
+
<ask>Choice:</ask>
|
|
86
|
+
<check if="choice == 6 or choice == 'done'">
|
|
87
|
+
<goto step="4" />
|
|
88
|
+
</check>
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step n="3a" goal="Modify sprint name" if="choice == 1">
|
|
92
|
+
<ask>New sprint name (current: '{{current_name}}'):</ask>
|
|
93
|
+
<check if="input is empty">
|
|
94
|
+
<output>Sprint name cannot be empty. Please enter a valid name.</output>
|
|
95
|
+
<goto step="3a" />
|
|
96
|
+
</check>
|
|
97
|
+
<action>Store {{new_name}} = input</action>
|
|
98
|
+
<action>Store change: name: {{current_name}} -> {{new_name}} in {{working_changes}}</action>
|
|
99
|
+
<action>Update current display value: {{current_name}} = {{new_name}}</action>
|
|
100
|
+
<output>Sprint name updated: '{{old_name}}' -> '{{new_name}}'.</output>
|
|
101
|
+
<goto step="3" />
|
|
102
|
+
</step>
|
|
103
|
+
|
|
104
|
+
<step n="3b" goal="Modify capacity" if="choice == 2">
|
|
105
|
+
<ask>New capacity (positive integer, current: {{current_capacity}}):</ask>
|
|
106
|
+
<action>Validate input is a positive integer (greater than zero, no decimals, no non-numeric characters)</action>
|
|
107
|
+
<check if="input is NOT a positive integer">
|
|
108
|
+
<output>Invalid capacity. Must be a positive integer greater than zero.</output>
|
|
109
|
+
<goto step="3b" />
|
|
110
|
+
</check>
|
|
111
|
+
<action>Store {{new_capacity}} = validated integer input</action>
|
|
112
|
+
<action>Calculate {{item_count}} = length of {{target_sprint.items}} array</action>
|
|
113
|
+
<check if="{{new_capacity}} < {{item_count}}">
|
|
114
|
+
<output>Sprint has {{item_count}} items but new capacity would be {{new_capacity}} ({{new_capacity}} < {{item_count}}). Capacity is advisory -- items will not be removed.</output>
|
|
115
|
+
<ask>Options:
|
|
116
|
+
- [a] Apply anyway (capacity is advisory per schema section 4.2)
|
|
117
|
+
- [s] Skip -- keep current capacity
|
|
118
|
+
- [r] Remove items first (direct to /remove-from-sprint)
|
|
119
|
+
|
|
120
|
+
Choice:</ask>
|
|
121
|
+
<check if="choice == 's'">
|
|
122
|
+
<goto step="3" />
|
|
123
|
+
</check>
|
|
124
|
+
<check if="choice == 'r'">
|
|
125
|
+
<output>Run `/remove-from-sprint` to remove items, then re-run `/modify-sprint`.</output>
|
|
126
|
+
<action>Exit workflow</action>
|
|
127
|
+
</check>
|
|
128
|
+
<!-- if 'a', proceed with the change -->
|
|
129
|
+
</check>
|
|
130
|
+
<action>Calculate {{new_remaining}} = {{new_capacity}} - {{item_count}}</action>
|
|
131
|
+
<action>Store change: capacity: {{current_capacity}} -> {{new_capacity}} in {{working_changes}}</action>
|
|
132
|
+
<action>Update current display value: {{current_capacity}} = {{new_capacity}}</action>
|
|
133
|
+
<output>Capacity updated: {{old_capacity}} -> {{new_capacity}} ({{new_remaining}} slots remaining with {{item_count}} assigned items).</output>
|
|
134
|
+
<goto step="3" />
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
<step n="3c" goal="Modify start date" if="choice == 3">
|
|
138
|
+
<ask>New start date (ISO format YYYY-MM-DD, or press Enter to clear):</ask>
|
|
139
|
+
<check if="input is empty">
|
|
140
|
+
<action>Store {{new_start}} = "" (clears the date)</action>
|
|
141
|
+
</check>
|
|
142
|
+
<check if="input is not empty">
|
|
143
|
+
<action>Validate input matches ISO date format YYYY-MM-DD (regex: ^\d{4}-\d{2}-\d{2}$) and represents a valid calendar date</action>
|
|
144
|
+
<check if="invalid format">
|
|
145
|
+
<output>Invalid date format. Use YYYY-MM-DD (e.g., 2026-05-01).</output>
|
|
146
|
+
<goto step="3c" />
|
|
147
|
+
</check>
|
|
148
|
+
<action>Store {{new_start}} = input</action>
|
|
149
|
+
</check>
|
|
150
|
+
<action>Store change: start: {{current_start || "not set"}} -> {{new_start || "not set"}} in {{working_changes}}</action>
|
|
151
|
+
<action>Update current display value: {{current_start}} = {{new_start}}</action>
|
|
152
|
+
<output>Start date updated: '{{old_start || "not set"}}' -> '{{new_start || "not set"}}'.</output>
|
|
153
|
+
<goto step="3" />
|
|
154
|
+
</step>
|
|
155
|
+
|
|
156
|
+
<step n="3d" goal="Modify end date" if="choice == 4">
|
|
157
|
+
<ask>New end date (ISO format YYYY-MM-DD, or press Enter to clear):</ask>
|
|
158
|
+
<check if="input is empty">
|
|
159
|
+
<action>Store {{new_end}} = "" (clears the date)</action>
|
|
160
|
+
</check>
|
|
161
|
+
<check if="input is not empty">
|
|
162
|
+
<action>Validate input matches ISO date format YYYY-MM-DD (regex: ^\d{4}-\d{2}-\d{2}$) and represents a valid calendar date</action>
|
|
163
|
+
<check if="invalid format">
|
|
164
|
+
<output>Invalid date format. Use YYYY-MM-DD (e.g., 2026-05-31).</output>
|
|
165
|
+
<goto step="3d" />
|
|
166
|
+
</check>
|
|
167
|
+
<action>Store {{new_end}} = input</action>
|
|
168
|
+
</check>
|
|
169
|
+
<action>Determine effective start: use {{current_start}} if not changed, else use newly entered start</action>
|
|
170
|
+
<check if="{{new_end}} is not empty AND {{effective_start}} is not empty AND {{new_end}} < {{effective_start}}">
|
|
171
|
+
<output>Warning: End date ({{new_end}}) is before start date ({{effective_start}}). This may be intentional.</output>
|
|
172
|
+
</check>
|
|
173
|
+
<action>Store change: end: {{current_end || "not set"}} -> {{new_end || "not set"}} in {{working_changes}}</action>
|
|
174
|
+
<action>Update current display value: {{current_end}} = {{new_end}}</action>
|
|
175
|
+
<output>End date updated: '{{old_end || "not set"}}' -> '{{new_end || "not set"}}'.</output>
|
|
176
|
+
<goto step="3" />
|
|
177
|
+
</step>
|
|
178
|
+
|
|
179
|
+
<step n="3e" goal="Modify status" if="choice == 5">
|
|
180
|
+
<action>Determine valid transitions based on {{current_status}}:
|
|
181
|
+
- If `planning`: valid next state is `active` only
|
|
182
|
+
- If `active`: valid next state is `closed` only
|
|
183
|
+
- If `closed`: no transitions available (immutable)
|
|
184
|
+
</action>
|
|
185
|
+
<output>
|
|
186
|
+
Current status: {{current_status}}
|
|
187
|
+
{{#if current_status == 'planning'}}Valid transitions: planning -> active{{/if}}
|
|
188
|
+
{{#if current_status == 'active'}}Valid transitions: active -> closed{{/if}}
|
|
189
|
+
{{#if current_status == 'closed'}}No transitions available. Closed sprints are immutable.{{/if}}
|
|
190
|
+
</output>
|
|
191
|
+
<check if="{{current_status}} == 'closed'">
|
|
192
|
+
<output>Sprint '{{current_name}}' is closed. Closed sprints are immutable (schema constraint 6.7). Only archival operations are permitted.</output>
|
|
193
|
+
<goto step="3" />
|
|
194
|
+
</check>
|
|
195
|
+
<ask>New status:</ask>
|
|
196
|
+
<action>Validate transition:
|
|
197
|
+
- planning -> active: allowed (proceed to single-active-sprint check)
|
|
198
|
+
- active -> closed: allowed (with warning about /close-sprint)
|
|
199
|
+
- planning -> closed: REJECTED (skip)
|
|
200
|
+
- active -> planning: REJECTED (backward)
|
|
201
|
+
- closed -> anything: REJECTED (immutable -- already handled above)
|
|
202
|
+
- same state -> same state: REJECTED (no change)
|
|
203
|
+
- any unrecognized value: REJECTED
|
|
204
|
+
</action>
|
|
205
|
+
<check if="transition is invalid (backward, skip, or unrecognized)">
|
|
206
|
+
<output>Invalid status transition: {{current_status}} -> {{requested_status}}. Sprint status transitions are forward-only: planning -> active -> closed.</output>
|
|
207
|
+
<goto step="3e" />
|
|
208
|
+
</check>
|
|
209
|
+
<check if="requested_status == 'closed'">
|
|
210
|
+
<output>Warning: To properly close a sprint with item disposition (archiving done items, returning incomplete items to backlog), use `/close-sprint` instead. This will only update the status field.</output>
|
|
211
|
+
<ask>Continue with status-only change? [y/n]</ask>
|
|
212
|
+
<check if="answer == 'n'">
|
|
213
|
+
<output>Status change cancelled. Use `/close-sprint` for full sprint close lifecycle.</output>
|
|
214
|
+
<goto step="3" />
|
|
215
|
+
</check>
|
|
216
|
+
</check>
|
|
217
|
+
<check if="requested_status == 'active'">
|
|
218
|
+
<action>Scan all other sprints in the `sprints` map for any sprint with status: active</action>
|
|
219
|
+
<check if="another active sprint found">
|
|
220
|
+
<output>Sprint '{{other_sprint_name}}' ({{other_sprint_id}}) is already active. Only one sprint can be active at a time (schema constraint 6.4). Close it first or cancel this change.</output>
|
|
221
|
+
<ask>Options:
|
|
222
|
+
- [c] Cancel status change
|
|
223
|
+
- [x] Exit to run /close-sprint on {{other_sprint_id}} first
|
|
224
|
+
|
|
225
|
+
Choice:</ask>
|
|
226
|
+
<check if="choice == 'c'">
|
|
227
|
+
<goto step="3" />
|
|
228
|
+
</check>
|
|
229
|
+
<check if="choice == 'x'">
|
|
230
|
+
<output>Run `/close-sprint` on {{other_sprint_id}} first, then re-run `/modify-sprint`.</output>
|
|
231
|
+
<action>Exit workflow</action>
|
|
232
|
+
</check>
|
|
233
|
+
</check>
|
|
234
|
+
</check>
|
|
235
|
+
<action>Store change: status: {{current_status}} -> {{requested_status}} in {{working_changes}}</action>
|
|
236
|
+
<action>Update current display value: {{current_status}} = {{requested_status}}</action>
|
|
237
|
+
<output>Status updated: {{old_status}} -> {{requested_status}}.</output>
|
|
238
|
+
<goto step="3" />
|
|
239
|
+
</step>
|
|
240
|
+
|
|
241
|
+
<step n="4" goal="Confirmation -- review and confirm all changes">
|
|
242
|
+
<check if="{{working_changes}} is empty">
|
|
243
|
+
<output>No modifications made.</output>
|
|
244
|
+
<action>Exit workflow</action>
|
|
245
|
+
</check>
|
|
246
|
+
<output>
|
|
247
|
+
## Modification Summary -- Please Confirm
|
|
248
|
+
|
|
249
|
+
Sprint: {{sprint_id}} ("{{original_name}}")
|
|
250
|
+
|
|
251
|
+
Changes:
|
|
252
|
+
{{#each working_changes}}
|
|
253
|
+
- {{field}}: {{old_value}} -> {{new_value}}
|
|
254
|
+
{{/each}}
|
|
255
|
+
|
|
256
|
+
All other sprint data (items, other sprints, epics, backlog) will be preserved unchanged.
|
|
257
|
+
</output>
|
|
258
|
+
<ask>Confirm changes? [y] Yes / [n] Cancel / [e] Edit more</ask>
|
|
259
|
+
<check if="choice == 'n'">
|
|
260
|
+
<output>Changes discarded.</output>
|
|
261
|
+
<action>Exit workflow</action>
|
|
262
|
+
</check>
|
|
263
|
+
<check if="choice == 'e'">
|
|
264
|
+
<goto step="3" />
|
|
265
|
+
</check>
|
|
266
|
+
<!-- if 'y', proceed to Step 5 -->
|
|
267
|
+
</step>
|
|
268
|
+
|
|
269
|
+
<step n="5" goal="Persist changes to sprint-status.yaml">
|
|
270
|
+
<action>Re-read `_bmad-output/implementation-artifacts/sprint-status.yaml` to get the latest file state before writing</action>
|
|
271
|
+
<action>Locate the target sprint entry at `sprints.{{sprint_id}}` in the re-read file</action>
|
|
272
|
+
<action>Apply all confirmed changes to the target sprint entry:
|
|
273
|
+
- If name was changed: update `name` field
|
|
274
|
+
- If capacity was changed: update `capacity` field
|
|
275
|
+
- If start was changed: update `start` field
|
|
276
|
+
- If end was changed: update `end` field
|
|
277
|
+
- If status was changed: update `status` field
|
|
278
|
+
</action>
|
|
279
|
+
<action>Preserve the sprint's `items` array exactly as-is (no modifications)</action>
|
|
280
|
+
<action>Preserve all other sprint entries in the `sprints` map exactly as-is</action>
|
|
281
|
+
<action>Preserve the `epics` section exactly as-is</action>
|
|
282
|
+
<action>Preserve the `backlog` section exactly as-is</action>
|
|
283
|
+
<action>Preserve the `generated` field exactly as-is (never change)</action>
|
|
284
|
+
<action>Set `last_updated` to the current ISO-8601 timestamp</action>
|
|
285
|
+
<action>Write the complete updated file in a single atomic write to `_bmad-output/implementation-artifacts/sprint-status.yaml`</action>
|
|
286
|
+
<output>
|
|
287
|
+
Sprint modified successfully!
|
|
288
|
+
|
|
289
|
+
Sprint: {{sprint_name}} ({{sprint_id}})
|
|
290
|
+
{{#each working_changes}}
|
|
291
|
+
- {{field}}: {{new_value}}
|
|
292
|
+
{{/each}}
|
|
293
|
+
|
|
294
|
+
Next Steps:
|
|
295
|
+
- Use /add-to-sprint to assign backlog items to this sprint
|
|
296
|
+
- Use /remove-from-sprint to remove items from this sprint
|
|
297
|
+
- Use /sprint-status-view to view sprint progress
|
|
298
|
+
- Use /close-sprint to close this sprint when complete
|
|
299
|
+
</output>
|
|
300
|
+
</step>
|
|
301
|
+
|
|
302
|
+
</workflow>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "modify-sprint",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Guided workflow to modify an existing sprint's metadata (name, capacity, dates, status) within the sprints section of sprint-status.yaml",
|
|
5
|
+
"category": "workflow",
|
|
6
|
+
"tags": ["sprint-management", "modify-sprint", "capacity", "metadata"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Prioritize Backlog
|
|
2
|
+
|
|
3
|
+
Reprioritize backlog items in `sprint-status.yaml` using multiple criteria: severity, business value, dependencies, type, and age.
|
|
4
|
+
|
|
5
|
+
<workflow>
|
|
6
|
+
|
|
7
|
+
<step n="0" goal="Load configuration and validate file existence">
|
|
8
|
+
<action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml` — the single source of truth for all sprint and backlog state.</action>
|
|
9
|
+
<check if="sprint-status.yaml does not exist">
|
|
10
|
+
<output>No sprint-status.yaml found. Run sprint planning first to initialize the file.</output>
|
|
11
|
+
<action>Exit workflow — do not create any file.</action>
|
|
12
|
+
</check>
|
|
13
|
+
<action>Parse the full file: read `epics`, `backlog`, and `sprints` sections plus all metadata fields (`generated`, `last_updated`, `project`, `project_key`, `tracking_system`, `story_location`). Store the entire parsed structure as {{file_data}} for later atomic write.</action>
|
|
14
|
+
<check if="legacy backlog.yaml exists in _bmad-output/implementation-artifacts/">
|
|
15
|
+
<output>Note: Legacy backlog.yaml detected. Run migration to consolidate.</output>
|
|
16
|
+
<action>Continue — do NOT read from or write to the legacy file. Operate on sprint-status.yaml only.</action>
|
|
17
|
+
</check>
|
|
18
|
+
<check if="{{file_data.backlog}} is empty or null">
|
|
19
|
+
<output>Backlog is empty. Nothing to prioritize.</output>
|
|
20
|
+
<action>Exit workflow — do not modify the file.</action>
|
|
21
|
+
</check>
|
|
22
|
+
<action>Store {{backlog_items}} = {{file_data.backlog}} (the array of items to work with).</action>
|
|
23
|
+
<action>Store {{original_order}} = copy of {{backlog_items}} with their current priority values, for use in the change summary later.</action>
|
|
24
|
+
</step>
|
|
25
|
+
|
|
26
|
+
<step n="1" goal="Display current backlog order">
|
|
27
|
+
<action>Read {{backlog_items}} in their current array order (position 0 = highest priority).</action>
|
|
28
|
+
<output>
|
|
29
|
+
## Current Backlog ({{backlog_items.length}} items)
|
|
30
|
+
|
|
31
|
+
| Priority | ID | Title | Type | Epic | Severity | Status |
|
|
32
|
+
|---|---|---|---|---|---|---|
|
|
33
|
+
{{#each backlog_items}}
|
|
34
|
+
| {{priority}} | {{id}} | {{title}} | {{type}} | {{#if epic}}epic-{{epic}}{{else}}—{{/if}} | {{severity or "—"}} | {{status}} |
|
|
35
|
+
{{/each}}
|
|
36
|
+
|
|
37
|
+
*Note: Items assigned to sprints are not shown — only unassigned backlog items are listed here.*
|
|
38
|
+
</output>
|
|
39
|
+
</step>
|
|
40
|
+
|
|
41
|
+
<step n="2" goal="Choose prioritization mode">
|
|
42
|
+
<ask>Select a prioritization mode:
|
|
43
|
+
|
|
44
|
+
**[f] Full** — Interactive: generates a suggested order, presents current vs proposed side-by-side. You review and approve (or adjust) before any write occurs.
|
|
45
|
+
**[q] Quick** — Automated: applies default multi-criteria rules immediately, then shows a summary of what moved.
|
|
46
|
+
**[a] Auto-suggest** — Read-only: shows the suggested order with per-item rationale. No file is modified.
|
|
47
|
+
**[x] Cancel** — Exit without changes.
|
|
48
|
+
|
|
49
|
+
Choice:</ask>
|
|
50
|
+
<check if="user selects 'x'">
|
|
51
|
+
<output>Cancelled — no changes made.</output>
|
|
52
|
+
<action>Exit workflow.</action>
|
|
53
|
+
</check>
|
|
54
|
+
<action>Store {{selected_mode}} = user choice.</action>
|
|
55
|
+
</step>
|
|
56
|
+
|
|
57
|
+
<step n="3" goal="Multi-criteria prioritization analysis">
|
|
58
|
+
<action>For each item in {{backlog_items}}, compute a composite priority score using the following weighted criteria (highest weight listed first):</action>
|
|
59
|
+
|
|
60
|
+
<action>**1. Severity weight (highest impact):**
|
|
61
|
+
- `severity: critical` → +40 points
|
|
62
|
+
- `severity: high` → +30 points
|
|
63
|
+
- `severity: medium` → +10 points
|
|
64
|
+
- `severity: low` → +5 points
|
|
65
|
+
- `severity: null` → +0 points (no adjustment for stories)
|
|
66
|
+
</action>
|
|
67
|
+
|
|
68
|
+
<action>**2. Business value weight:**
|
|
69
|
+
- Use the item's existing `priority` value as a signal for current business value ranking. Items with lower `priority` values (higher priority) receive a proportional boost: score += max(0, ({{backlog_items.length}} - current_priority + 1) * 2). This preserves existing prioritization signals while allowing other criteria to override.
|
|
70
|
+
- Items from lower-numbered epics (or `epic: null`) receive a slight additional boost: score += max(0, (20 - epic_number)) * 1, treating null as epic 0.
|
|
71
|
+
</action>
|
|
72
|
+
|
|
73
|
+
<action>**3. Dependency weight:**
|
|
74
|
+
- Read `_bmad-output/planning-artifacts/epics.md` if it exists to identify explicit inter-story dependencies.
|
|
75
|
+
- Within the same epic, items with lower story numbers are assumed to be prerequisites for higher-numbered stories. Items that block others get a +15 point boost.
|
|
76
|
+
- Items that are explicitly blocked by other UNASSIGNED backlog items get a -10 point adjustment (they cannot proceed anyway).
|
|
77
|
+
- If epics.md cannot be read or does not define explicit dependencies, use only the intra-epic ordering heuristic.
|
|
78
|
+
</action>
|
|
79
|
+
|
|
80
|
+
<action>**4. Type weight (tiebreaker):**
|
|
81
|
+
- `type: bug` → +3 points (bugs receive a slight boost over stories at equal composite score)
|
|
82
|
+
- `type: story` → +0 points
|
|
83
|
+
</action>
|
|
84
|
+
|
|
85
|
+
<action>**5. Age weight (starvation prevention — weakest signal):**
|
|
86
|
+
- Items from epics with lower epic numbers receive +1 point per 5 epic numbers below the maximum epic in the backlog (e.g., if max epic is 17, epic-12 gets +1, epic-7 gets +2).
|
|
87
|
+
- Items with `epic: null` are treated as oldest (receive the maximum age boost among all items).
|
|
88
|
+
- This is a tiebreaker only — it prevents starvation but does not override higher-priority signals.
|
|
89
|
+
</action>
|
|
90
|
+
|
|
91
|
+
<action>Compute {{composite_score}} for each item = severity_score + business_value_score + dependency_score + type_score + age_score.</action>
|
|
92
|
+
<action>Sort items by {{composite_score}} descending (highest score = priority 1). Break ties by current `priority` value (lower = higher priority stays higher).</action>
|
|
93
|
+
<action>Store {{suggested_order}} = sorted list of items. Store {{rationale_map}} = per-item map of score breakdown and reason summary.</action>
|
|
94
|
+
</step>
|
|
95
|
+
|
|
96
|
+
<step n="3a" goal="Full mode: present comparison and get approval" condition="{{selected_mode}} == 'f'">
|
|
97
|
+
<output>
|
|
98
|
+
## Prioritization Analysis: Current vs Suggested
|
|
99
|
+
|
|
100
|
+
| Current Priority | ID | Suggested Priority | Change | Key Rationale |
|
|
101
|
+
|---|---|---|---|---|
|
|
102
|
+
{{#each original_order}}
|
|
103
|
+
| {{priority}} | {{id}} | {{suggested_position}} | {{change_indicator}} | {{rationale}} |
|
|
104
|
+
{{/each}}
|
|
105
|
+
|
|
106
|
+
*Items highlighted with ↑ move up, ↓ move down, = stay in place.*
|
|
107
|
+
</output>
|
|
108
|
+
<ask>Options:
|
|
109
|
+
- **[a]** Accept the suggested order as-is
|
|
110
|
+
- **[m]** Manually adjust — enter item IDs in your preferred order (comma-separated)
|
|
111
|
+
- **[c]** Cancel — exit without changes
|
|
112
|
+
|
|
113
|
+
Choice:</ask>
|
|
114
|
+
<check if="user selects 'c'">
|
|
115
|
+
<output>Cancelled — no changes made.</output>
|
|
116
|
+
<action>Exit workflow.</action>
|
|
117
|
+
</check>
|
|
118
|
+
<check if="user selects 'a'">
|
|
119
|
+
<action>Set {{final_order}} = {{suggested_order}}.</action>
|
|
120
|
+
</check>
|
|
121
|
+
<check if="user selects 'm'">
|
|
122
|
+
<ask>Enter item IDs in your preferred priority order (highest priority first), comma-separated. You MUST include all {{backlog_items.length}} items — no duplicates or omissions allowed:
|
|
123
|
+
Example: 17-10-rework-generate-backlog, 17-11-rework-add-to-sprint, ...</ask>
|
|
124
|
+
<action>Parse the user-provided list into {{manual_order_ids}}.</action>
|
|
125
|
+
<action>Validate:
|
|
126
|
+
- Count must equal {{backlog_items.length}} (no missing items)
|
|
127
|
+
- All IDs must exist in {{backlog_items}} (no unknown IDs)
|
|
128
|
+
- No duplicate IDs
|
|
129
|
+
</action>
|
|
130
|
+
<check if="validation fails">
|
|
131
|
+
<output>Invalid input: {{validation_error}}. Please re-enter the complete list of all {{backlog_items.length}} item IDs in your preferred order.</output>
|
|
132
|
+
<action>Repeat the manual-entry prompt until valid input is received or user cancels.</action>
|
|
133
|
+
</check>
|
|
134
|
+
<action>Reorder {{backlog_items}} to match {{manual_order_ids}} sequence. Set {{final_order}} = reordered list.</action>
|
|
135
|
+
</check>
|
|
136
|
+
<action>Proceed to Step 4 with {{final_order}}.</action>
|
|
137
|
+
</step>
|
|
138
|
+
|
|
139
|
+
<step n="3b" goal="Quick mode: apply suggested order automatically" condition="{{selected_mode}} == 'q'">
|
|
140
|
+
<action>Set {{final_order}} = {{suggested_order}}.</action>
|
|
141
|
+
<action>Proceed to Step 4 with {{final_order}}.</action>
|
|
142
|
+
</step>
|
|
143
|
+
|
|
144
|
+
<step n="3c" goal="Auto-suggest mode: display suggestions without writing" condition="{{selected_mode}} == 'a'">
|
|
145
|
+
<output>
|
|
146
|
+
## Suggested Backlog Order (Read-Only — No Changes Written)
|
|
147
|
+
|
|
148
|
+
| New Priority | ID | Title | Old Priority | Change | Rationale |
|
|
149
|
+
|---|---|---|---|---|---|
|
|
150
|
+
{{#each suggested_order}}
|
|
151
|
+
| {{new_priority}} | {{id}} | {{title}} | {{old_priority}} | {{change_indicator}} | {{rationale}} |
|
|
152
|
+
{{/each}}
|
|
153
|
+
|
|
154
|
+
**Summary:**
|
|
155
|
+
- Items that would move up: {{move_up_count}}
|
|
156
|
+
- Items that would move down: {{move_down_count}}
|
|
157
|
+
- Items unchanged: {{unchanged_count}}
|
|
158
|
+
|
|
159
|
+
Suggestions displayed. No changes written. Run again in Full or Quick mode to apply.
|
|
160
|
+
</output>
|
|
161
|
+
<action>Exit workflow — do NOT proceed to Step 4.</action>
|
|
162
|
+
</step>
|
|
163
|
+
|
|
164
|
+
<step n="4" goal="Apply reordering and persist">
|
|
165
|
+
<action>Take {{final_order}} (from Full or Quick mode).</action>
|
|
166
|
+
<action>Renumber `priority` field on each item sequentially: position 0 in the array gets `priority: 1`, position 1 gets `priority: 2`, and so on through position N-1 gets `priority: N`. This keeps the denormalized index in sync with array position (schema section 3.3).</action>
|
|
167
|
+
<action>Get the current ISO-8601 timestamp (format: YYYY-MM-DDTHH:MM:SS). Update {{file_data.last_updated}} to this timestamp.</action>
|
|
168
|
+
<action>Preserve {{file_data.generated}} unchanged.</action>
|
|
169
|
+
<action>Preserve {{file_data.epics}} section unchanged — do NOT modify any epic entries.</action>
|
|
170
|
+
<action>Preserve {{file_data.sprints}} section unchanged — do NOT modify any sprint entries or items within sprints.</action>
|
|
171
|
+
<action>Set {{file_data.backlog}} = {{final_order}} (the reordered array with renumbered priorities).</action>
|
|
172
|
+
<action>Write the complete updated {{file_data}} back to `_bmad-output/implementation-artifacts/sprint-status.yaml` in a single atomic write (read-modify-write pattern). This single write replaces the file entirely — no partial updates.</action>
|
|
173
|
+
</step>
|
|
174
|
+
|
|
175
|
+
<step n="5" goal="Display summary output">
|
|
176
|
+
<action>Compute change summary by comparing {{original_order}} (old positions) against {{final_order}} (new positions).</action>
|
|
177
|
+
<output>
|
|
178
|
+
## Reprioritization Complete
|
|
179
|
+
|
|
180
|
+
**Mode:** {{mode_label}} ({{current_datetime}})
|
|
181
|
+
**Items reordered:** {{backlog_items.length}} total
|
|
182
|
+
|
|
183
|
+
### Changes Made
|
|
184
|
+
|
|
185
|
+
| ID | Title | Old Priority | New Priority | Direction |
|
|
186
|
+
|---|---|---|---|---|
|
|
187
|
+
{{#each changed_items}}
|
|
188
|
+
| {{id}} | {{title}} | {{old_priority}} | {{new_priority}} | {{direction}} |
|
|
189
|
+
{{/each}}
|
|
190
|
+
|
|
191
|
+
{{#if unchanged_items.length > 0}}
|
|
192
|
+
**Unchanged ({{unchanged_items.length}} items):** {{unchanged_ids_list}}
|
|
193
|
+
{{/if}}
|
|
194
|
+
|
|
195
|
+
**sprint-status.yaml updated successfully.**
|
|
196
|
+
|
|
197
|
+
**Next steps:**
|
|
198
|
+
- `/add-to-sprint` — Assign the top-priority backlog items to the current sprint
|
|
199
|
+
- `/sprint-status-view` — View overall sprint progress and capacity
|
|
200
|
+
</output>
|
|
201
|
+
</step>
|
|
202
|
+
|
|
203
|
+
</workflow>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "prioritize-backlog",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Reprioritize backlog items using multiple criteria -- severity, business value, dependencies, type, age",
|
|
5
|
+
"category": "workflow",
|
|
6
|
+
"tags": ["backlog", "prioritization", "sprint-management"]
|
|
7
|
+
}
|