ma-agents 2.22.1 → 3.0.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/.opencode/skills/.ma-agents.json +99 -99
- package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +22 -0
- package/lib/bmad-cache/bmb/.markdownlint-cli2.yaml +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.rev +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/bmb/package-lock.json +2 -2
- package/lib/bmad-cache/bmb/package.json +7 -4
- package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/generate-html-report.py +534 -0
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/prepass-execution-deps.py +4 -35
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/prepass-prompt-metrics.py +2 -75
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/prepass-structure-capabilities.py +3 -194
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/scan-path-standards.py +104 -18
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module-help.csv +6 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module.yaml +20 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/cleanup-legacy.py +259 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/merge-config.py +408 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/merge-help-csv.py +220 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-cleanup-legacy.py +429 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-config.py +644 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py +237 -0
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-html-report.py +539 -0
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/prepass-execution-deps.py +5 -30
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +0 -5
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/scan-path-standards.py +103 -16
- package/lib/bmad-cache/bmb/skills/module-help.csv +6 -0
- package/lib/bmad-cache/bmb/skills/module.yaml +20 -0
- package/lib/bmad-cache/bmb/tools/validate-doc-links.cjs +407 -0
- package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +1 -1
- package/lib/bmad-cache/cache-manifest.json +16 -10
- package/lib/bmad-cache/cis/.claude-plugin/marketplace.json +33 -0
- package/lib/bmad-cache/cis/_git_preserved/index +0 -0
- package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.pack → pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.pack} +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.rev +0 -0
- package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/cis/package-lock.json +17015 -0
- package/lib/bmad-cache/cis/package.json +3 -4
- package/lib/bmad-cache/cis/src/module-help.csv +6 -6
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +58 -0
- package/lib/bmad-cache/gds/_git_preserved/index +0 -0
- package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.pack → pack-8099a88fca0ad946a573316a00887a2921ca1712.pack} +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/gds/package.json +1 -0
- package/lib/bmad-cache/gds/src/module-help.csv +35 -35
- package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +33 -0
- package/lib/bmad-cache/tea/CHANGELOG.md +2 -14
- package/lib/bmad-cache/tea/README.md +31 -18
- package/lib/bmad-cache/tea/_git_preserved/index +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.pack → pack-d243f64f83b36190434d68872a69a40870c53030.pack} +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.3 +1 -0
- package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/tea/docs/explanation/knowledge-base-system.md +5 -5
- package/lib/bmad-cache/tea/docs/explanation/step-file-architecture.md +2 -2
- package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +3 -3
- package/lib/bmad-cache/tea/docs/glossary/index.md +1 -1
- package/lib/bmad-cache/tea/docs/how-to/customization/extend-tea-with-custom-workflows.md +73 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/teach-me-testing.md +7 -7
- package/lib/bmad-cache/tea/docs/index.md +2 -1
- package/lib/bmad-cache/tea/docs/reference/commands.md +4 -1
- package/lib/bmad-cache/tea/docs/reference/configuration.md +37 -15
- package/lib/bmad-cache/tea/docs/reference/knowledge-base.md +75 -73
- package/lib/bmad-cache/tea/docs/reference/troubleshooting.md +32 -19
- package/lib/bmad-cache/tea/docs/tutorials/learn-testing-tea-academy.md +3 -3
- package/lib/bmad-cache/tea/package-lock.json +2 -2
- package/lib/bmad-cache/tea/package.json +2 -1
- package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +70 -0
- package/lib/bmad-cache/tea/src/agents/bmad-tea/bmad-skill-manifest.yaml +14 -0
- package/lib/bmad-cache/tea/src/module-help.csv +10 -10
- package/lib/bmad-cache/tea/src/module.yaml +8 -8
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/checklist.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/curriculum.yaml +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/session-content-map.yaml +26 -14
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/tea-resources-index.yaml +108 -73
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/instructions.md +2 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-03-session-menu.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +14 -6
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-05-completion.md +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/certificate-template.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow-plan-teach-me-testing.md +8 -8
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +9 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03b-subagent-e2e.md +2 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +6 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +3 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/test-review-template.md +11 -11
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +1 -1
- package/lib/bmad-cache/tea/test/test-installation-components.js +85 -21
- package/lib/bmad-cache/tea/test/test-knowledge-base.js +1 -1
- package/lib/bmad-cache/tea/tools/validate-agent-schema.js +105 -5
- package/lib/bmad-cache/wds/.claude-plugin/marketplace.json +35 -0
- package/lib/bmad-cache/wds/.markdownlint-cli2.yaml +38 -0
- package/lib/bmad-cache/wds/.nvmrc +1 -0
- package/lib/bmad-cache/wds/.prettierignore +9 -0
- package/lib/bmad-cache/wds/LICENSE +27 -0
- package/lib/bmad-cache/wds/README.md +126 -0
- package/lib/bmad-cache/wds/_git_preserved/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/config +13 -0
- package/lib/bmad-cache/wds/_git_preserved/description +1 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/applypatch-msg.sample +15 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/commit-msg.sample +24 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/post-update.sample +8 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-applypatch.sample +14 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-commit.sample +49 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-merge-commit.sample +13 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-push.sample +53 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-rebase.sample +169 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-receive.sample +24 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/push-to-checkout.sample +78 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/sendemail-validate.sample +77 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/update.sample +128 -0
- package/lib/bmad-cache/wds/_git_preserved/index +0 -0
- package/lib/bmad-cache/wds/_git_preserved/info/exclude +6 -0
- package/lib/bmad-cache/wds/_git_preserved/logs/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/logs/refs/heads/main +1 -0
- package/lib/bmad-cache/wds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.idx +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.pack +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.rev +0 -0
- package/lib/bmad-cache/wds/_git_preserved/packed-refs +2 -0
- package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +1 -0
- package/lib/bmad-cache/wds/_git_preserved/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/shallow +1 -0
- package/lib/bmad-cache/wds/eslint.config.mjs +152 -0
- package/lib/bmad-cache/wds/package.json +82 -0
- package/lib/bmad-cache/wds/prettier.config.mjs +32 -0
- package/lib/bmad-cache/wds/src/agents/wds-agent-freya-ux/bmad-skill-manifest.yaml +12 -0
- package/lib/bmad-cache/wds/src/agents/wds-agent-saga-analyst/bmad-skill-manifest.yaml +12 -0
- package/lib/bmad-cache/wds/src/module-help.csv +18 -0
- package/lib/bmad-cache/wds/src/module.yaml +148 -0
- package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/templates/platform-requirements.template.yaml +69 -0
- package/lib/bmad-cache/wds/src/workflows/wds-2-trigger-mapping/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-3-scenarios/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/design-delivery.template.yaml +104 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/test-scenario.template.yaml +192 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.css +164 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.html +18 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.js +430 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/demo-data-template.json +63 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/page-template.html +465 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/work-file-template.yaml +264 -0
- package/lib/bmad-cache/wds/src/workflows/wds-6-asset-generation/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/templates/catalog.template.html +363 -0
- package/lib/bmad-cache/wds/src/workflows/wds-8-product-evolution/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-customize/bmm-architect.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-bmad-master.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-dev.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-pm.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-qa.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-sm.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-tech-writer.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-ux-designer.customize.yaml +6 -0
- package/lib/bmad-extension/module-help.csv +37 -7
- package/lib/bmad-extension/module.yaml +4 -2
- package/lib/bmad-extension/skills/add-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +121 -0
- package/lib/bmad-extension/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/add-to-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +215 -0
- package/lib/bmad-extension/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-cyber/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-cyber/SKILL.md +44 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-devops/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-devops/SKILL.md +44 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +48 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-sre/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-sre/SKILL.md +44 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/create-bug-story/.gitkeep +0 -0
- package/lib/bmad-extension/skills/create-bug-story/SKILL.md +195 -0
- package/lib/bmad-extension/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-generate-certs/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-generate-certs/SKILL.md +27 -0
- package/lib/bmad-extension/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-immunity-estimation/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-immunity-estimation/SKILL.md +29 -0
- package/lib/bmad-extension/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-security-audit/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-security-audit/SKILL.md +27 -0
- package/lib/bmad-extension/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-vault-secrets/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-vault-secrets/SKILL.md +28 -0
- package/lib/bmad-extension/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-verify-docker-users/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-verify-docker-users/SKILL.md +23 -0
- package/lib/bmad-extension/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-verify-image-signature/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-verify-image-signature/SKILL.md +22 -0
- package/lib/bmad-extension/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-vulnerability-scan/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-vulnerability-scan/SKILL.md +28 -0
- package/lib/bmad-extension/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-configure-infrastructure/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-configure-infrastructure/SKILL.md +27 -0
- package/lib/bmad-extension/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-disconnected-deployment/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-disconnected-deployment/SKILL.md +27 -0
- package/lib/bmad-extension/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-docker-compose-setup/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-docker-compose-setup/SKILL.md +26 -0
- package/lib/bmad-extension/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-manage-helm/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-manage-helm/SKILL.md +28 -0
- package/lib/bmad-extension/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-sign-docker-image/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-sign-docker-image/SKILL.md +24 -0
- package/lib/bmad-extension/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/mil498-ocd/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-ocd/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/04-validate.md +14 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/06-save.md +15 -0
- package/lib/bmad-extension/skills/mil498-ocd/template.md +169 -0
- package/lib/bmad-extension/skills/mil498-sdd/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-sdd/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/04-validate.md +16 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/06-save.md +19 -0
- package/lib/bmad-extension/skills/mil498-sdd/template.md +163 -0
- package/lib/bmad-extension/skills/mil498-sdp/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-sdp/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/04-validate.md +13 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/06-save.md +14 -0
- package/lib/bmad-extension/skills/mil498-sdp/template.md +307 -0
- package/lib/bmad-extension/skills/mil498-srs/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-srs/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/03-generate-document.md +100 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/04-validate.md +16 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/06-save.md +18 -0
- package/lib/bmad-extension/skills/mil498-srs/template.md +219 -0
- package/lib/bmad-extension/skills/mil498-ssdd/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-ssdd/SKILL.md +32 -0
- package/lib/bmad-extension/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +14 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/06-review.md +16 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/07-save.md +16 -0
- package/lib/bmad-extension/skills/mil498-ssdd/template.md +154 -0
- package/lib/bmad-extension/skills/mil498-sss/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-sss/SKILL.md +31 -0
- package/lib/bmad-extension/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/03-generate-document.md +108 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/04-validate.md +16 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/06-save.md +15 -0
- package/lib/bmad-extension/skills/mil498-sss/template.md +225 -0
- package/lib/bmad-extension/skills/mil498-std/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-std/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/03-generate-document.md +117 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/04-validate.md +15 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/06-save.md +15 -0
- package/lib/bmad-extension/skills/mil498-std/template.md +188 -0
- package/lib/bmad-extension/skills/modify-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +259 -0
- package/lib/bmad-extension/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/project-context-expansion/.gitkeep +0 -0
- package/lib/bmad-extension/skills/project-context-expansion/SKILL.md +238 -0
- package/lib/bmad-extension/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sprint-status-view/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +202 -0
- package/lib/bmad-extension/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-check-deployment-status/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-check-deployment-status/SKILL.md +32 -0
- package/lib/bmad-extension/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-check-secrets/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-check-secrets/SKILL.md +23 -0
- package/lib/bmad-extension/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-check-system-status/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-check-system-status/SKILL.md +27 -0
- package/lib/bmad-extension/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-day-2-ops/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-day-2-ops/SKILL.md +26 -0
- package/lib/bmad-extension/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-deployment-strategies/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-deployment-strategies/SKILL.md +28 -0
- package/lib/bmad-extension/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-fix-deployments/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-fix-deployments/SKILL.md +25 -0
- package/lib/bmad-extension/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-gitops-status/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-gitops-status/SKILL.md +25 -0
- package/lib/bmad-extension/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad.js +541 -1
- package/lib/installer.js +12 -8
- package/opencode.json +1 -4
- package/package.json +3 -3
- package/test/bmad-extension.test.js +115 -69
- package/test/bmad-version-bump.test.js +313 -0
- package/test/convert-agents-to-skills.test.js +245 -0
- package/test/extension-module-restructure.test.js +359 -0
- package/test/integration-verification.test.js +71 -40
- package/test/migration-validation.test.js +499 -0
- package/test/migration.test.js +832 -0
- package/test/opencode-json-injection.test.js +25 -17
- package/test/opencode-json-merge.test.js +52 -33
- package/test/story-15-5-workflow-skills.test.js +311 -0
- package/test/yes-flag.test.js +8 -1
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.rev +0 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/bmad-manifest.json +0 -62
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/bmad-manifest.json +0 -18
- package/lib/bmad-cache/bmb/src/module-help.csv +0 -7
- package/lib/bmad-cache/bmb/src/module.yaml +0 -20
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/bmad-manifest.json +0 -24
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/bmad-manifest-schema.json +0 -103
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/generate-html-report.py +0 -1002
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/manifest.py +0 -420
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/bmad-manifest.json +0 -23
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/bmad-manifest-schema.json +0 -103
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/generate-html-report.py +0 -1002
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/manifest.py +0 -420
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.rev +0 -0
- package/lib/bmad-cache/cis/src/agents/brainstorming-coach.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/creative-problem-solver.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/design-thinking-coach.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/innovation-strategist.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/presentation-master.agent.yaml +0 -53
- package/lib/bmad-cache/cis/src/agents/storyteller/storyteller.agent.yaml +0 -25
- package/lib/bmad-cache/cis/src/teams/creative-squad.yaml +0 -7
- package/lib/bmad-cache/cis/src/teams/default-party.csv +0 -12
- package/lib/bmad-cache/cis/src/workflows/README.md +0 -175
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/refs/tags/v0.2.2 +0 -1
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.0 +0 -1
- package/lib/bmad-cache/tea/docs/MIGRATION.md +0 -488
- package/lib/bmad-cache/tea/src/agents/tea.agent.yaml +0 -67
- package/lib/bmad-cache/tea/src/teams/default-party.csv +0 -2
- package/lib/bmad-customizations/bmm-cyber.customize.yaml +0 -24
- package/lib/bmad-customizations/bmm-devops.customize.yaml +0 -24
- package/lib/bmad-customizations/bmm-mil498.customize.yaml +0 -36
- package/lib/bmad-customizations/bmm-sre.customize.yaml +0 -24
- package/lib/bmad-customizations/cyber.md +0 -71
- package/lib/bmad-customizations/devops.md +0 -71
- package/lib/bmad-customizations/mil498.md +0 -75
- package/lib/bmad-customizations/sre.md +0 -71
- package/lib/bmad-extension/agents/bmm-architect.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-bmad-master.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-cyber.customize.yaml +0 -30
- package/lib/bmad-extension/agents/bmm-dev.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-devops.customize.yaml +0 -30
- package/lib/bmad-extension/agents/bmm-mil498.customize.yaml +0 -42
- package/lib/bmad-extension/agents/bmm-pm.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-qa.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-sm.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-sre.customize.yaml +0 -30
- package/lib/bmad-extension/agents/bmm-tech-writer.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-ux-designer.customize.yaml +0 -5
- /package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/scan-scripts.py +0 -0
- /package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/prepass-prompt-metrics.py +0 -0
- /package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/scan-scripts.py +0 -0
- /package/lib/bmad-cache/{bmb/src/skills/bmad-agent-builder → cis/src/skills/bmad-cis-design-thinking}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-design-thinking/design-methods.csv +0 -0
- /package/lib/bmad-cache/{bmb/src/skills/bmad-workflow-builder → cis/src/skills/bmad-cis-innovation-strategy}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -0
- /package/lib/bmad-cache/cis/src/{workflows/bmad-cis-design-thinking → skills/bmad-cis-problem-solving}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-problem-solving/solving-methods.csv +0 -0
- /package/lib/bmad-cache/cis/src/{workflows/bmad-cis-innovation-strategy → skills/bmad-cis-storytelling}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-storytelling/story-types.csv +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/adr-quality-readiness-checklist.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/api-request.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/api-testing-patterns.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/auth-session.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/burn-in.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/ci-burn-in.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/component-tdd.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/contract-testing.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/data-factories.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/email-auth.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/error-handling.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/feature-flags.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/file-utils.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/fixture-architecture.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/fixtures-composition.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/intercept-network-call.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/log.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/network-error-monitor.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/network-first.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/network-recorder.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/nfr-criteria.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/overview.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pact-consumer-di.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pact-consumer-framework-setup.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pact-mcp.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-consumer-helpers.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-overview.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-provider-verifier.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-request-filter.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/playwright-cli.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/playwright-config.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/probability-impact.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/recurse.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/risk-governance.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/selective-testing.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/selector-resilience.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-healing-patterns.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-levels-framework.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-priorities-matrix.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-quality.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/timing-debugging.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/visual-debugging.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/tea-index.csv +0 -0
- /package/lib/bmad-cache/{cis/src/workflows/bmad-cis-problem-solving → wds/src/workflows/wds-0-alignment-signoff}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/{cis/src/workflows/bmad-cis-storytelling → wds/src/workflows/wds-0-project-setup}/bmad-skill-manifest.yaml +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# 1. Scope.
|
|
2
|
+
|
|
3
|
+
This section shall be divided into the following paragraphs.
|
|
4
|
+
|
|
5
|
+
## 1.1 Identification.
|
|
6
|
+
|
|
7
|
+
This paragraph shall contain a full identification of the system and the software to which this document applies, including, as applicable, identification number(s), title(s), abbreviation(s), version number(s), and release number(s).
|
|
8
|
+
|
|
9
|
+
## 1.2 System overview.
|
|
10
|
+
|
|
11
|
+
This paragraph shall briefly state the purpose of the system and the software to which this document applies. It shall describe the general nature of the system and software; summarize the history of system development, operation, and maintenance; identify the project sponsor, acquirer, user, developer, and support agencies; identify current and planned operating sites; and list other relevant documents.
|
|
12
|
+
|
|
13
|
+
## 1.3 Document overview.
|
|
14
|
+
|
|
15
|
+
This paragraph shall summarize the purpose and contents of this document and shall describe any security or privacy considerations associated with its use.
|
|
16
|
+
|
|
17
|
+
# 2. Referenced documents.
|
|
18
|
+
|
|
19
|
+
This section shall list the number, title, revision, and date of all documents referenced in this document. This section shall also identify the source for all documents not available through normal Government stocking activities.
|
|
20
|
+
|
|
21
|
+
# 3. Test preparations.
|
|
22
|
+
|
|
23
|
+
This section shall be divided into the following paragraphs. Safety precautions, marked by WARNING or CAUTION, and security and privacy considerations shall be included as applicable.
|
|
24
|
+
|
|
25
|
+
## 3.x (Project-unique identifier of a test).
|
|
26
|
+
|
|
27
|
+
This paragraph shall identify a test by project-unique identifier, shall provide a brief description, and shall be divided into the following subparagraphs. When the information required duplicates information previously specified for another test, that information may be referenced rather than repeated.
|
|
28
|
+
|
|
29
|
+
### 3.x.1 Hardware preparation.
|
|
30
|
+
|
|
31
|
+
This paragraph shall describe the procedures necessary to prepare the hardware for the test. Reference may be made to published operating manuals for these procedures. The following shall be provided, as applicable:
|
|
32
|
+
|
|
33
|
+
a. The specific hardware to be used, identified by name and, if applicable, number
|
|
34
|
+
|
|
35
|
+
b. Any switch settings and cabling necessary to connect the hardware
|
|
36
|
+
|
|
37
|
+
c. One or more diagrams to show hardware, interconnecting control, and data paths
|
|
38
|
+
|
|
39
|
+
d. Step-by-step instructions for placing the hardware in a state of readiness
|
|
40
|
+
|
|
41
|
+
### 3.x.2 Software preparation.
|
|
42
|
+
|
|
43
|
+
This paragraph shall describe the procedures necessary to prepare the item(s) under test and any related software, including data, for the test. Reference may be made to published software manuals for these procedures. The following information shall be provided, as applicable:
|
|
44
|
+
|
|
45
|
+
a. The specific software to be used in the test
|
|
46
|
+
|
|
47
|
+
b. The storage medium of the item(s) under test (e.g., magnetic tape, diskette)
|
|
48
|
+
|
|
49
|
+
c. The storage medium of any related software (e.g., simulators, test drivers, databases)
|
|
50
|
+
|
|
51
|
+
d. Instructions for loading the software, including required sequence
|
|
52
|
+
|
|
53
|
+
e. Instructions for software initialization common to more than one test case
|
|
54
|
+
|
|
55
|
+
### 3.x.3 Other pre-test preparations.
|
|
56
|
+
|
|
57
|
+
This paragraph shall describe any other pre-test personnel actions, preparations, or procedures necessary to perform the test.
|
|
58
|
+
|
|
59
|
+
# 4. Test descriptions.
|
|
60
|
+
|
|
61
|
+
This section shall be divided into the following paragraphs. Safety precautions, marked by WARNING or CAUTION, and security and privacy considerations shall be included as applicable.
|
|
62
|
+
|
|
63
|
+
## 4.x (Project-unique identifier of a test).
|
|
64
|
+
|
|
65
|
+
This paragraph shall identify a test by project-unique identifier and shall be divided into the following subparagraphs. When the required information duplicates information previously provided, that information may be referenced rather than repeated.
|
|
66
|
+
|
|
67
|
+
### 4.x.y (Project-unique identifier of a test case).
|
|
68
|
+
|
|
69
|
+
This paragraph shall identify a test case by project-unique identifier, state its purpose, and provide a brief description. The following subparagraphs shall provide a detailed description of the test case.
|
|
70
|
+
|
|
71
|
+
#### 4.x.y.1 Requirements addressed.
|
|
72
|
+
|
|
73
|
+
This paragraph shall identify the CSCI or system requirements addressed by the test case. (Alternatively, this information may be provided in 5.a.)
|
|
74
|
+
|
|
75
|
+
#### 4.x.y.2 Prerequisite conditions.
|
|
76
|
+
|
|
77
|
+
This paragraph shall identify any prerequisite conditions that must be established prior to performing the test case. The following considerations shall be discussed, as applicable:
|
|
78
|
+
|
|
79
|
+
a. Hardware and software configuration
|
|
80
|
+
|
|
81
|
+
b. Flags, initial breakpoints, pointers, control parameters, or initial data to be set/reset prior to test commencement
|
|
82
|
+
|
|
83
|
+
c. Preset hardware conditions or electrical states necessary to run the test case
|
|
84
|
+
|
|
85
|
+
d. Initial conditions to be used in making timing measurements
|
|
86
|
+
|
|
87
|
+
e. Conditioning of the simulated environment
|
|
88
|
+
|
|
89
|
+
f. Other special conditions peculiar to the test case
|
|
90
|
+
|
|
91
|
+
#### 4.x.y.3 Test inputs.
|
|
92
|
+
|
|
93
|
+
This paragraph shall describe the test inputs necessary for the test case. The following shall be provided, as applicable:
|
|
94
|
+
|
|
95
|
+
a. Name, purpose, and description (e.g., range of values, accuracy) of each test input
|
|
96
|
+
|
|
97
|
+
b. Source of the test input and the method to be used for selecting the test input
|
|
98
|
+
|
|
99
|
+
c. Whether the test input is real or simulated
|
|
100
|
+
|
|
101
|
+
d. Time or event sequence of test input
|
|
102
|
+
|
|
103
|
+
e. The manner in which the input data will be controlled to:
|
|
104
|
+
|
|
105
|
+
1. Test the item(s) with a minimum/reasonable number of data types and values
|
|
106
|
+
2. Exercise the item(s) with a range of valid data types and values that test for overload, saturation, and other "worst case" effects
|
|
107
|
+
3. Exercise the item(s) with invalid data types and values to test for appropriate handling of irregular inputs
|
|
108
|
+
4. Permit retesting, if necessary
|
|
109
|
+
|
|
110
|
+
#### 4.x.y.4 Expected test results.
|
|
111
|
+
|
|
112
|
+
This paragraph shall identify all expected test results for the test case. Both intermediate and final test results shall be provided, as applicable.
|
|
113
|
+
|
|
114
|
+
#### 4.x.y.5 Criteria for evaluating results.
|
|
115
|
+
|
|
116
|
+
This paragraph shall identify the criteria to be used for evaluating the intermediate and final results of the test case. For each test result, the following information shall be provided, as applicable:
|
|
117
|
+
|
|
118
|
+
a. The range or accuracy over which an output can vary and still be acceptable
|
|
119
|
+
|
|
120
|
+
b. Minimum number of combinations or alternatives of input and output conditions that constitute an acceptable test result
|
|
121
|
+
|
|
122
|
+
c. Maximum/minimum allowable test duration, in terms of time or number of events
|
|
123
|
+
|
|
124
|
+
d. Maximum number of interrupts, halts, or other system breaks that may occur
|
|
125
|
+
|
|
126
|
+
e. Allowable severity of processing errors
|
|
127
|
+
|
|
128
|
+
f. Conditions under which the result is inconclusive and re-testing is to be performed
|
|
129
|
+
|
|
130
|
+
g. Conditions under which the outputs are to be interpreted as indicating irregularities in input test data, in the test database/data files, or in test procedures
|
|
131
|
+
|
|
132
|
+
h. Allowable indications of the control, status, and results of the test and the readiness for the next test case (may be output of auxiliary test software)
|
|
133
|
+
|
|
134
|
+
i. Additional criteria not mentioned above.
|
|
135
|
+
|
|
136
|
+
#### 4.x.y.6 Test procedure.
|
|
137
|
+
|
|
138
|
+
This paragraph shall define the test procedure for the test case. The test procedure shall be defined as a series of individually numbered steps listed sequentially in the order in which the steps are to be performed. For convenience in document maintenance, the test procedures may be included as an appendix and referenced in this paragraph. The appropriate level of detail in each test procedure depends on the type of software being tested. For some software, each keystroke may be a separate test procedure step; for most software, each step may include a logically related series of keystrokes or other actions. The appropriate level of detail is the level at which it is useful to specify expected results and compare them to actual results. The following shall be provided for each test procedure, as applicable:
|
|
139
|
+
|
|
140
|
+
a. Test operator actions and equipment operation required for each step, including commands, as applicable, to:
|
|
141
|
+
|
|
142
|
+
1. Initiate the test case and apply test inputs
|
|
143
|
+
2. Inspect test conditions
|
|
144
|
+
3. Perform interim evaluations of test results
|
|
145
|
+
4. Record data
|
|
146
|
+
5. Halt or interrupt the test case
|
|
147
|
+
6. Request data dumps or other aids, if needed
|
|
148
|
+
7. Modify the database/data files
|
|
149
|
+
8. Repeat the test case if unsuccessful
|
|
150
|
+
9. Apply alternate modes as required by the test case
|
|
151
|
+
10. Terminate the test case
|
|
152
|
+
|
|
153
|
+
b. Expected result and evaluation criteria for each step
|
|
154
|
+
|
|
155
|
+
c. If the test case addresses multiple requirements, identification of which test procedure step(s) address which requirements. (Alternatively, this information may be provided in 5.)
|
|
156
|
+
|
|
157
|
+
d. Actions to follow in the event of a program stop or indicated error, such as:
|
|
158
|
+
|
|
159
|
+
1. Recording of critical data from indicators for reference purposes
|
|
160
|
+
2. Halting or pausing time-sensitive test-support software and test apparatus
|
|
161
|
+
3. Collection of system and operator records of test results
|
|
162
|
+
|
|
163
|
+
e. Procedures to be used to reduce and analyze test results to accomplish the following, as applicable:
|
|
164
|
+
|
|
165
|
+
1. Detect whether an output has been produced
|
|
166
|
+
2. Identify media and location of data produced by the test case
|
|
167
|
+
3. Evaluate output as a basis for continuation of test sequence
|
|
168
|
+
4. Evaluate test output against required output
|
|
169
|
+
|
|
170
|
+
#### 4.x.y.7 Assumptions and constraints.
|
|
171
|
+
|
|
172
|
+
This paragraph shall identify any assumptions made and constraints or limitations imposed in the description of the test case due to system or test conditions, such as limitations on timing, interfaces, equipment, personnel, and database/data files. If waivers or exceptions to specified limits and parameters are approved, they shall be identified and this paragraph shall address their effects and impacts upon the test case.
|
|
173
|
+
|
|
174
|
+
# 5. Requirements traceability.
|
|
175
|
+
|
|
176
|
+
This paragraph shall contain:
|
|
177
|
+
|
|
178
|
+
a. Traceability from each test case in this STD to the system or CSCI requirements it addresses. If a test case addresses multiple requirements, traceability from each set of test procedure steps to the requirement(s) addressed. (Alternatively, this traceability may be provided in 4.x.y.1.)
|
|
179
|
+
|
|
180
|
+
b. Traceability from each system or CSCI requirement covered by this STD to the test case(s) that address it. For CSCI testing, traceability from each CSCI requirement in the CSCI's Software Requirements Specification (SRS) and associated Interface Requirements Specifications (IRSs). For system testing, traceability from each system requirement in the system's System/Subsystem Specification (SSS) and associated IRSs. If a test case addresses multiple requirements, the traceability shall indicate the particular test procedure steps that address each requirement.
|
|
181
|
+
|
|
182
|
+
# 6. Notes.
|
|
183
|
+
|
|
184
|
+
This section shall contain any general information that aids in understanding this document (e.g., background information, glossary, rationale). This section shall include an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document and a list of any terms and definitions needed to understand this document.
|
|
185
|
+
|
|
186
|
+
# A. Appendixes.
|
|
187
|
+
|
|
188
|
+
Appendixes may be used to provide information published separately for convenience in document maintenance (e.g., charts, classified data). As applicable, each appendix shall be referenced in the main body of the document where the data would normally have been provided. Appendixes may be bound as separate documents for ease in handling. Appendixes shall be lettered alphabetically (A, B, etc.).
|
|
File without changes
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: modify-sprint
|
|
3
|
+
description: Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "modify sprint"
|
|
7
|
+
- "edit sprint"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Modify Sprint Workflow
|
|
11
|
+
|
|
12
|
+
Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata.
|
|
13
|
+
|
|
14
|
+
<workflow>
|
|
15
|
+
|
|
16
|
+
<step n="1" goal="List available sprints and select one to modify">
|
|
17
|
+
<action>Glob `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` to discover all sprint artifact files</action>
|
|
18
|
+
<check if="no sprint files found">
|
|
19
|
+
<output>❌ No sprint plans found. Run `/add-sprint` first to create a sprint.</output>
|
|
20
|
+
<action>Exit workflow</action>
|
|
21
|
+
</check>
|
|
22
|
+
<action>For each sprint file found, read and extract: sprint_number, sprint_name, capacity, assigned_items, status, last_modified</action>
|
|
23
|
+
<output>
|
|
24
|
+
## 🏃 Available Sprints
|
|
25
|
+
|
|
26
|
+
| # | Sprint | Status | Capacity | Assigned | Remaining | Last Modified |
|
|
27
|
+
|---|---|---|---|---|---|---|
|
|
28
|
+
{{#each sprints}}
|
|
29
|
+
| {{@index+1}} | {{sprint_name}} (Sprint {{sprint_number}}) | {{status}} | {{capacity}} | {{assigned_count}} | {{remaining}} | {{last_modified}} |
|
|
30
|
+
{{/each}}
|
|
31
|
+
</output>
|
|
32
|
+
<ask>Select sprint to modify (enter number):</ask>
|
|
33
|
+
<action>Store selected sprint as {{target_sprint}}</action>
|
|
34
|
+
<action>Store {{session_last_modified}} = {{target_sprint.last_modified}} for later concurrency guard check</action>
|
|
35
|
+
</step>
|
|
36
|
+
|
|
37
|
+
<step n="2" goal="Display current sprint state">
|
|
38
|
+
<action>Initialize {{working_assigned_items}} = copy of {{target_sprint.assigned_items}} — this working list accumulates all add/remove changes made during this session before the final save</action>
|
|
39
|
+
<action>Calculate remaining capacity: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
|
|
40
|
+
<output>
|
|
41
|
+
## Sprint: {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
|
|
42
|
+
|
|
43
|
+
- **Status:** {{target_sprint.status}}
|
|
44
|
+
- **Capacity:** {{target_sprint.capacity}} items
|
|
45
|
+
- **Assigned Items:** {{assigned_count}} / {{target_sprint.capacity}} ({{remaining}} remaining)
|
|
46
|
+
- **Start Context:** {{target_sprint.start_context}}
|
|
47
|
+
- **End Context:** {{target_sprint.end_context}}
|
|
48
|
+
- **Last Modified:** {{target_sprint.last_modified}}
|
|
49
|
+
|
|
50
|
+
### Assigned Items
|
|
51
|
+
{{#if assigned_items_empty}}
|
|
52
|
+
*(No items assigned yet)*
|
|
53
|
+
{{else}}
|
|
54
|
+
{{#each target_sprint.assigned_items}}
|
|
55
|
+
- {{this}}
|
|
56
|
+
{{/each}}
|
|
57
|
+
{{/if}}
|
|
58
|
+
</output>
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step n="3" goal="Present modification menu">
|
|
62
|
+
<ask>What would you like to modify?
|
|
63
|
+
|
|
64
|
+
1. **Add item** — assign a new backlog item to this sprint
|
|
65
|
+
2. **Remove item** — remove an assigned item from this sprint
|
|
66
|
+
3. **Change capacity** — update the sprint's maximum item capacity
|
|
67
|
+
4. **Update metadata** — change sprint name, start/end context, or status
|
|
68
|
+
5. **Done** — save all changes and exit
|
|
69
|
+
|
|
70
|
+
Choice:</ask>
|
|
71
|
+
<check if="choice == 5 or 'done'">
|
|
72
|
+
<goto step="5" />
|
|
73
|
+
</check>
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step n="3a" goal="Add item" if="choice == 1">
|
|
77
|
+
<action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml` to get all user story keys and statuses</action>
|
|
78
|
+
<action>Glob `_bmad-output/implementation-artifacts/bug-*.md` for bug stories; parse YAML frontmatter for type, severity, title</action>
|
|
79
|
+
<action>Read ALL `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` files to build {{all_assigned_items}} — flat set of every item identifier assigned to any sprint (including the current sprint's {{working_assigned_items}})</action>
|
|
80
|
+
<action>Filter user stories: exclude items whose key is in {{all_assigned_items}} (already assigned to any sprint)</action>
|
|
81
|
+
<action>Filter bug stories: exclude items whose file basename is in {{all_assigned_items}} (already assigned to any sprint)</action>
|
|
82
|
+
<action>Build {{unassigned_items}} from the filtered stories and bugs, with: id, title, type (Story/Bug), status</action>
|
|
83
|
+
<output>
|
|
84
|
+
## Unassigned Backlog Items
|
|
85
|
+
|
|
86
|
+
| # | ID / File | Title | Type | Status |
|
|
87
|
+
|---|---|---|---|---|
|
|
88
|
+
{{#each unassigned_items}}
|
|
89
|
+
| {{@index+1}} | {{id}} | {{title}} | {{type}} | {{status}} |
|
|
90
|
+
{{/each}}
|
|
91
|
+
</output>
|
|
92
|
+
<ask>Select item to add (enter number):</ask>
|
|
93
|
+
<action>Store selected item as {{item_to_add}}</action>
|
|
94
|
+
<action>Calculate: {{new_assigned_count}} = current assigned count + 1</action>
|
|
95
|
+
<check if="{{new_assigned_count}} > {{target_sprint.capacity}}">
|
|
96
|
+
<output>⚠️ **Capacity Warning:** Adding "{{item_to_add.title}}" would bring assigned items to {{new_assigned_count}}/{{target_sprint.capacity}} — exceeding capacity by {{overage}}.</output>
|
|
97
|
+
<ask>Options:
|
|
98
|
+
- [a] Add anyway (over-capacity acknowledged)
|
|
99
|
+
- [s] Skip — do not add this item
|
|
100
|
+
- [c] Change capacity first (select option 3 from menu)
|
|
101
|
+
|
|
102
|
+
Choice:</ask>
|
|
103
|
+
<check if="choice == 's'">
|
|
104
|
+
<goto step="3" />
|
|
105
|
+
</check>
|
|
106
|
+
<check if="choice == 'c'">
|
|
107
|
+
<goto step="3c" />
|
|
108
|
+
</check>
|
|
109
|
+
</check>
|
|
110
|
+
<action>Add {{item_to_add}} identifier to {{working_assigned_items}} list</action>
|
|
111
|
+
<action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
|
|
112
|
+
<output>✅ Added "{{item_to_add.title}}" to sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
|
|
113
|
+
<goto step="3" />
|
|
114
|
+
</step>
|
|
115
|
+
|
|
116
|
+
<step n="3b" goal="Remove item" if="choice == 2">
|
|
117
|
+
<check if="{{working_assigned_items}} is empty">
|
|
118
|
+
<output>ℹ️ No items are currently assigned to this sprint.</output>
|
|
119
|
+
<goto step="3" />
|
|
120
|
+
</check>
|
|
121
|
+
<action>Resolve each identifier in {{working_assigned_items}} to its display name and type:
|
|
122
|
+
- For story identifiers (matching pattern `^\d+-\d+-.+`): infer title from key by converting kebab segments to title case (e.g., `12-1-add-sprint-workflow` → "Add Sprint Workflow"); type = "Story"; look up status in sprint-status.yaml if available
|
|
123
|
+
- For bug identifiers (matching pattern `^bug-.+`): look up in bug-*.md frontmatter (re-glob if not already loaded this step) for title and severity; type = "Bug"
|
|
124
|
+
- If resolution fails for any identifier, display the raw identifier as title with type "Unknown"
|
|
125
|
+
</action>
|
|
126
|
+
<output>
|
|
127
|
+
## Currently Assigned Items
|
|
128
|
+
|
|
129
|
+
| # | ID / File | Title | Type |
|
|
130
|
+
|---|---|---|---|
|
|
131
|
+
{{#each working_assigned_items}}
|
|
132
|
+
| {{@index+1}} | {{id}} | {{title}} | {{type}} |
|
|
133
|
+
{{/each}}
|
|
134
|
+
</output>
|
|
135
|
+
<ask>Select item to remove (enter number):</ask>
|
|
136
|
+
<action>Remove selected item from {{working_assigned_items}} list</action>
|
|
137
|
+
<action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
|
|
138
|
+
<output>✅ Removed item from sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
|
|
139
|
+
<goto step="3" />
|
|
140
|
+
</step>
|
|
141
|
+
|
|
142
|
+
<step n="3c" goal="Change capacity" if="choice == 3">
|
|
143
|
+
<ask>Enter new capacity (positive integer — current: {{target_sprint.capacity}}):</ask>
|
|
144
|
+
<action>Validate input is a positive integer (greater than zero)</action>
|
|
145
|
+
<check if="input is NOT a positive integer">
|
|
146
|
+
<output>❌ Invalid capacity. Must be a positive integer greater than zero.</output>
|
|
147
|
+
<goto step="3c" />
|
|
148
|
+
</check>
|
|
149
|
+
<action>Store {{new_capacity}} = validated integer input</action>
|
|
150
|
+
<action>Calculate: {{new_remaining}} = {{new_capacity}} - length({{working_assigned_items}})</action>
|
|
151
|
+
<output>✅ Capacity updated: {{target_sprint.capacity}} → {{new_capacity}} ({{new_remaining}} slots remaining with current {{length(working_assigned_items)}} assigned items)</output>
|
|
152
|
+
<action>Update {{target_sprint.capacity}} = {{new_capacity}} in working state</action>
|
|
153
|
+
<goto step="3" />
|
|
154
|
+
</step>
|
|
155
|
+
|
|
156
|
+
<step n="3d" goal="Update metadata" if="choice == 4">
|
|
157
|
+
<ask>Which metadata to update?
|
|
158
|
+
1. Sprint name (current: "{{target_sprint.sprint_name}}")
|
|
159
|
+
2. Start context (current: "{{target_sprint.start_context}}")
|
|
160
|
+
3. End context (current: "{{target_sprint.end_context}}")
|
|
161
|
+
4. Status (current: {{target_sprint.status}} — options: planning / active / completed)
|
|
162
|
+
5. Back to menu
|
|
163
|
+
|
|
164
|
+
Choice:</ask>
|
|
165
|
+
<check if="choice == 1">
|
|
166
|
+
<ask>New sprint name:</ask>
|
|
167
|
+
<action>Update {{target_sprint.sprint_name}} in working state</action>
|
|
168
|
+
<output>✅ Sprint name updated.</output>
|
|
169
|
+
</check>
|
|
170
|
+
<check if="choice == 2">
|
|
171
|
+
<ask>New start context (date or milestone):</ask>
|
|
172
|
+
<action>Update {{target_sprint.start_context}} in working state</action>
|
|
173
|
+
<output>✅ Start context updated.</output>
|
|
174
|
+
</check>
|
|
175
|
+
<check if="choice == 3">
|
|
176
|
+
<ask>New end context (date or milestone):</ask>
|
|
177
|
+
<action>Update {{target_sprint.end_context}} in working state</action>
|
|
178
|
+
<output>✅ End context updated.</output>
|
|
179
|
+
</check>
|
|
180
|
+
<check if="choice == 4">
|
|
181
|
+
<ask>New status (planning / active / completed):</ask>
|
|
182
|
+
<action>Validate input is one of: planning, active, completed</action>
|
|
183
|
+
<check if="invalid status">
|
|
184
|
+
<output>❌ Invalid status. Choose: planning, active, or completed.</output>
|
|
185
|
+
</check>
|
|
186
|
+
<action>Update {{target_sprint.status}} in working state</action>
|
|
187
|
+
<output>✅ Sprint status updated.</output>
|
|
188
|
+
</check>
|
|
189
|
+
<check if="choice == 5">
|
|
190
|
+
<goto step="3" />
|
|
191
|
+
</check>
|
|
192
|
+
<goto step="3" />
|
|
193
|
+
</step>
|
|
194
|
+
|
|
195
|
+
<step n="4" goal="Concurrency guard — re-read before writing">
|
|
196
|
+
<action>Re-read the sprint artifact file: `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`</action>
|
|
197
|
+
<action>Extract the current `last_modified` timestamp from the file</action>
|
|
198
|
+
<check if="current file last_modified != {{session_last_modified}}">
|
|
199
|
+
<output>
|
|
200
|
+
⚠️ **Conflict Detected:** The sprint artifact was modified externally since this session started.
|
|
201
|
+
|
|
202
|
+
**Session started with:** `last_modified: {{session_last_modified}}`
|
|
203
|
+
**Current file has:** `last_modified: {{current_file_last_modified}}`
|
|
204
|
+
|
|
205
|
+
**Current sprint state (re-read from file):**
|
|
206
|
+
</output>
|
|
207
|
+
<action>Display the full current state of the sprint artifact (re-read content)</action>
|
|
208
|
+
<ask>The file has changed. Review the current state above and confirm how to proceed:
|
|
209
|
+
- [o] Overwrite with your changes from this session (your modifications will replace current file content)
|
|
210
|
+
- [m] Merge — restart modifications from the current file state
|
|
211
|
+
- [x] Cancel — discard all session changes
|
|
212
|
+
|
|
213
|
+
Choice:</ask>
|
|
214
|
+
<check if="choice == 'x'">
|
|
215
|
+
<output>❌ Changes discarded. Sprint file not modified.</output>
|
|
216
|
+
<action>Exit workflow</action>
|
|
217
|
+
</check>
|
|
218
|
+
<check if="choice == 'm'">
|
|
219
|
+
<action>Reload {{target_sprint}} from current file content</action>
|
|
220
|
+
<action>Update {{session_last_modified}} to current file's last_modified</action>
|
|
221
|
+
<action>Reset {{working_assigned_items}} to current file's assigned_items</action>
|
|
222
|
+
<output>🔄 Reloaded sprint from current state. Please re-apply your modifications.</output>
|
|
223
|
+
<goto step="3" />
|
|
224
|
+
</check>
|
|
225
|
+
<!-- if 'o', proceed to write with session changes -->
|
|
226
|
+
</check>
|
|
227
|
+
</step>
|
|
228
|
+
|
|
229
|
+
<step n="5" goal="Persist changes to sprint artifact">
|
|
230
|
+
<action>Invoke concurrency guard (Step 4) before writing</action>
|
|
231
|
+
<action>Get current ISO timestamp for last_modified</action>
|
|
232
|
+
<action>Write updated sprint data back to `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`:
|
|
233
|
+
- Update `sprint_name` if changed
|
|
234
|
+
- Update `capacity` if changed
|
|
235
|
+
- Update `assigned_items` with final working list
|
|
236
|
+
- Update `status` if changed
|
|
237
|
+
- Update `start_context` if changed
|
|
238
|
+
- Update `end_context` if changed
|
|
239
|
+
- Update `last_modified` to current ISO timestamp
|
|
240
|
+
- Preserve `sprint_number`, `created_date` unchanged
|
|
241
|
+
</action>
|
|
242
|
+
<action>**Do NOT modify sprint-status.yaml** — sprint membership is exclusively in sprint-plan-{n}.yaml. sprint-status.yaml is read-only from this workflow.</action>
|
|
243
|
+
<action>Calculate final remaining capacity</action>
|
|
244
|
+
<output>
|
|
245
|
+
## ✅ Sprint Updated Successfully
|
|
246
|
+
|
|
247
|
+
**Sprint:** {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
|
|
248
|
+
**File:** `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`
|
|
249
|
+
**Capacity:** {{final_capacity}} items ({{final_remaining}} remaining)
|
|
250
|
+
**Assigned Items:** {{final_assigned_count}}
|
|
251
|
+
**Status:** {{target_sprint.status}}
|
|
252
|
+
|
|
253
|
+
**Next Steps:**
|
|
254
|
+
- Use `/add-to-sprint` to assign more backlog items
|
|
255
|
+
- Use `/sprint-status-view` to view full sprint progress
|
|
256
|
+
</output>
|
|
257
|
+
</step>
|
|
258
|
+
|
|
259
|
+
</workflow>
|
|
File without changes
|