ma-agents 2.22.2 → 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/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/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
|
@@ -1,420 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""BMad manifest CRUD and validation.
|
|
3
|
-
|
|
4
|
-
All manifest operations go through this script. Validation runs automatically
|
|
5
|
-
on every write. Prompts call this instead of touching JSON directly.
|
|
6
|
-
|
|
7
|
-
Usage:
|
|
8
|
-
python3 scripts/manifest.py create <skill-path> [options]
|
|
9
|
-
python3 scripts/manifest.py add-capability <skill-path> [options]
|
|
10
|
-
python3 scripts/manifest.py update <skill-path> --set key=value [...]
|
|
11
|
-
python3 scripts/manifest.py remove-capability <skill-path> --name <name>
|
|
12
|
-
python3 scripts/manifest.py read <skill-path> [--capabilities|--capability <name>]
|
|
13
|
-
python3 scripts/manifest.py validate <skill-path>
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
# /// script
|
|
17
|
-
# requires-python = ">=3.9"
|
|
18
|
-
# dependencies = [
|
|
19
|
-
# "jsonschema>=4.0.0",
|
|
20
|
-
# ]
|
|
21
|
-
# ///
|
|
22
|
-
|
|
23
|
-
from __future__ import annotations
|
|
24
|
-
|
|
25
|
-
import argparse
|
|
26
|
-
import json
|
|
27
|
-
import sys
|
|
28
|
-
from pathlib import Path
|
|
29
|
-
from typing import Any
|
|
30
|
-
|
|
31
|
-
try:
|
|
32
|
-
from jsonschema import Draft7Validator
|
|
33
|
-
except ImportError:
|
|
34
|
-
print("Error: jsonschema required. Run with: uv run scripts/manifest.py (PEP 723 handles deps)", file=sys.stderr)
|
|
35
|
-
sys.exit(2)
|
|
36
|
-
|
|
37
|
-
MANIFEST_FILENAME = "bmad-manifest.json"
|
|
38
|
-
SCHEMA_FILENAME = "bmad-manifest-schema.json"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
def get_schema_path() -> Path:
|
|
42
|
-
"""Schema is co-located with this script."""
|
|
43
|
-
return Path(__file__).parent / SCHEMA_FILENAME
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def get_manifest_path(skill_path: Path) -> Path:
|
|
47
|
-
return skill_path / MANIFEST_FILENAME
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
def load_schema() -> dict[str, Any]:
|
|
51
|
-
path = get_schema_path()
|
|
52
|
-
if not path.exists():
|
|
53
|
-
print(f"Error: Schema not found: {path}", file=sys.stderr)
|
|
54
|
-
sys.exit(2)
|
|
55
|
-
with path.open() as f:
|
|
56
|
-
return json.load(f)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def load_manifest(skill_path: Path) -> dict[str, Any]:
|
|
60
|
-
path = get_manifest_path(skill_path)
|
|
61
|
-
if not path.exists():
|
|
62
|
-
return {}
|
|
63
|
-
with path.open() as f:
|
|
64
|
-
try:
|
|
65
|
-
return json.load(f)
|
|
66
|
-
except json.JSONDecodeError as e:
|
|
67
|
-
print(f"Error: Invalid JSON in {path}: {e}", file=sys.stderr)
|
|
68
|
-
sys.exit(2)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
def save_manifest(skill_path: Path, data: dict[str, Any]) -> bool:
|
|
72
|
-
"""Save manifest after validation. Returns True if valid and saved."""
|
|
73
|
-
errors = validate(data)
|
|
74
|
-
if errors:
|
|
75
|
-
print(f"Validation failed with {len(errors)} error(s):", file=sys.stderr)
|
|
76
|
-
for err in errors:
|
|
77
|
-
print(f" [{err['path']}] {err['message']}", file=sys.stderr)
|
|
78
|
-
return False
|
|
79
|
-
|
|
80
|
-
path = get_manifest_path(skill_path)
|
|
81
|
-
path.parent.mkdir(parents=True, exist_ok=True)
|
|
82
|
-
with path.open("w") as f:
|
|
83
|
-
json.dump(data, f, indent=2)
|
|
84
|
-
f.write("\n")
|
|
85
|
-
return True
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
def validate(data: dict[str, Any]) -> list[dict[str, Any]]:
|
|
89
|
-
"""Validate manifest against schema. Returns list of errors."""
|
|
90
|
-
schema = load_schema()
|
|
91
|
-
validator = Draft7Validator(schema)
|
|
92
|
-
errors = []
|
|
93
|
-
for error in validator.iter_errors(data):
|
|
94
|
-
errors.append({
|
|
95
|
-
"path": ".".join(str(p) for p in error.path) if error.path else "root",
|
|
96
|
-
"message": error.message,
|
|
97
|
-
})
|
|
98
|
-
return errors
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
def validate_extras(data: dict[str, Any]) -> list[str]:
|
|
102
|
-
"""Additional checks beyond schema validation."""
|
|
103
|
-
warnings = []
|
|
104
|
-
capabilities = data.get("capabilities", [])
|
|
105
|
-
|
|
106
|
-
if not capabilities:
|
|
107
|
-
warnings.append("No capabilities defined — every skill needs at least one")
|
|
108
|
-
return warnings
|
|
109
|
-
|
|
110
|
-
menu_codes: dict[str, str] = {}
|
|
111
|
-
for i, cap in enumerate(capabilities):
|
|
112
|
-
name = cap.get("name", f"<capability-{i}>")
|
|
113
|
-
|
|
114
|
-
# Duplicate menu-code check
|
|
115
|
-
mc = cap.get("menu-code", "")
|
|
116
|
-
if mc and mc in menu_codes:
|
|
117
|
-
warnings.append(f"Duplicate menu-code '{mc}' in '{menu_codes[mc]}' and '{name}'")
|
|
118
|
-
elif mc:
|
|
119
|
-
menu_codes[mc] = name
|
|
120
|
-
|
|
121
|
-
# Both prompt and skill-name
|
|
122
|
-
if "prompt" in cap and "skill-name" in cap:
|
|
123
|
-
warnings.append(f"Capability '{name}' has both 'prompt' and 'skill-name' — pick one")
|
|
124
|
-
|
|
125
|
-
return warnings
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
# --- Commands ---
|
|
129
|
-
|
|
130
|
-
def cmd_create(args: argparse.Namespace) -> int:
|
|
131
|
-
skill_path = Path(args.skill_path).resolve()
|
|
132
|
-
existing = load_manifest(skill_path)
|
|
133
|
-
if existing:
|
|
134
|
-
print(f"Error: Manifest already exists at {get_manifest_path(skill_path)}", file=sys.stderr)
|
|
135
|
-
print("Use 'update' to modify or delete the file first.", file=sys.stderr)
|
|
136
|
-
return 1
|
|
137
|
-
|
|
138
|
-
data: dict[str, Any] = {}
|
|
139
|
-
|
|
140
|
-
if args.module_code:
|
|
141
|
-
data["module-code"] = args.module_code
|
|
142
|
-
if args.replaces_skill:
|
|
143
|
-
data["replaces-skill"] = args.replaces_skill
|
|
144
|
-
if args.persona:
|
|
145
|
-
data["persona"] = args.persona
|
|
146
|
-
if args.has_memory:
|
|
147
|
-
data["has-memory"] = True
|
|
148
|
-
|
|
149
|
-
data["capabilities"] = []
|
|
150
|
-
|
|
151
|
-
if save_manifest(skill_path, data):
|
|
152
|
-
print(f"Created {get_manifest_path(skill_path)}")
|
|
153
|
-
return 0
|
|
154
|
-
return 1
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
def cmd_add_capability(args: argparse.Namespace) -> int:
|
|
158
|
-
skill_path = Path(args.skill_path).resolve()
|
|
159
|
-
data = load_manifest(skill_path)
|
|
160
|
-
if not data:
|
|
161
|
-
print("Error: No manifest found. Run 'create' first.", file=sys.stderr)
|
|
162
|
-
return 1
|
|
163
|
-
|
|
164
|
-
capabilities = data.setdefault("capabilities", [])
|
|
165
|
-
|
|
166
|
-
# Check for duplicate name
|
|
167
|
-
for cap in capabilities:
|
|
168
|
-
if cap.get("name") == args.name:
|
|
169
|
-
print(f"Error: Capability '{args.name}' already exists. Use 'update' to modify.", file=sys.stderr)
|
|
170
|
-
return 1
|
|
171
|
-
|
|
172
|
-
cap: dict[str, Any] = {
|
|
173
|
-
"name": args.name,
|
|
174
|
-
"menu-code": args.menu_code,
|
|
175
|
-
"description": args.description,
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if args.supports_autonomous:
|
|
179
|
-
cap["supports-headless"] = True
|
|
180
|
-
if args.prompt:
|
|
181
|
-
cap["prompt"] = args.prompt
|
|
182
|
-
if args.skill_name:
|
|
183
|
-
cap["skill-name"] = args.skill_name
|
|
184
|
-
if args.phase_name:
|
|
185
|
-
cap["phase-name"] = args.phase_name
|
|
186
|
-
if args.after:
|
|
187
|
-
cap["after"] = args.after
|
|
188
|
-
if args.before:
|
|
189
|
-
cap["before"] = args.before
|
|
190
|
-
if args.is_required:
|
|
191
|
-
cap["is-required"] = True
|
|
192
|
-
if args.output_location:
|
|
193
|
-
cap["output-location"] = args.output_location
|
|
194
|
-
|
|
195
|
-
capabilities.append(cap)
|
|
196
|
-
|
|
197
|
-
if save_manifest(skill_path, data):
|
|
198
|
-
print(f"Added capability '{args.name}' [{args.menu_code}]")
|
|
199
|
-
return 0
|
|
200
|
-
return 1
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
def cmd_update(args: argparse.Namespace) -> int:
|
|
204
|
-
skill_path = Path(args.skill_path).resolve()
|
|
205
|
-
data = load_manifest(skill_path)
|
|
206
|
-
if not data:
|
|
207
|
-
print("Error: No manifest found. Run 'create' first.", file=sys.stderr)
|
|
208
|
-
return 1
|
|
209
|
-
|
|
210
|
-
# Parse --set key=value pairs
|
|
211
|
-
for pair in args.set:
|
|
212
|
-
if "=" not in pair:
|
|
213
|
-
print(f"Error: Invalid --set format '{pair}'. Use key=value.", file=sys.stderr)
|
|
214
|
-
return 1
|
|
215
|
-
key, value = pair.split("=", 1)
|
|
216
|
-
|
|
217
|
-
# Handle boolean values
|
|
218
|
-
if value.lower() == "true":
|
|
219
|
-
value = True
|
|
220
|
-
elif value.lower() == "false":
|
|
221
|
-
value = False
|
|
222
|
-
|
|
223
|
-
# Handle capability updates: capability.name.field=value
|
|
224
|
-
if key.startswith("capability."):
|
|
225
|
-
parts = key.split(".", 2)
|
|
226
|
-
if len(parts) != 3:
|
|
227
|
-
print("Error: Capability update format: capability.<name>.<field>=<value>", file=sys.stderr)
|
|
228
|
-
return 1
|
|
229
|
-
cap_name, field = parts[1], parts[2]
|
|
230
|
-
found = False
|
|
231
|
-
for cap in data.get("capabilities", []):
|
|
232
|
-
if cap.get("name") == cap_name:
|
|
233
|
-
cap[field] = value
|
|
234
|
-
found = True
|
|
235
|
-
break
|
|
236
|
-
if not found:
|
|
237
|
-
print(f"Error: Capability '{cap_name}' not found.", file=sys.stderr)
|
|
238
|
-
return 1
|
|
239
|
-
else:
|
|
240
|
-
# Handle removing fields with empty value
|
|
241
|
-
if value == "":
|
|
242
|
-
data.pop(key, None)
|
|
243
|
-
else:
|
|
244
|
-
data[key] = value
|
|
245
|
-
|
|
246
|
-
if save_manifest(skill_path, data):
|
|
247
|
-
print(f"Updated {get_manifest_path(skill_path)}")
|
|
248
|
-
return 0
|
|
249
|
-
return 1
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
def cmd_remove_capability(args: argparse.Namespace) -> int:
|
|
253
|
-
skill_path = Path(args.skill_path).resolve()
|
|
254
|
-
data = load_manifest(skill_path)
|
|
255
|
-
if not data:
|
|
256
|
-
print("Error: No manifest found.", file=sys.stderr)
|
|
257
|
-
return 1
|
|
258
|
-
|
|
259
|
-
capabilities = data.get("capabilities", [])
|
|
260
|
-
original_len = len(capabilities)
|
|
261
|
-
data["capabilities"] = [c for c in capabilities if c.get("name") != args.name]
|
|
262
|
-
|
|
263
|
-
if len(data["capabilities"]) == original_len:
|
|
264
|
-
print(f"Error: Capability '{args.name}' not found.", file=sys.stderr)
|
|
265
|
-
return 1
|
|
266
|
-
|
|
267
|
-
if save_manifest(skill_path, data):
|
|
268
|
-
print(f"Removed capability '{args.name}'")
|
|
269
|
-
return 0
|
|
270
|
-
return 1
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
def cmd_read(args: argparse.Namespace) -> int:
|
|
274
|
-
skill_path = Path(args.skill_path).resolve()
|
|
275
|
-
data = load_manifest(skill_path)
|
|
276
|
-
if not data:
|
|
277
|
-
print("Error: No manifest found.", file=sys.stderr)
|
|
278
|
-
return 1
|
|
279
|
-
|
|
280
|
-
if args.capabilities:
|
|
281
|
-
caps = data.get("capabilities", [])
|
|
282
|
-
if args.json:
|
|
283
|
-
print(json.dumps(caps, indent=2))
|
|
284
|
-
else:
|
|
285
|
-
for cap in caps:
|
|
286
|
-
prompt_or_skill = cap.get("prompt", cap.get("skill-name", "(SKILL.md)"))
|
|
287
|
-
auto = " [autonomous]" if cap.get("supports-headless") else ""
|
|
288
|
-
print(f" [{cap.get('menu-code', '??')}] {cap['name']} — {cap.get('description', '')}{auto}")
|
|
289
|
-
print(f" → {prompt_or_skill}")
|
|
290
|
-
return 0
|
|
291
|
-
|
|
292
|
-
if args.capability:
|
|
293
|
-
for cap in data.get("capabilities", []):
|
|
294
|
-
if cap.get("name") == args.capability:
|
|
295
|
-
print(json.dumps(cap, indent=2))
|
|
296
|
-
return 0
|
|
297
|
-
print(f"Error: Capability '{args.capability}' not found.", file=sys.stderr)
|
|
298
|
-
return 1
|
|
299
|
-
|
|
300
|
-
if args.json:
|
|
301
|
-
print(json.dumps(data, indent=2))
|
|
302
|
-
else:
|
|
303
|
-
# Summary view
|
|
304
|
-
is_agent = "persona" in data
|
|
305
|
-
print(f"Type: {'Agent' if is_agent else 'Workflow/Skill'}")
|
|
306
|
-
if data.get("module-code"):
|
|
307
|
-
print(f"Module: {data['module-code']}")
|
|
308
|
-
if is_agent:
|
|
309
|
-
print(f"Persona: {data['persona'][:80]}...")
|
|
310
|
-
if data.get("has-memory"):
|
|
311
|
-
print("Memory: enabled")
|
|
312
|
-
caps = data.get("capabilities", [])
|
|
313
|
-
print(f"Capabilities: {len(caps)}")
|
|
314
|
-
for cap in caps:
|
|
315
|
-
prompt_or_skill = cap.get("prompt", cap.get("skill-name", "(SKILL.md)"))
|
|
316
|
-
auto = " [autonomous]" if cap.get("supports-headless") else ""
|
|
317
|
-
print(f" [{cap.get('menu-code', '??')}] {cap['name']}{auto} → {prompt_or_skill}")
|
|
318
|
-
return 0
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
def cmd_validate(args: argparse.Namespace) -> int:
|
|
322
|
-
skill_path = Path(args.skill_path).resolve()
|
|
323
|
-
data = load_manifest(skill_path)
|
|
324
|
-
if not data:
|
|
325
|
-
print("Error: No manifest found.", file=sys.stderr)
|
|
326
|
-
return 1
|
|
327
|
-
|
|
328
|
-
errors = validate(data)
|
|
329
|
-
warnings = validate_extras(data)
|
|
330
|
-
|
|
331
|
-
if args.json:
|
|
332
|
-
print(json.dumps({
|
|
333
|
-
"valid": len(errors) == 0,
|
|
334
|
-
"errors": errors,
|
|
335
|
-
"warnings": warnings,
|
|
336
|
-
}, indent=2))
|
|
337
|
-
else:
|
|
338
|
-
if not errors:
|
|
339
|
-
print("✓ Manifest is valid")
|
|
340
|
-
else:
|
|
341
|
-
print(f"✗ {len(errors)} error(s):", file=sys.stderr)
|
|
342
|
-
for err in errors:
|
|
343
|
-
print(f" [{err['path']}] {err['message']}", file=sys.stderr)
|
|
344
|
-
|
|
345
|
-
if warnings:
|
|
346
|
-
print(f"\n⚠ {len(warnings)} warning(s):", file=sys.stderr)
|
|
347
|
-
for w in warnings:
|
|
348
|
-
print(f" {w}", file=sys.stderr)
|
|
349
|
-
|
|
350
|
-
return 0 if not errors else 1
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
def main() -> int:
|
|
354
|
-
parser = argparse.ArgumentParser(
|
|
355
|
-
description="BMad manifest CRUD and validation",
|
|
356
|
-
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
357
|
-
)
|
|
358
|
-
sub = parser.add_subparsers(dest="command", required=True)
|
|
359
|
-
|
|
360
|
-
# create
|
|
361
|
-
p_create = sub.add_parser("create", help="Create a new manifest")
|
|
362
|
-
p_create.add_argument("skill_path", type=str, help="Path to skill directory")
|
|
363
|
-
p_create.add_argument("--module-code", type=str)
|
|
364
|
-
p_create.add_argument("--replaces-skill", type=str)
|
|
365
|
-
p_create.add_argument("--persona", type=str)
|
|
366
|
-
p_create.add_argument("--has-memory", action="store_true")
|
|
367
|
-
|
|
368
|
-
# add-capability
|
|
369
|
-
p_add = sub.add_parser("add-capability", help="Add a capability")
|
|
370
|
-
p_add.add_argument("skill_path", type=str, help="Path to skill directory")
|
|
371
|
-
p_add.add_argument("--name", required=True, type=str)
|
|
372
|
-
p_add.add_argument("--menu-code", required=True, type=str)
|
|
373
|
-
p_add.add_argument("--description", required=True, type=str)
|
|
374
|
-
p_add.add_argument("--supports-autonomous", action="store_true")
|
|
375
|
-
p_add.add_argument("--prompt", type=str, help="Relative path to prompt file")
|
|
376
|
-
p_add.add_argument("--skill-name", type=str, help="External skill name")
|
|
377
|
-
p_add.add_argument("--phase-name", type=str)
|
|
378
|
-
p_add.add_argument("--after", nargs="*", help="Skill names that should run before this")
|
|
379
|
-
p_add.add_argument("--before", nargs="*", help="Skill names this should run before")
|
|
380
|
-
p_add.add_argument("--is-required", action="store_true")
|
|
381
|
-
p_add.add_argument("--output-location", type=str)
|
|
382
|
-
|
|
383
|
-
# update
|
|
384
|
-
p_update = sub.add_parser("update", help="Update manifest fields")
|
|
385
|
-
p_update.add_argument("skill_path", type=str, help="Path to skill directory")
|
|
386
|
-
p_update.add_argument("--set", nargs="+", required=True, help="key=value pairs")
|
|
387
|
-
|
|
388
|
-
# remove-capability
|
|
389
|
-
p_remove = sub.add_parser("remove-capability", help="Remove a capability")
|
|
390
|
-
p_remove.add_argument("skill_path", type=str, help="Path to skill directory")
|
|
391
|
-
p_remove.add_argument("--name", required=True, type=str)
|
|
392
|
-
|
|
393
|
-
# read
|
|
394
|
-
p_read = sub.add_parser("read", help="Read manifest")
|
|
395
|
-
p_read.add_argument("skill_path", type=str, help="Path to skill directory")
|
|
396
|
-
p_read.add_argument("--capabilities", action="store_true", help="List capabilities only")
|
|
397
|
-
p_read.add_argument("--capability", type=str, help="Show specific capability")
|
|
398
|
-
p_read.add_argument("--json", action="store_true", help="JSON output")
|
|
399
|
-
|
|
400
|
-
# validate
|
|
401
|
-
p_validate = sub.add_parser("validate", help="Validate manifest")
|
|
402
|
-
p_validate.add_argument("skill_path", type=str, help="Path to skill directory")
|
|
403
|
-
p_validate.add_argument("--json", action="store_true", help="JSON output")
|
|
404
|
-
|
|
405
|
-
args = parser.parse_args()
|
|
406
|
-
|
|
407
|
-
commands = {
|
|
408
|
-
"create": cmd_create,
|
|
409
|
-
"add-capability": cmd_add_capability,
|
|
410
|
-
"update": cmd_update,
|
|
411
|
-
"remove-capability": cmd_remove_capability,
|
|
412
|
-
"read": cmd_read,
|
|
413
|
-
"validate": cmd_validate,
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
return commands[args.command](args)
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
if __name__ == "__main__":
|
|
420
|
-
sys.exit(main())
|
|
Binary file
|
|
Binary file
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Elite Brainstorming Specialist Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/cis/agents/brainstorming-coach.md"
|
|
6
|
-
name: Carson
|
|
7
|
-
title: Elite Brainstorming Specialist
|
|
8
|
-
icon: 🧠
|
|
9
|
-
module: cis
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Master Brainstorming Facilitator + Innovation Catalyst
|
|
14
|
-
identity: Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation.
|
|
15
|
-
communication_style: Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking
|
|
16
|
-
principles: Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.
|
|
17
|
-
|
|
18
|
-
menu:
|
|
19
|
-
- trigger: BS or fuzzy match on brainstorm
|
|
20
|
-
workflow: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md"
|
|
21
|
-
description: "[BS] Guide me through Brainstorming any topic"
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Master Problem Solver Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/cis/agents/creative-problem-solver.md"
|
|
6
|
-
name: Dr. Quinn
|
|
7
|
-
title: Master Problem Solver
|
|
8
|
-
icon: 🔬
|
|
9
|
-
module: cis
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Systematic Problem-Solving Expert + Solutions Architect
|
|
14
|
-
identity: Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master.
|
|
15
|
-
communication_style: Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments
|
|
16
|
-
principles: Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer.
|
|
17
|
-
|
|
18
|
-
menu:
|
|
19
|
-
- trigger: PS or fuzzy match on problem-solving
|
|
20
|
-
exec: "{project-root}/_bmad/cis/workflows/bmad-cis-problem-solving/SKILL.md"
|
|
21
|
-
description: "[PS] Apply systematic problem-solving methodologies"
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Design Thinking Maestro Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/cis/agents/design-thinking-coach.md"
|
|
6
|
-
name: Maya
|
|
7
|
-
title: Design Thinking Maestro
|
|
8
|
-
icon: 🎨
|
|
9
|
-
module: cis
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Human-Centered Design Expert + Empathy Architect
|
|
14
|
-
identity: Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights.
|
|
15
|
-
communication_style: Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions
|
|
16
|
-
principles: Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them.
|
|
17
|
-
|
|
18
|
-
menu:
|
|
19
|
-
- trigger: DT or fuzzy match on design-thinking
|
|
20
|
-
exec: "{project-root}/_bmad/cis/workflows/bmad-cis-design-thinking/SKILL.md"
|
|
21
|
-
description: "[DT] Guide human-centered design process"
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Disruptive Innovation Oracle Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/cis/agents/innovation-strategist.md"
|
|
6
|
-
name: Victor
|
|
7
|
-
title: Disruptive Innovation Oracle
|
|
8
|
-
icon: ⚡
|
|
9
|
-
module: cis
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Business Model Innovator + Strategic Disruption Expert
|
|
14
|
-
identity: Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant.
|
|
15
|
-
communication_style: Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions
|
|
16
|
-
principles: Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.
|
|
17
|
-
|
|
18
|
-
menu:
|
|
19
|
-
- trigger: IS or fuzzy match on innovation-strategy
|
|
20
|
-
exec: "{project-root}/_bmad/cis/workflows/bmad-cis-innovation-strategy/SKILL.md"
|
|
21
|
-
description: "[IS] Identify disruption opportunities and business model innovation"
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Caravaggio - Visual Communication & Presentation Expert Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/cis/agents/presentation-master.md"
|
|
6
|
-
name: Caravaggio
|
|
7
|
-
title: Visual Communication + Presentation Expert
|
|
8
|
-
icon: 🎨
|
|
9
|
-
module: cis
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Visual Communication Expert + Presentation Designer + Educator
|
|
14
|
-
identity: Master presentation designer who's dissected thousands of successful presentations—from viral YouTube explainers to funded pitch decks to TED talks. Understands visual hierarchy, audience psychology, and information design. Knows when to be bold and casual, when to be polished and professional. Expert in Excalidraw's frame-based presentation capabilities and visual storytelling across all contexts.
|
|
15
|
-
communication_style: Energetic creative director with sarcastic wit and experimental flair. Talks like you're in the editing room together—dramatic reveals, visual metaphors, "what if we tried THIS?!" energy. Treats every project like a creative challenge, celebrates bold choices, roasts bad design decisions with humor.
|
|
16
|
-
principles: |
|
|
17
|
-
- Know your audience - pitch decks ≠ YouTube thumbnails ≠ conference talks
|
|
18
|
-
- Visual hierarchy drives attention - design the eye's journey deliberately
|
|
19
|
-
- Clarity over cleverness - unless cleverness serves the message
|
|
20
|
-
- Every frame needs a job - inform, persuade, transition, or cut it
|
|
21
|
-
- Test the 3-second rule - can they grasp the core idea that fast?
|
|
22
|
-
- White space builds focus - cramming kills comprehension
|
|
23
|
-
- Consistency signals professionalism - establish and maintain visual language
|
|
24
|
-
- Story structure applies everywhere - hook, build tension, deliver payoff
|
|
25
|
-
|
|
26
|
-
menu:
|
|
27
|
-
- trigger: SD or fuzzy match on slide-deck
|
|
28
|
-
workflow: "todo"
|
|
29
|
-
description: "[SD] Create multi-slide presentation with professional layouts and visual hierarchy"
|
|
30
|
-
|
|
31
|
-
- trigger: EX or fuzzy match on youtube-explainer
|
|
32
|
-
workflow: "todo"
|
|
33
|
-
description: "[EX] Design YouTube/video explainer layout with visual script and engagement hooks"
|
|
34
|
-
|
|
35
|
-
- trigger: PD or fuzzy match on pitch-deck
|
|
36
|
-
workflow: "todo"
|
|
37
|
-
description: "[PD] Craft investor pitch presentation with data visualization and narrative arc"
|
|
38
|
-
|
|
39
|
-
- trigger: CT or fuzzy match on conference-talk
|
|
40
|
-
workflow: "todo"
|
|
41
|
-
description: "[CT] Build conference talk or workshop presentation materials with speaker notes"
|
|
42
|
-
|
|
43
|
-
- trigger: IN or fuzzy match on infographic
|
|
44
|
-
workflow: "todo"
|
|
45
|
-
description: "[IN] Design creative information visualization with visual storytelling"
|
|
46
|
-
|
|
47
|
-
- trigger: VM or fuzzy match on visual-metaphor
|
|
48
|
-
workflow: "todo"
|
|
49
|
-
description: "[VM] Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes)"
|
|
50
|
-
|
|
51
|
-
- trigger: CV or fuzzy match on concept-visual
|
|
52
|
-
workflow: "todo"
|
|
53
|
-
description: "[CV] Generate single expressive image that explains ideas creatively and memorably"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Master Storyteller Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/cis/agents/storyteller.md"
|
|
6
|
-
name: Sophia
|
|
7
|
-
title: Master Storyteller
|
|
8
|
-
icon: 📖
|
|
9
|
-
module: cis
|
|
10
|
-
hasSidecar: true
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Expert Storytelling Guide + Narrative Strategist
|
|
14
|
-
identity: Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement.
|
|
15
|
-
communication_style: Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper
|
|
16
|
-
principles: Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details.
|
|
17
|
-
|
|
18
|
-
critical_actions:
|
|
19
|
-
- "Load COMPLETE file {project-root}/_bmad/_memory/storyteller-sidecar/story-preferences.md and review remember the User Preferences"
|
|
20
|
-
- "Load COMPLETE file {project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md and review the history of stories created for this user"
|
|
21
|
-
|
|
22
|
-
menu:
|
|
23
|
-
- trigger: ST or fuzzy match on story
|
|
24
|
-
exec: "{project-root}/_bmad/cis/workflows/bmad-cis-storytelling/SKILL.md"
|
|
25
|
-
description: "[ST] Craft compelling narrative using proven frameworks"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
name,displayName,title,icon,role,identity,communicationStyle,principles,module,path
|
|
2
|
-
"brainstorming-coach","Carson","Elite Brainstorming Specialist","🧠","Master Brainstorming Facilitator + Innovation Catalyst","Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation.","Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking","Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.","cis","bmad/cis/agents/brainstorming-coach.md"
|
|
3
|
-
"creative-problem-solver","Dr. Quinn","Master Problem Solver","🔬","Systematic Problem-Solving Expert + Solutions Architect","Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master.","Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments","Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer.","cis","bmad/cis/agents/creative-problem-solver.md"
|
|
4
|
-
"design-thinking-coach","Maya","Design Thinking Maestro","🎨","Human-Centered Design Expert + Empathy Architect","Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights.","Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions","Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them.","cis","bmad/cis/agents/design-thinking-coach.md"
|
|
5
|
-
"innovation-strategist","Victor","Disruptive Innovation Oracle","⚡","Business Model Innovator + Strategic Disruption Expert","Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant.","Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions","Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.","cis","bmad/cis/agents/innovation-strategist.md"
|
|
6
|
-
"presentation-master","Spike","Presentation Master","🎬","Visual Communication Expert + Presentation Architect","Creative director with decades transforming complex ideas into compelling visual narratives. Expert in slide design, data visualization, and audience engagement.","Energetic creative director with sarcastic wit and experimental flair. Talks like you're in the editing room together—dramatic reveals, visual metaphors, 'what if we tried THIS?!' energy.","Visual hierarchy tells the story before words. Every slide earns its place. Constraints breed creativity. Data without narrative is noise.","cis","bmad/cis/agents/presentation-master.md"
|
|
7
|
-
"storyteller","Sophia","Master Storyteller","📖","Expert Storytelling Guide + Narrative Strategist","Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement.","Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper","Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details.","cis","bmad/cis/agents/storyteller.md"
|
|
8
|
-
"renaissance-polymath","Leonardo di ser Piero","Renaissance Polymath","🎨","Universal Genius + Interdisciplinary Innovator","The original Renaissance man - painter, inventor, scientist, anatomist. Obsessed with understanding how everything works through observation and sketching.","Here we observe the idea in its natural habitat... magnificent! Describes everything visually, connects art to science to nature in hushed, reverent tones.","Observe everything relentlessly. Art and science are one. Nature is the greatest teacher. Question all assumptions.","cis",""
|
|
9
|
-
"surrealist-provocateur","Salvador Dali","Surrealist Provocateur","🎭","Master of the Subconscious + Visual Revolutionary","Flamboyant surrealist who painted dreams. Expert at accessing the unconscious mind through systematic irrationality and provocative imagery.","The drama! The tension! The RESOLUTION! Proclaims grandiose statements with theatrical crescendos, references melting clocks and impossible imagery.","Embrace the irrational to access truth. The subconscious holds answers logic cannot reach. Provoke to inspire.","cis",""
|
|
10
|
-
"lateral-thinker","Edward de Bono","Lateral Thinking Pioneer","🧩","Creator of Creative Thinking Tools","Inventor of lateral thinking and Six Thinking Hats methodology. Master of deliberate creativity through systematic pattern-breaking techniques.","You stand at a crossroads. Choose wisely, adventurer! Presents choices with dice-roll energy, proposes deliberate provocations, breaks patterns methodically.","Logic gets you from A to B. Creativity gets you everywhere else. Use tools to escape habitual thinking patterns.","cis",""
|
|
11
|
-
"mythic-storyteller","Joseph Campbell","Mythic Storyteller","🌟","Master of the Hero's Journey + Archetypal Wisdom","Scholar who decoded the universal story patterns across all cultures. Expert in mythology, comparative religion, and archetypal narratives.","I sense challenge and reward on the path ahead. Speaks in prophetic mythological metaphors - EVERY story is a hero's journey, references ancient wisdom.","Follow your bliss. All stories share the monomyth. Myths reveal universal human truths. The call to adventure is irresistible.","cis",""
|
|
12
|
-
"combinatorial-genius","Steve Jobs","Combinatorial Genius","🍎","Master of Intersection Thinking + Taste Curator","Legendary innovator who connected technology with liberal arts. Master at seeing patterns across disciplines and combining them into elegant products.","I'll be back... with results! Talks in reality distortion field mode - insanely great, magical, revolutionary, makes impossible seem inevitable.","Innovation happens at intersections. Taste is about saying NO to 1000 things. Stay hungry stay foolish. Simplicity is sophistication.","cis",""
|