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,506 @@
|
|
|
1
|
+
# Sprint-Status YAML Schema Reference
|
|
2
|
+
|
|
3
|
+
> Canonical schema specification for `sprint-status.yaml` — the single source of truth for all sprint and backlog state.
|
|
4
|
+
>
|
|
5
|
+
> **Story:** 17.9 — Unified sprint-status.yaml Schema
|
|
6
|
+
> **Architecture:** Decision P2-11
|
|
7
|
+
> **Consumers:** 13 skills (see Skill Integration Map below)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Top-Level Structure
|
|
12
|
+
|
|
13
|
+
A valid `sprint-status.yaml` contains exactly **three data sections** (`epics`, `backlog`, `sprints`) plus **six metadata fields**.
|
|
14
|
+
|
|
15
|
+
```yaml
|
|
16
|
+
# ── Metadata ──────────────────────────────────────────────────────────────────
|
|
17
|
+
generated: <ISO-8601 datetime string>
|
|
18
|
+
last_updated: <ISO-8601 datetime string>
|
|
19
|
+
project: <string>
|
|
20
|
+
project_key: <string>
|
|
21
|
+
tracking_system: <"file-system" | "jira">
|
|
22
|
+
story_location: <string>
|
|
23
|
+
|
|
24
|
+
# ── Data Sections ─────────────────────────────────────────────────────────────
|
|
25
|
+
epics: <map>
|
|
26
|
+
backlog: <array>
|
|
27
|
+
sprints: <map>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 1.1 Metadata Fields
|
|
31
|
+
|
|
32
|
+
| Field | Type | Required | Description |
|
|
33
|
+
|-------|------|----------|-------------|
|
|
34
|
+
| `generated` | ISO-8601 datetime string | Yes | Timestamp when the file was first created |
|
|
35
|
+
| `last_updated` | ISO-8601 datetime string | Yes | Timestamp of the most recent write to the file. Updated by every skill that modifies the file. |
|
|
36
|
+
| `project` | string | Yes | Human-readable project name (from `config.yaml → project_name` or fallback) |
|
|
37
|
+
| `project_key` | string | Yes | Short project key for ID prefixes. `NOKEY` if unset. |
|
|
38
|
+
| `tracking_system` | string | Yes | Backend selector: `"file-system"` (default) or `"jira"`. See Section 5. |
|
|
39
|
+
| `story_location` | string | Yes | Relative path from project root to the directory containing story `.md` files (e.g., `_bmad-output/implementation-artifacts`) |
|
|
40
|
+
|
|
41
|
+
**Semantics:**
|
|
42
|
+
- `generated` is written once at file creation and never changed.
|
|
43
|
+
- `last_updated` is overwritten on every write operation. Skills MUST update this field whenever they modify the file.
|
|
44
|
+
- `tracking_system` determines whether skills read/write the local YAML file (`file-system`) or delegate to the Jira adapter (`jira`). See Section 5.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 2. Epics Section
|
|
49
|
+
|
|
50
|
+
The `epics` section is a YAML **map** keyed by epic ID.
|
|
51
|
+
|
|
52
|
+
### 2.1 Schema
|
|
53
|
+
|
|
54
|
+
```yaml
|
|
55
|
+
epics:
|
|
56
|
+
<epic-id>:
|
|
57
|
+
status: <"backlog" | "in-progress" | "done" | "on-hold" | "cancelled">
|
|
58
|
+
retrospective: <"optional" | "done" | null>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2.2 Field Definitions
|
|
62
|
+
|
|
63
|
+
| Field | Type | Required | Values | Description |
|
|
64
|
+
|-------|------|----------|--------|-------------|
|
|
65
|
+
| _key_ | string | — | `epic-N` where N is a positive integer (e.g., `epic-5`). Gaps in numbering are allowed. | Map key identifying the epic |
|
|
66
|
+
| `status` | string | Yes | `backlog`, `in-progress`, `done`, `on-hold`, `cancelled` | Current lifecycle state of the epic |
|
|
67
|
+
| `retrospective` | string or null | Yes | `optional`, `done`, `null` | Whether a retrospective has been completed for this epic |
|
|
68
|
+
|
|
69
|
+
### 2.3 Epic Status Transitions
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
backlog → in-progress → done
|
|
73
|
+
↕
|
|
74
|
+
on-hold
|
|
75
|
+
|
|
76
|
+
Any non-done status → cancelled
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
- **`backlog`** — Epic is defined but no stories are actively being worked on.
|
|
80
|
+
- **`in-progress`** — At least one story in the epic has moved past `backlog` status.
|
|
81
|
+
- **`done`** — All stories in the epic are complete. Epic may be archived by `cleanup-done`.
|
|
82
|
+
- **`on-hold`** — Epic is paused. Can transition to `on-hold` from `backlog` or `in-progress`, and return to the previous state when resumed.
|
|
83
|
+
- **`cancelled`** — Epic has been abandoned. Terminal state — any non-`done` status may transition to `cancelled`. No transitions out of `cancelled`.
|
|
84
|
+
|
|
85
|
+
Forward transitions on the main track (`backlog → in-progress → done`) are not reversible. `on-hold` is a bidirectional pause state. `cancelled` is a terminal state reachable from any non-`done` status.
|
|
86
|
+
|
|
87
|
+
### 2.4 Empty Epics
|
|
88
|
+
|
|
89
|
+
An empty epics map (`epics: {}`) is valid and represents a project with no epics yet defined.
|
|
90
|
+
|
|
91
|
+
### 2.5 Retrospective Values
|
|
92
|
+
|
|
93
|
+
- **`optional`** — Retrospective has not been run and is not blocking.
|
|
94
|
+
- **`done`** — Retrospective has been completed.
|
|
95
|
+
- **`null`** — Retrospective is not applicable for this epic.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 3. Backlog Section
|
|
100
|
+
|
|
101
|
+
The `backlog` section is a YAML **array** of item objects. Array order represents priority ranking (first item = highest priority).
|
|
102
|
+
|
|
103
|
+
### 3.1 Backlog Item Schema
|
|
104
|
+
|
|
105
|
+
```yaml
|
|
106
|
+
backlog:
|
|
107
|
+
- id: <string>
|
|
108
|
+
type: <"story" | "bug">
|
|
109
|
+
epic: <integer | null>
|
|
110
|
+
title: <string>
|
|
111
|
+
priority: <integer>
|
|
112
|
+
status: <string>
|
|
113
|
+
severity: <null | "critical" | "high" | "medium" | "low">
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 3.2 Field Definitions
|
|
117
|
+
|
|
118
|
+
| Field | Type | Required | Values | Description |
|
|
119
|
+
|-------|------|----------|--------|-------------|
|
|
120
|
+
| `id` | string | Yes | e.g., `"17-10-rework-generate-backlog"`, `"BUG-path-spaces"` | Unique identifier for the item. Story IDs follow `N-M-slug` convention. Bug IDs follow `BUG-slug` convention. |
|
|
121
|
+
| `type` | string | Yes | `story`, `bug` | Discriminator for item type |
|
|
122
|
+
| `epic` | integer or null | Yes | e.g., `17`, `null` | Epic number this item belongs to. `null` for standalone bugs or items not tied to an epic. |
|
|
123
|
+
| `title` | string | Yes | — | Human-readable title |
|
|
124
|
+
| `priority` | integer | Yes | Positive integer, 1 = highest | Explicit numeric priority for backlog ordering. Lower number = higher priority. |
|
|
125
|
+
| `status` | string | Yes | See valid statuses below | Current lifecycle status of the item |
|
|
126
|
+
| `severity` | string or null | Yes | `null`, `critical`, `high`, `medium`, `low` | Bug severity. MUST be `null` for stories. Only bugs carry a non-null severity. |
|
|
127
|
+
|
|
128
|
+
### 3.3 Notes
|
|
129
|
+
|
|
130
|
+
- Items in the `backlog` section typically have status `backlog`, but may have other statuses if they have not yet been assigned to a sprint (e.g., `ready-for-dev` items awaiting sprint assignment).
|
|
131
|
+
- **Array position is the authoritative priority order** (position 0 = highest priority). The `priority` field is a denormalized index that MUST be kept in sync with array position. When items are reordered, `priority` values MUST be renumbered to match the new positions.
|
|
132
|
+
- An empty backlog array (`backlog: []`) is valid and represents a state where all items are assigned to sprints or no items have been created yet.
|
|
133
|
+
- An item's `epic` field value `N` (integer) corresponds to the epics map key `epic-N`. Items with `epic: null` are not associated with any epic and are excluded from epic status derivation.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 4. Sprints Section
|
|
138
|
+
|
|
139
|
+
The `sprints` section is a YAML **map** keyed by sprint ID.
|
|
140
|
+
|
|
141
|
+
### 4.1 Sprint Entity Schema
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
sprints:
|
|
145
|
+
<sprint-id>:
|
|
146
|
+
name: <string>
|
|
147
|
+
status: <"planning" | "active" | "closed">
|
|
148
|
+
capacity: <integer>
|
|
149
|
+
start: <ISO-date string | "">
|
|
150
|
+
end: <ISO-date string | "">
|
|
151
|
+
items: <array of sprint item objects>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 4.2 Sprint Entity Field Definitions
|
|
155
|
+
|
|
156
|
+
| Field | Type | Required | Values | Description |
|
|
157
|
+
|-------|------|----------|--------|-------------|
|
|
158
|
+
| _key_ | string | — | `sprint-N` (e.g., `sprint-3`) | Map key identifying the sprint |
|
|
159
|
+
| `name` | string | Yes | — | Human-readable sprint name |
|
|
160
|
+
| `status` | string | Yes | `planning`, `active`, `closed` | Current lifecycle state |
|
|
161
|
+
| `capacity` | integer | Yes | Non-negative integer | Advisory maximum number of items for this sprint. Skills SHOULD warn when `items` count exceeds `capacity` but MUST NOT block the operation. |
|
|
162
|
+
| `start` | string | Yes | ISO date (`"YYYY-MM-DD"`) or `""` | Sprint start date. Empty string if not yet scheduled. |
|
|
163
|
+
| `end` | string | Yes | ISO date (`"YYYY-MM-DD"`) or `""` | Sprint end date. Empty string if not yet scheduled. |
|
|
164
|
+
| `items` | array | Yes | Array of sprint item objects | Items assigned to this sprint. May be empty (`[]`). |
|
|
165
|
+
|
|
166
|
+
### 4.3 Sprint Item Schema (within `items` array)
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
items:
|
|
170
|
+
- id: <string>
|
|
171
|
+
type: <"story" | "bug">
|
|
172
|
+
epic: <integer | null>
|
|
173
|
+
title: <string>
|
|
174
|
+
status: <string>
|
|
175
|
+
severity: <null | "critical" | "high" | "medium" | "low">
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### 4.4 Sprint Item Field Definitions
|
|
179
|
+
|
|
180
|
+
| Field | Type | Required | Values | Description |
|
|
181
|
+
|-------|------|----------|--------|-------------|
|
|
182
|
+
| `id` | string | Yes | Same format as backlog items | Unique identifier |
|
|
183
|
+
| `type` | string | Yes | `story`, `bug` | Item type |
|
|
184
|
+
| `epic` | integer or null | Yes | — | Epic association |
|
|
185
|
+
| `title` | string | Yes | — | Human-readable title |
|
|
186
|
+
| `status` | string | Yes | See valid statuses below | Current lifecycle status |
|
|
187
|
+
| `severity` | string or null | Yes | `null`, `critical`, `high`, `medium`, `low` | Bug severity. `null` for stories. |
|
|
188
|
+
|
|
189
|
+
### 4.5 Backlog Item vs Sprint Item — Schema Difference
|
|
190
|
+
|
|
191
|
+
Sprint items use the **same schema as backlog items** except they do **NOT** have the `priority` field.
|
|
192
|
+
|
|
193
|
+
| Field | Backlog Item | Sprint Item |
|
|
194
|
+
|-------|-------------|-------------|
|
|
195
|
+
| `id` | Yes | Yes |
|
|
196
|
+
| `type` | Yes | Yes |
|
|
197
|
+
| `epic` | Yes | Yes |
|
|
198
|
+
| `title` | Yes | Yes |
|
|
199
|
+
| `priority` | **Yes** | **No** |
|
|
200
|
+
| `status` | Yes | Yes |
|
|
201
|
+
| `severity` | Yes | Yes |
|
|
202
|
+
|
|
203
|
+
**Rationale:** In the backlog, `priority` provides explicit ordering for triage. Once assigned to a sprint, priority is implicit — the item's position within the sprint's `items` array determines its relative order.
|
|
204
|
+
|
|
205
|
+
**Movement rules:**
|
|
206
|
+
|
|
207
|
+
- **Backlog → Sprint (`add-to-sprint`):** The `priority` field is **dropped**. Only items with status `ready-for-dev` may be added to a sprint. Skills MUST reject items in any other status.
|
|
208
|
+
- **Sprint → Backlog (`remove-from-sprint`):** A `priority` field is **added** with value `max(existing backlog priorities) + 1` (appended to end). If the backlog is empty, the item receives `priority: 1`. The item's status is **reset to `ready-for-dev`** (not `backlog`, because a story file already exists).
|
|
209
|
+
- **Done items:** Items with status `done` MUST NOT be moved back to backlog via `remove-from-sprint`. They can only be archived via `cleanup-done` or `close-sprint`.
|
|
210
|
+
|
|
211
|
+
### 4.6 Sprint Status Transitions
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
planning → active → closed
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
- **`planning`** — Sprint is being assembled. Items can be added or removed.
|
|
218
|
+
- **`active`** — Sprint is underway. Items can change status but should not normally be added/removed (use `correct-course` for mid-sprint changes).
|
|
219
|
+
- **`closed`** — Sprint is complete. The sprint entry is immutable — no item changes allowed. The entry remains in the file as historical record.
|
|
220
|
+
|
|
221
|
+
No backward transitions are allowed. A closed sprint cannot be reopened.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 5. Tracking System Adapter Contract
|
|
226
|
+
|
|
227
|
+
### 5.1 The `tracking_system` Field
|
|
228
|
+
|
|
229
|
+
```yaml
|
|
230
|
+
tracking_system: "file-system" # default — all operations read/write sprint-status.yaml
|
|
231
|
+
tracking_system: "jira" # future — operations proxy to Jira API
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### 5.2 Backend Behavior
|
|
235
|
+
|
|
236
|
+
| Backend | Behavior |
|
|
237
|
+
|---------|----------|
|
|
238
|
+
| `file-system` | All 13 affected skills read/write `sprint-status.yaml` directly. The local YAML file is the single source of truth. |
|
|
239
|
+
| `jira` | Skills detect `tracking_system: jira` and delegate to a Jira adapter module (Story 17.22). The adapter translates unified data model operations into Jira API calls. |
|
|
240
|
+
|
|
241
|
+
### 5.3 Contract
|
|
242
|
+
|
|
243
|
+
- **The schema defined in this document is the canonical data contract for BOTH backends.** Jira responses are mapped into the same structure.
|
|
244
|
+
- Skills NEVER branch on backend type for business logic — only the I/O layer differs.
|
|
245
|
+
- A skill's logic is: read data → operate on data model → write data. The `tracking_system` value only affects the read/write layer.
|
|
246
|
+
- When `tracking_system: jira`, the `sprint-status.yaml` file may still exist as a local cache but is NOT authoritative — the Jira instance is the source of truth.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 6. Invariants and Constraints
|
|
251
|
+
|
|
252
|
+
These rules MUST be enforced by every skill that writes to `sprint-status.yaml`.
|
|
253
|
+
|
|
254
|
+
### 6.1 Single-Location Invariant (AC: 5)
|
|
255
|
+
|
|
256
|
+
An item ID MUST appear in **exactly one** location within the file:
|
|
257
|
+
- Either in the `backlog` array, **OR**
|
|
258
|
+
- In exactly one sprint's `items` array.
|
|
259
|
+
- **Never both. Never in multiple sprints.**
|
|
260
|
+
|
|
261
|
+
Any skill that moves an item MUST perform the move atomically: remove from source section and add to target section in a single write operation.
|
|
262
|
+
|
|
263
|
+
### 6.2 In-Place Status Update Rule (AC: 6)
|
|
264
|
+
|
|
265
|
+
When an item's status changes (e.g., `ready-for-dev` → `in-progress`), the `status` field is updated **in-place** on the item object in whichever section it currently resides. The item does NOT move between sections on status change — only `add-to-sprint` and `remove-from-sprint` perform movement.
|
|
266
|
+
|
|
267
|
+
### 6.3 Done-Removal Rule (AC: 7)
|
|
268
|
+
|
|
269
|
+
When an item reaches `done` status and cleanup runs (via `cleanup-done` or `close-sprint`):
|
|
270
|
+
1. The item is **removed** from `sprint-status.yaml` entirely (deleted from the sprint's `items` array).
|
|
271
|
+
2. The corresponding story file at `{story_location}/{id}.md` is **moved** to `{story_location}/done/{id}.md`.
|
|
272
|
+
3. No trace of the item remains in the active file. The `done/` folder is the archive.
|
|
273
|
+
|
|
274
|
+
This keeps the active file lean and focused on current work.
|
|
275
|
+
|
|
276
|
+
### 6.4 Single-Active-Sprint Constraint (AC: 8)
|
|
277
|
+
|
|
278
|
+
At most **one** sprint can have `status: active` at any time. Before activating a sprint, the previous active sprint MUST be closed first.
|
|
279
|
+
|
|
280
|
+
- Multiple sprints with `status: planning` are allowed.
|
|
281
|
+
- Multiple sprints with `status: closed` are allowed (historical records).
|
|
282
|
+
- Exactly zero or one sprint with `status: active`.
|
|
283
|
+
|
|
284
|
+
### 6.5 Valid Sprint Status Transitions
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
planning → active → closed
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
No backward transitions. No skipping states. A sprint in `planning` cannot jump directly to `closed`.
|
|
291
|
+
|
|
292
|
+
### 6.6 Valid Item Status Transitions
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
backlog → ready-for-dev → in-progress → review → done
|
|
296
|
+
↕ ↕ ↕
|
|
297
|
+
on-hold on-hold on-hold
|
|
298
|
+
|
|
299
|
+
Any non-done status → cancelled
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
- **Main track:** Forward-only progression (`backlog → ready-for-dev → in-progress → review → done`). No backward transitions on the main track under normal operation.
|
|
303
|
+
- **Exception — `remove-from-sprint`:** When an item is moved from a sprint back to the backlog, its status is reset to `ready-for-dev` regardless of its current status. This is the only permitted "backward" transition and is triggered by movement, not by in-place status change.
|
|
304
|
+
- **`backlog`** — Initial state for new items. Items in the backlog section typically have this status.
|
|
305
|
+
- **`ready-for-dev`** — Story file has been created and the item is prepared for development. Items may be set to `ready-for-dev` in the backlog section or after being moved to a sprint. Only items with this status may be added to a sprint via `add-to-sprint`.
|
|
306
|
+
- **`in-progress`** — Developer is actively working on the item.
|
|
307
|
+
- **`review`** — Implementation complete, awaiting code review.
|
|
308
|
+
- **`done`** — Item is complete. Triggers archival eligibility (see 6.3).
|
|
309
|
+
- **`on-hold`** — Item is paused. Can transition to `on-hold` from `ready-for-dev`, `in-progress`, or `review`, and return to the previous state when resumed.
|
|
310
|
+
- **`cancelled`** — Item has been abandoned. Terminal state — any non-`done` status may transition to `cancelled`. Cancelled items are archived similarly to done items (see 6.3) with a cancelled notation.
|
|
311
|
+
|
|
312
|
+
### 6.7 Closed Sprint Immutability
|
|
313
|
+
|
|
314
|
+
Once a sprint has `status: closed`, its `items` array and metadata fields MUST NOT be modified, with two exceptions:
|
|
315
|
+
1. **Done/cancelled item archival:** `cleanup-done` may remove items with status `done` or `cancelled` from a closed sprint's `items` array as part of the archival process (see 6.3).
|
|
316
|
+
2. **Data compaction:** Full removal of the sprint entry (if ever implemented).
|
|
317
|
+
|
|
318
|
+
Outside of these exceptions, the entry serves as a historical record and is immutable.
|
|
319
|
+
|
|
320
|
+
### 6.8 Sprint Item Disposition on Close (#14)
|
|
321
|
+
|
|
322
|
+
Before a sprint is set to `closed` via `close-sprint`, all items SHOULD be dispositioned:
|
|
323
|
+
- **`done` items** — Archived (removed from file, story file moved to `done/`).
|
|
324
|
+
- **`cancelled` items** — Archived similarly with a cancelled notation.
|
|
325
|
+
- **Remaining items** (`ready-for-dev`, `in-progress`, `review`) — User decides per-item: move to next sprint (if one exists in `planning` state) or return to backlog (status reset to `ready-for-dev`).
|
|
326
|
+
|
|
327
|
+
A closed sprint MAY retain items that were not dispositioned — the immutability rule (6.7) applies from the moment of close, with the archival exception.
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## 7. Skill Integration Map
|
|
332
|
+
|
|
333
|
+
All 13 skills that read or write `sprint-status.yaml`:
|
|
334
|
+
|
|
335
|
+
| Skill | Story | Operation | Section(s) Touched | Rework Level |
|
|
336
|
+
|-------|-------|-----------|-------------------|-------------|
|
|
337
|
+
| `bmad-sprint-planning` | 17.15 | Bootstraps entire file from epics | Creates all sections | Heavy |
|
|
338
|
+
| `generate-backlog` | 17.10 | Writes items to `backlog` from epics | `backlog`, `epics` | Heavy |
|
|
339
|
+
| `add-sprint` | 17.16 | Adds a new sprint entry | `sprints` | Moderate |
|
|
340
|
+
| `add-to-sprint` | 17.11 | Moves item from `backlog` to sprint `items` | `backlog`, `sprints` | Heavy |
|
|
341
|
+
| `remove-from-sprint` | 17.12 | Moves item from sprint `items` to `backlog` | `sprints`, `backlog` | Heavy |
|
|
342
|
+
| `sprint-status-view` | 17.13 | Reads all sections, renders progress | All (read-only) | Heavy |
|
|
343
|
+
| `cleanup-done` | 17.14 | Removes done items, archives files | `sprints`, file system | Heavy |
|
|
344
|
+
| `modify-sprint` | 17.17 | Updates sprint metadata or item order | `sprints` | Moderate |
|
|
345
|
+
| `bmad-dev-story` | 17.18 | Finds item, updates status field | `backlog` or `sprints` | Moderate |
|
|
346
|
+
| `story-status-lookup` | 17.19 | Searches all sections for item | All (read-only) | Light |
|
|
347
|
+
| `bmad-sprint-status` | 17.20 | Reads sections for health summary | All (read-only) | Light |
|
|
348
|
+
| `prioritize-backlog` | 17.24 | Reorders backlog items by criteria | `backlog` | Light |
|
|
349
|
+
| `close-sprint` | 17.21 | Full sprint close lifecycle | `sprints`, `backlog`, file system | New |
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## 8. File Location
|
|
354
|
+
|
|
355
|
+
```
|
|
356
|
+
{sprint_management_path}/_bmad-output/implementation-artifacts/sprint-status.yaml
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
- **Single-repo mode:** `sprint_management_path` defaults to `.` (project root), so the file is at `_bmad-output/implementation-artifacts/sprint-status.yaml`.
|
|
360
|
+
- **Multi-repo mode:** `sprint_management_path` from `_bmad/bmm/config.yaml` resolves to the sprint management repository root.
|
|
361
|
+
- **Archive directory:** `{story_location}/done/` — stores archived story files removed from `sprint-status.yaml`.
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 9. Reference Example
|
|
366
|
+
|
|
367
|
+
A fully populated `sprint-status.yaml` demonstrating all sections with realistic data, edge cases, and schema compliance.
|
|
368
|
+
|
|
369
|
+
```yaml
|
|
370
|
+
# Unified sprint-status.yaml — single source of truth for sprint and backlog state
|
|
371
|
+
# Schema version: 1.0 (Story 17.9)
|
|
372
|
+
# Architecture: Decision P2-11
|
|
373
|
+
|
|
374
|
+
generated: "2026-03-15T10:00:00Z"
|
|
375
|
+
last_updated: "2026-04-03T14:30:00Z"
|
|
376
|
+
project: agents
|
|
377
|
+
project_key: NOKEY
|
|
378
|
+
tracking_system: file-system
|
|
379
|
+
story_location: _bmad-output/implementation-artifacts
|
|
380
|
+
|
|
381
|
+
# ── Epics ─────────────────────────────────────────────────────────────────────
|
|
382
|
+
epics:
|
|
383
|
+
epic-4:
|
|
384
|
+
status: on-hold
|
|
385
|
+
retrospective: optional
|
|
386
|
+
epic-5:
|
|
387
|
+
status: in-progress
|
|
388
|
+
retrospective: optional
|
|
389
|
+
epic-14:
|
|
390
|
+
status: backlog
|
|
391
|
+
retrospective: null
|
|
392
|
+
epic-17:
|
|
393
|
+
status: in-progress
|
|
394
|
+
retrospective: optional
|
|
395
|
+
|
|
396
|
+
# ── Backlog ───────────────────────────────────────────────────────────────────
|
|
397
|
+
# Ordered by priority (position 0 = highest priority)
|
|
398
|
+
backlog:
|
|
399
|
+
- id: "17-10-rework-generate-backlog"
|
|
400
|
+
type: story
|
|
401
|
+
epic: 17
|
|
402
|
+
title: "Rework generate-backlog Skill"
|
|
403
|
+
priority: 1
|
|
404
|
+
status: ready-for-dev
|
|
405
|
+
severity: null
|
|
406
|
+
- id: "17-16-rework-add-sprint"
|
|
407
|
+
type: story
|
|
408
|
+
epic: 17
|
|
409
|
+
title: "Rework add-sprint Skill"
|
|
410
|
+
priority: 2
|
|
411
|
+
status: backlog
|
|
412
|
+
severity: null
|
|
413
|
+
- id: "BUG-path-spaces"
|
|
414
|
+
type: bug
|
|
415
|
+
epic: null
|
|
416
|
+
title: "Fix space-in-path bug in CLI"
|
|
417
|
+
priority: 3
|
|
418
|
+
status: backlog
|
|
419
|
+
severity: high
|
|
420
|
+
- id: "14-1-research-sprint-management-integration"
|
|
421
|
+
type: story
|
|
422
|
+
epic: 14
|
|
423
|
+
title: "Research Sprint Management Integration"
|
|
424
|
+
priority: 4
|
|
425
|
+
status: backlog
|
|
426
|
+
severity: null
|
|
427
|
+
|
|
428
|
+
# ── Sprints ───────────────────────────────────────────────────────────────────
|
|
429
|
+
sprints:
|
|
430
|
+
# Active sprint — the only sprint with status: active
|
|
431
|
+
sprint-3:
|
|
432
|
+
name: "Sprint 3 — Epic 17 Foundation"
|
|
433
|
+
status: active
|
|
434
|
+
capacity: 6
|
|
435
|
+
start: "2026-04-03"
|
|
436
|
+
end: "2026-04-14"
|
|
437
|
+
items:
|
|
438
|
+
- id: "17-9-unified-sprint-status-schema"
|
|
439
|
+
type: story
|
|
440
|
+
epic: 17
|
|
441
|
+
title: "Unified sprint-status.yaml Schema"
|
|
442
|
+
status: in-progress
|
|
443
|
+
severity: null
|
|
444
|
+
- id: "17-15-rework-bmad-sprint-planning"
|
|
445
|
+
type: story
|
|
446
|
+
epic: 17
|
|
447
|
+
title: "Rework bmad-sprint-planning Skill"
|
|
448
|
+
status: ready-for-dev
|
|
449
|
+
severity: null
|
|
450
|
+
- id: "5-5-explicit-parameter-passing"
|
|
451
|
+
type: story
|
|
452
|
+
epic: 5
|
|
453
|
+
title: "Explicit Parameter Passing"
|
|
454
|
+
status: review
|
|
455
|
+
severity: null
|
|
456
|
+
|
|
457
|
+
# Planning sprint — items can be added/removed freely
|
|
458
|
+
sprint-4:
|
|
459
|
+
name: "Sprint 4 — Epic 17 Skills"
|
|
460
|
+
status: planning
|
|
461
|
+
capacity: 8
|
|
462
|
+
start: ""
|
|
463
|
+
end: ""
|
|
464
|
+
items: []
|
|
465
|
+
|
|
466
|
+
# Closed sprint — immutable historical record, items already archived
|
|
467
|
+
sprint-2:
|
|
468
|
+
name: "Sprint 2 — Epic 5 Bundled Install"
|
|
469
|
+
status: closed
|
|
470
|
+
capacity: 8
|
|
471
|
+
start: "2026-03-15"
|
|
472
|
+
end: "2026-03-28"
|
|
473
|
+
items: []
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### 9.1 Edge Cases Demonstrated
|
|
477
|
+
|
|
478
|
+
| Edge Case | Location in Example | Notes |
|
|
479
|
+
|-----------|-------------------|-------|
|
|
480
|
+
| Epic on hold | `epic-4` | Has `status: on-hold` — paused epic |
|
|
481
|
+
| Bug in backlog | `BUG-path-spaces` item | Has `type: bug`, `epic: null`, `severity: high` |
|
|
482
|
+
| Story in backlog with no sprint | `14-1-research-sprint-management-integration` | Low-priority item in `backlog` status |
|
|
483
|
+
| Closed sprint with empty items | `sprint-2` | Items already archived to `done/`; entry remains as record |
|
|
484
|
+
| Planning sprint with no items | `sprint-4` | Not yet populated; `start` and `end` are empty strings |
|
|
485
|
+
| Multiple sprints in different states | `sprint-2` (closed), `sprint-3` (active), `sprint-4` (planning) | Only one is `active` |
|
|
486
|
+
| Backlog item with `ready-for-dev` status | `17-10-rework-generate-backlog` | Awaiting sprint assignment but already prepared |
|
|
487
|
+
| Story with null severity | All story items | `severity: null` distinguishes stories from bugs |
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
491
|
+
## 10. Schema Validation Checklist
|
|
492
|
+
|
|
493
|
+
Skills that write to `sprint-status.yaml` SHOULD validate these rules before writing:
|
|
494
|
+
|
|
495
|
+
1. File contains exactly the 6 metadata fields and 3 data sections
|
|
496
|
+
2. Every epic key matches pattern `epic-N` (N is a positive integer)
|
|
497
|
+
3. Every epic has `status` and `retrospective` fields; `status` is one of: `backlog`, `in-progress`, `done`, `on-hold`, `cancelled`
|
|
498
|
+
4. Every backlog item has all 7 required fields: `id`, `type`, `epic`, `title`, `priority`, `status`, `severity`
|
|
499
|
+
5. Every sprint key matches pattern `sprint-N`
|
|
500
|
+
6. Every sprint has all 6 required fields: `name`, `status`, `capacity`, `start`, `end`, `items`
|
|
501
|
+
7. Every sprint item has all 6 required fields: `id`, `type`, `epic`, `title`, `status`, `severity` (NO `priority`)
|
|
502
|
+
8. No item ID appears in more than one location (single-location invariant); item IDs are unique across `backlog` and all `sprints[*].items` combined
|
|
503
|
+
9. At most one sprint has `status: active`
|
|
504
|
+
10. `last_updated` is set to the current timestamp
|
|
505
|
+
11. Item `status` is one of: `backlog`, `ready-for-dev`, `in-progress`, `review`, `done`, `on-hold`, `cancelled`
|
|
506
|
+
12. Array position of backlog items matches their `priority` field values (position 0 = `priority: 1`)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Project Context
|
|
2
|
+
<!-- ma-agents-template-version: 1.0 -->
|
|
3
|
+
<!-- Generated by ma-agents at install time — this is a living document -->
|
|
4
|
+
<!--
|
|
5
|
+
EXPAND THIS FILE over time:
|
|
6
|
+
- After architecture phase: run /bmad-generate-project-context
|
|
7
|
+
- After each sprint: run /project-context-expansion (post-retrospective companion)
|
|
8
|
+
- Manually: add conventions you notice agents getting wrong
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
## AI Agent Mandatory Rules
|
|
12
|
+
|
|
13
|
+
### Pre-Task (EVERY task, no exceptions)
|
|
14
|
+
|
|
15
|
+
1. Read the MANIFEST.yaml for your platform:
|
|
16
|
+
<!-- ma-agents:manifest-paths-start -->
|
|
17
|
+
- `.claude/skills/MANIFEST.yaml`
|
|
18
|
+
<!-- ma-agents:manifest-paths-end -->
|
|
19
|
+
2. Load ALL skills marked `always_load: true` completely before doing anything
|
|
20
|
+
3. Select additional skills relevant to the specific task type
|
|
21
|
+
|
|
22
|
+
### Git Workflow (ALL file-changing tasks)
|
|
23
|
+
|
|
24
|
+
1. Create a fresh worktree: `git worktree add ../<project>-<branch> -b <branch>`
|
|
25
|
+
2. ALL work happens inside that worktree — never in the main working tree
|
|
26
|
+
3. Use conventional commits: `feat/fix/chore/docs/refactor`
|
|
27
|
+
4. Open a PR to main — never commit directly to main, never auto-merge
|
|
28
|
+
5. After human approval and merge: `git worktree remove ../<project>-<branch>`
|
|
29
|
+
|
|
30
|
+
### Agent Mission Lifecycle
|
|
31
|
+
|
|
32
|
+
1. **Pre-flight:** Read MANIFEST.yaml, load always_load skills, select task skills
|
|
33
|
+
2. **Worktree:** `git worktree add` creates fresh, isolated working surface
|
|
34
|
+
3. **Implementation:** Execute task within the worktree
|
|
35
|
+
4. **Self-review:** Run `code-review` skill on own output before opening PR
|
|
36
|
+
5. **PR:** Conventional commit + PR opened — clear title and description
|
|
37
|
+
6. **Human review gate:** Await approval — do NOT auto-merge under any circumstance
|
|
38
|
+
7. **Merge + cleanup:** After approval: merge, `git worktree remove`, delete branch
|
|
39
|
+
8. **Post-mission:** Update story status to done, append session to AiAudit.md
|
|
40
|
+
|
|
41
|
+
## Technology Stack
|
|
42
|
+
<!-- TODO: Populated after architecture phase via /bmad-generate-project-context -->
|
|
43
|
+
<!-- Run: /bmad-generate-project-context to auto-detect your stack -->
|
|
44
|
+
|
|
45
|
+
## Project-Specific Rules
|
|
46
|
+
<!-- TODO: Grows through retrospectives and manual additions -->
|
|
47
|
+
<!-- Run: /bmad-retrospective after each sprint to surface new conventions -->
|
package/bin/cli.js
CHANGED
|
@@ -7,6 +7,7 @@ const fs = require('fs');
|
|
|
7
7
|
const { execFileSync } = require('child_process');
|
|
8
8
|
const { installSkill, uninstallSkill, getStatus, listSkills, listAgents, updateProjectContextRepoLayout } = require('../lib/installer');
|
|
9
9
|
const bmad = require('../lib/bmad');
|
|
10
|
+
const { getBmadPlatformCode } = require('../lib/agents');
|
|
10
11
|
const { handleCreateSkill, handleValidateSkill, handleSetMandatory, handleCustomizeAgent, handleCreateAgent } = require('../lib/skill-authoring');
|
|
11
12
|
|
|
12
13
|
const PKG = require('../package.json');
|
|
@@ -884,7 +885,7 @@ async function installWizard(preselectedSkill, preselectedAgents, customPath, fo
|
|
|
884
885
|
if (!bmadInstalled) {
|
|
885
886
|
if (yesFlag) {
|
|
886
887
|
console.log(chalk.cyan('\n Installing BMAD-METHOD...'));
|
|
887
|
-
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id));
|
|
888
|
+
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
|
|
888
889
|
const success = await bmad.installBmad(['bmm'], bmadTools);
|
|
889
890
|
if (success) {
|
|
890
891
|
console.log(chalk.green(' BMAD-METHOD installed successfully!'));
|
|
@@ -901,7 +902,7 @@ async function installWizard(preselectedSkill, preselectedAgents, customPath, fo
|
|
|
901
902
|
|
|
902
903
|
if (installBmad) {
|
|
903
904
|
console.log(chalk.cyan('\n Installing BMAD-METHOD...'));
|
|
904
|
-
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id));
|
|
905
|
+
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
|
|
905
906
|
const success = await bmad.installBmad(['bmm'], bmadTools);
|
|
906
907
|
if (success) {
|
|
907
908
|
console.log(chalk.green(' BMAD-METHOD installed successfully!'));
|
|
@@ -913,7 +914,7 @@ async function installWizard(preselectedSkill, preselectedAgents, customPath, fo
|
|
|
913
914
|
} else {
|
|
914
915
|
if (yesFlag) {
|
|
915
916
|
console.log(chalk.cyan('\n Updating BMAD-METHOD...'));
|
|
916
|
-
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id));
|
|
917
|
+
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
|
|
917
918
|
const success = await bmad.updateBmad(['bmm'], bmadTools);
|
|
918
919
|
if (success) {
|
|
919
920
|
console.log(chalk.green(' BMAD-METHOD updated successfully!'));
|
|
@@ -930,7 +931,7 @@ async function installWizard(preselectedSkill, preselectedAgents, customPath, fo
|
|
|
930
931
|
|
|
931
932
|
if (updateBmad) {
|
|
932
933
|
console.log(chalk.cyan('\n Updating BMAD-METHOD...'));
|
|
933
|
-
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id));
|
|
934
|
+
const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
|
|
934
935
|
const success = await bmad.updateBmad(['bmm'], bmadTools);
|
|
935
936
|
if (success) {
|
|
936
937
|
console.log(chalk.green(' BMAD-METHOD updated successfully!'));
|
package/lib/agents.js
CHANGED
|
@@ -81,6 +81,7 @@ const agents = [
|
|
|
81
81
|
},
|
|
82
82
|
fileExtension: '.md',
|
|
83
83
|
template: 'generic',
|
|
84
|
+
bmadPlatformCode: 'github-copilot',
|
|
84
85
|
instructionFiles: ['.github/copilot/copilot.md'],
|
|
85
86
|
injectionStrategy: { position: 'top', skipPatterns: ['---'] }
|
|
86
87
|
},
|
|
@@ -104,6 +105,7 @@ const agents = [
|
|
|
104
105
|
},
|
|
105
106
|
fileExtension: '.md',
|
|
106
107
|
template: 'generic',
|
|
108
|
+
bmadPlatformCode: 'kilo',
|
|
107
109
|
instructionFiles: ['.kilocode/kilocode.md'],
|
|
108
110
|
injectionStrategy: { position: 'top', skipPatterns: ['---'] }
|
|
109
111
|
},
|
|
@@ -155,6 +157,7 @@ const agents = [
|
|
|
155
157
|
},
|
|
156
158
|
fileExtension: '.md',
|
|
157
159
|
template: 'generic',
|
|
160
|
+
bmadPlatformCode: 'roo',
|
|
158
161
|
instructionFiles: ['.roo/rules/00-ma-agents.md'],
|
|
159
162
|
injectionStrategy: { position: 'top', skipPatterns: ['---'] }
|
|
160
163
|
},
|
|
@@ -311,8 +314,20 @@ function getAgentsByCategory(category) {
|
|
|
311
314
|
return agents.filter(a => a.category === category);
|
|
312
315
|
}
|
|
313
316
|
|
|
317
|
+
/**
|
|
318
|
+
* Returns the bmad-method platform code for a given ma-agents agent ID.
|
|
319
|
+
* Some agents use a different code in bmad-method's platform-codes.yaml
|
|
320
|
+
* (e.g. ma-agents 'roo-code' → bmad-method 'roo').
|
|
321
|
+
* Falls back to the agent ID itself if no override is defined.
|
|
322
|
+
*/
|
|
323
|
+
function getBmadPlatformCode(agentId) {
|
|
324
|
+
const agent = getAgent(agentId);
|
|
325
|
+
return (agent && agent.bmadPlatformCode) ? agent.bmadPlatformCode : agentId;
|
|
326
|
+
}
|
|
327
|
+
|
|
314
328
|
module.exports = {
|
|
315
329
|
getAgent,
|
|
316
330
|
getAllAgents,
|
|
317
|
-
getAgentsByCategory
|
|
331
|
+
getAgentsByCategory,
|
|
332
|
+
getBmadPlatformCode
|
|
318
333
|
};
|