ma-agents 3.4.7 → 3.4.8
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 +48 -167
- package/.opencode/skills/MANIFEST.yaml +0 -128
- package/.opencode/skills/add-sprint/.gitkeep +0 -0
- package/.opencode/skills/add-sprint/SKILL.md +207 -0
- package/.opencode/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/add-to-sprint/.gitkeep +0 -0
- package/.opencode/skills/add-to-sprint/SKILL.md +189 -0
- package/.opencode/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +137 -0
- package/.opencode/skills/bmad-advanced-elicitation/methods.csv +51 -0
- package/.opencode/skills/bmad-agent-analyst/SKILL.md +56 -0
- package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-architect/SKILL.md +52 -0
- package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-dev/SKILL.md +62 -0
- package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-pm/SKILL.md +57 -0
- package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-qa/SKILL.md +59 -0
- package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +51 -0
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-sm/SKILL.md +53 -0
- package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +55 -0
- package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +20 -0
- package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +20 -0
- package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +19 -0
- package/.opencode/skills/bmad-agent-tech-writer/write-document.md +20 -0
- package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +53 -0
- package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-brainstorming/SKILL.md +6 -0
- package/.opencode/skills/bmad-brainstorming/brain-methods.csv +62 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
- package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
- package/.opencode/skills/bmad-brainstorming/template.md +15 -0
- package/.opencode/skills/bmad-brainstorming/workflow.md +53 -0
- package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +6 -0
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
- package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +49 -0
- package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +6 -0
- package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
- package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +31 -0
- package/.opencode/skills/bmad-cis-design-thinking/template.md +111 -0
- package/.opencode/skills/bmad-cis-design-thinking/workflow.md +242 -0
- package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +6 -0
- package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
- package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
- package/.opencode/skills/bmad-cis-innovation-strategy/template.md +189 -0
- package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +315 -0
- package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +6 -0
- package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
- package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +31 -0
- package/.opencode/skills/bmad-cis-problem-solving/template.md +165 -0
- package/.opencode/skills/bmad-cis-problem-solving/workflow.md +291 -0
- package/.opencode/skills/bmad-cis-storytelling/SKILL.md +6 -0
- package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
- package/.opencode/skills/bmad-cis-storytelling/story-types.csv +26 -0
- package/.opencode/skills/bmad-cis-storytelling/template.md +113 -0
- package/.opencode/skills/bmad-cis-storytelling/workflow.md +321 -0
- package/.opencode/skills/bmad-code-review/SKILL.md +6 -0
- package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +62 -0
- package/.opencode/skills/bmad-code-review/steps/step-02-review.md +34 -0
- package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +49 -0
- package/.opencode/skills/bmad-code-review/steps/step-04-present.md +129 -0
- package/.opencode/skills/bmad-code-review/workflow.md +55 -0
- package/.opencode/skills/bmad-correct-course/SKILL.md +6 -0
- package/.opencode/skills/bmad-correct-course/checklist.md +288 -0
- package/.opencode/skills/bmad-correct-course/workflow.md +267 -0
- package/.opencode/skills/bmad-create-architecture/SKILL.md +6 -0
- package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +12 -0
- package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +13 -0
- package/.opencode/skills/bmad-create-architecture/data/project-types.csv +7 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +153 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +173 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +224 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +329 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +318 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +359 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +379 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +359 -0
- package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +76 -0
- package/.opencode/skills/bmad-create-architecture/workflow.md +38 -0
- package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +6 -0
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
- package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
- package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +53 -0
- package/.opencode/skills/bmad-create-prd/SKILL.md +6 -0
- package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +15 -0
- package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +197 -0
- package/.opencode/skills/bmad-create-prd/data/project-types.csv +11 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +178 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +214 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +194 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +216 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +219 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +221 -0
- package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +115 -0
- package/.opencode/skills/bmad-create-prd/templates/prd-template.md +10 -0
- package/.opencode/skills/bmad-create-prd/workflow.md +62 -0
- package/.opencode/skills/bmad-create-story/SKILL.md +6 -0
- package/.opencode/skills/bmad-create-story/checklist.md +357 -0
- package/.opencode/skills/bmad-create-story/discover-inputs.md +88 -0
- package/.opencode/skills/bmad-create-story/template.md +49 -0
- package/.opencode/skills/bmad-create-story/workflow.md +380 -0
- package/.opencode/skills/bmad-create-ux-design/SKILL.md +6 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +135 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
- package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +171 -0
- package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +13 -0
- package/.opencode/skills/bmad-create-ux-design/workflow.md +36 -0
- package/.opencode/skills/bmad-dev-story/SKILL.md +6 -0
- package/.opencode/skills/bmad-dev-story/checklist.md +80 -0
- package/.opencode/skills/bmad-dev-story/workflow.md +450 -0
- package/.opencode/skills/bmad-distillator/SKILL.md +178 -0
- package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
- package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
- package/.opencode/skills/bmad-distillator/resources/compression-rules.md +51 -0
- package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
- package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
- package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
- package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
- package/.opencode/skills/bmad-document-project/SKILL.md +6 -0
- package/.opencode/skills/bmad-document-project/checklist.md +245 -0
- package/.opencode/skills/bmad-document-project/documentation-requirements.csv +12 -0
- package/.opencode/skills/bmad-document-project/instructions.md +128 -0
- package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +345 -0
- package/.opencode/skills/bmad-document-project/templates/index-template.md +169 -0
- package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +103 -0
- package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +160 -0
- package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +135 -0
- package/.opencode/skills/bmad-document-project/workflow.md +27 -0
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +299 -0
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
- package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +1107 -0
- package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +34 -0
- package/.opencode/skills/bmad-domain-research/SKILL.md +6 -0
- package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +137 -0
- package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
- package/.opencode/skills/bmad-domain-research/research.template.md +29 -0
- package/.opencode/skills/bmad-domain-research/workflow.md +49 -0
- package/.opencode/skills/bmad-edit-prd/SKILL.md +6 -0
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +165 -0
- package/.opencode/skills/bmad-edit-prd/workflow.md +63 -0
- package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +86 -0
- package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +179 -0
- package/.opencode/skills/bmad-generate-project-context/SKILL.md +6 -0
- package/.opencode/skills/bmad-generate-project-context/project-context-template.md +21 -0
- package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +186 -0
- package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +321 -0
- package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +278 -0
- package/.opencode/skills/bmad-generate-project-context/workflow.md +43 -0
- package/.opencode/skills/bmad-help/SKILL.md +73 -0
- package/.opencode/skills/bmad-index-docs/SKILL.md +66 -0
- package/.opencode/skills/bmad-init/SKILL.md +100 -0
- package/.opencode/skills/bmad-init/resources/core-module.yaml +25 -0
- package/.opencode/skills/bmad-init/scripts/bmad_init.py +593 -0
- package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +329 -0
- package/.opencode/skills/bmad-ma-agent-cyber/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +49 -0
- package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-ma-agent-devops/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +49 -0
- package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-ma-agent-mil498/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +53 -0
- package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +59 -0
- package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +49 -0
- package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +11 -0
- package/.opencode/skills/bmad-market-research/SKILL.md +6 -0
- package/.opencode/skills/bmad-market-research/research.template.md +29 -0
- package/.opencode/skills/bmad-market-research/steps/step-01-init.md +184 -0
- package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
- package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
- package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +478 -0
- package/.opencode/skills/bmad-market-research/workflow.md +49 -0
- package/.opencode/skills/bmad-party-mode/SKILL.md +6 -0
- package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +138 -0
- package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +167 -0
- package/.opencode/skills/bmad-party-mode/workflow.md +190 -0
- package/.opencode/skills/bmad-product-brief/SKILL.md +87 -0
- package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +60 -0
- package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +44 -0
- package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +44 -0
- package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +49 -0
- package/.opencode/skills/bmad-product-brief/bmad-manifest.json +17 -0
- package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +57 -0
- package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +86 -0
- package/.opencode/skills/bmad-product-brief/prompts/finalize.md +75 -0
- package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +70 -0
- package/.opencode/skills/bmad-product-brief/resources/brief-template.md +60 -0
- package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
- package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
- package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +136 -0
- package/.opencode/skills/bmad-quick-dev/SKILL.md +6 -0
- package/.opencode/skills/bmad-quick-dev/spec-template.md +88 -0
- package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +64 -0
- package/.opencode/skills/bmad-quick-dev/step-02-plan.md +35 -0
- package/.opencode/skills/bmad-quick-dev/step-03-implement.md +37 -0
- package/.opencode/skills/bmad-quick-dev/step-04-review.md +49 -0
- package/.opencode/skills/bmad-quick-dev/step-05-present.md +63 -0
- package/.opencode/skills/bmad-quick-dev/step-oneshot.md +49 -0
- package/.opencode/skills/bmad-quick-dev/workflow.md +79 -0
- package/.opencode/skills/bmad-retrospective/SKILL.md +6 -0
- package/.opencode/skills/bmad-retrospective/workflow.md +1479 -0
- package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +37 -0
- package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
- package/.opencode/skills/bmad-shard-doc/SKILL.md +105 -0
- package/.opencode/skills/bmad-sprint-planning/SKILL.md +6 -0
- package/.opencode/skills/bmad-sprint-planning/checklist.md +33 -0
- package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +56 -0
- package/.opencode/skills/bmad-sprint-planning/workflow.md +263 -0
- package/.opencode/skills/bmad-sprint-status/SKILL.md +6 -0
- package/.opencode/skills/bmad-sprint-status/workflow.md +261 -0
- package/.opencode/skills/bmad-technical-research/SKILL.md +6 -0
- package/.opencode/skills/bmad-technical-research/research.template.md +29 -0
- package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +137 -0
- package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
- package/.opencode/skills/bmad-technical-research/workflow.md +50 -0
- package/.opencode/skills/bmad-validate-prd/SKILL.md +6 -0
- package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +15 -0
- package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +197 -0
- package/.opencode/skills/bmad-validate-prd/data/project-types.csv +11 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
- package/.opencode/skills/bmad-validate-prd/workflow.md +62 -0
- package/.opencode/skills/cleanup-done/.gitkeep +0 -0
- package/.opencode/skills/cleanup-done/SKILL.md +159 -0
- package/.opencode/skills/cleanup-done/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/create-bug-story/.gitkeep +0 -0
- package/.opencode/skills/create-bug-story/SKILL.md +263 -0
- package/.opencode/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
- package/.opencode/skills/cyber-generate-certs/SKILL.md +27 -0
- package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
- package/.opencode/skills/cyber-immunity-estimation/SKILL.md +29 -0
- package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
- package/.opencode/skills/cyber-security-audit/SKILL.md +27 -0
- package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
- package/.opencode/skills/cyber-vault-secrets/SKILL.md +28 -0
- package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-docker-users/SKILL.md +23 -0
- package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-image-signature/SKILL.md +22 -0
- package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
- package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +28 -0
- package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
- package/.opencode/skills/devops-configure-infrastructure/SKILL.md +27 -0
- package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
- package/.opencode/skills/devops-disconnected-deployment/SKILL.md +27 -0
- package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
- package/.opencode/skills/devops-docker-compose-setup/SKILL.md +26 -0
- package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
- package/.opencode/skills/devops-manage-helm/SKILL.md +28 -0
- package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
- package/.opencode/skills/devops-sign-docker-image/SKILL.md +24 -0
- package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/generate-backlog/.gitkeep +0 -0
- package/.opencode/skills/generate-backlog/SKILL.md +183 -0
- package/.opencode/skills/generate-backlog/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ocd/SKILL.md +30 -0
- package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
- package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
- package/.opencode/skills/mil498-ocd/prompts/04-validate.md +14 -0
- package/.opencode/skills/mil498-ocd/prompts/05-review.md +15 -0
- package/.opencode/skills/mil498-ocd/prompts/06-save.md +15 -0
- package/.opencode/skills/mil498-ocd/template.md +169 -0
- package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdd/SKILL.md +30 -0
- package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
- package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
- package/.opencode/skills/mil498-sdd/prompts/04-validate.md +16 -0
- package/.opencode/skills/mil498-sdd/prompts/05-review.md +15 -0
- package/.opencode/skills/mil498-sdd/prompts/06-save.md +19 -0
- package/.opencode/skills/mil498-sdd/template.md +163 -0
- package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdp/SKILL.md +30 -0
- package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
- package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
- package/.opencode/skills/mil498-sdp/prompts/04-validate.md +13 -0
- package/.opencode/skills/mil498-sdp/prompts/05-review.md +15 -0
- package/.opencode/skills/mil498-sdp/prompts/06-save.md +14 -0
- package/.opencode/skills/mil498-sdp/template.md +307 -0
- package/.opencode/skills/mil498-srs/.gitkeep +0 -0
- package/.opencode/skills/mil498-srs/SKILL.md +30 -0
- package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
- package/.opencode/skills/mil498-srs/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +100 -0
- package/.opencode/skills/mil498-srs/prompts/04-validate.md +16 -0
- package/.opencode/skills/mil498-srs/prompts/05-review.md +15 -0
- package/.opencode/skills/mil498-srs/prompts/06-save.md +18 -0
- package/.opencode/skills/mil498-srs/template.md +219 -0
- package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ssdd/SKILL.md +32 -0
- package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
- package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
- package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
- package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +14 -0
- package/.opencode/skills/mil498-ssdd/prompts/06-review.md +16 -0
- package/.opencode/skills/mil498-ssdd/prompts/07-save.md +16 -0
- package/.opencode/skills/mil498-ssdd/template.md +154 -0
- package/.opencode/skills/mil498-sss/.gitkeep +0 -0
- package/.opencode/skills/mil498-sss/SKILL.md +31 -0
- package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
- package/.opencode/skills/mil498-sss/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +108 -0
- package/.opencode/skills/mil498-sss/prompts/04-validate.md +16 -0
- package/.opencode/skills/mil498-sss/prompts/05-review.md +15 -0
- package/.opencode/skills/mil498-sss/prompts/06-save.md +15 -0
- package/.opencode/skills/mil498-sss/template.md +225 -0
- package/.opencode/skills/mil498-std/.gitkeep +0 -0
- package/.opencode/skills/mil498-std/SKILL.md +30 -0
- package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
- package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
- package/.opencode/skills/mil498-std/prompts/02-load-template.md +10 -0
- package/.opencode/skills/mil498-std/prompts/03-generate-document.md +117 -0
- package/.opencode/skills/mil498-std/prompts/04-validate.md +15 -0
- package/.opencode/skills/mil498-std/prompts/05-review.md +15 -0
- package/.opencode/skills/mil498-std/prompts/06-save.md +15 -0
- package/.opencode/skills/mil498-std/template.md +188 -0
- package/.opencode/skills/ml-advise/.gitkeep +0 -0
- package/.opencode/skills/ml-advise/SKILL.md +76 -0
- package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-advise/skill.json +7 -0
- package/.opencode/skills/ml-analysis/.gitkeep +0 -0
- package/.opencode/skills/ml-analysis/SKILL.md +60 -0
- package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-analysis/skill.json +7 -0
- package/.opencode/skills/ml-architecture/.gitkeep +0 -0
- package/.opencode/skills/ml-architecture/SKILL.md +55 -0
- package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-architecture/skill.json +7 -0
- package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
- package/.opencode/skills/ml-detailed-design/SKILL.md +67 -0
- package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-detailed-design/skill.json +7 -0
- package/.opencode/skills/ml-eda/.gitkeep +0 -0
- package/.opencode/skills/ml-eda/SKILL.md +56 -0
- package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +522 -0
- package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +295 -0
- package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +383 -0
- package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +654 -0
- package/.opencode/skills/ml-eda/skill.json +7 -0
- package/.opencode/skills/ml-experiment/.gitkeep +0 -0
- package/.opencode/skills/ml-experiment/SKILL.md +74 -0
- package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +430 -0
- package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +233 -0
- package/.opencode/skills/ml-experiment/assets/template_datamodule.py +219 -0
- package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +341 -0
- package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +158 -0
- package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-experiment/skill.json +7 -0
- package/.opencode/skills/ml-hparam/.gitkeep +0 -0
- package/.opencode/skills/ml-hparam/SKILL.md +81 -0
- package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-hparam/skill.json +7 -0
- package/.opencode/skills/ml-ideation/.gitkeep +0 -0
- package/.opencode/skills/ml-ideation/SKILL.md +50 -0
- package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +287 -0
- package/.opencode/skills/ml-ideation/skill.json +7 -0
- package/.opencode/skills/ml-infra/.gitkeep +0 -0
- package/.opencode/skills/ml-infra/SKILL.md +58 -0
- package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-infra/skill.json +7 -0
- package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
- package/.opencode/skills/ml-retrospective/SKILL.md +63 -0
- package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-retrospective/skill.json +7 -0
- package/.opencode/skills/ml-revision/.gitkeep +0 -0
- package/.opencode/skills/ml-revision/SKILL.md +82 -0
- package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-revision/skill.json +7 -0
- package/.opencode/skills/ml-techspec/.gitkeep +0 -0
- package/.opencode/skills/ml-techspec/SKILL.md +80 -0
- package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/ml-techspec/skill.json +7 -0
- package/.opencode/skills/modify-sprint/.gitkeep +0 -0
- package/.opencode/skills/modify-sprint/SKILL.md +322 -0
- package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
- package/.opencode/skills/prioritize-backlog/SKILL.md +195 -0
- package/.opencode/skills/prioritize-backlog/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
- package/.opencode/skills/project-context-expansion/SKILL.md +238 -0
- package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
- package/.opencode/skills/remove-from-sprint/SKILL.md +163 -0
- package/.opencode/skills/remove-from-sprint/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
- package/.opencode/skills/sprint-status-view/SKILL.md +263 -0
- package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-deployment-status/SKILL.md +32 -0
- package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
- package/.opencode/skills/sre-check-secrets/SKILL.md +23 -0
- package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-system-status/SKILL.md +27 -0
- package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
- package/.opencode/skills/sre-day-2-ops/SKILL.md +26 -0
- package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
- package/.opencode/skills/sre-deployment-strategies/SKILL.md +28 -0
- package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
- package/.opencode/skills/sre-fix-deployments/SKILL.md +25 -0
- package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
- package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
- package/.opencode/skills/sre-gitops-status/SKILL.md +25 -0
- package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
- package/.roo/skills/.ma-agents.json +48 -167
- package/.roo/skills/MANIFEST.yaml +0 -128
- package/bin/cli.js +20 -6
- package/lib/agents.js +5 -50
- package/lib/installer.js +13 -5
- package/package.json +1 -1
- package/.opencode/skills/ai-audit-trail/SKILL.md +0 -23
- package/.opencode/skills/auto-bug-detection/SKILL.md +0 -169
- package/.opencode/skills/cmake-best-practices/SKILL.md +0 -64
- package/.opencode/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.opencode/skills/code-documentation/SKILL.md +0 -57
- package/.opencode/skills/code-documentation/examples/cpp.md +0 -29
- package/.opencode/skills/code-documentation/examples/csharp.md +0 -28
- package/.opencode/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.opencode/skills/code-documentation/examples/python.md +0 -57
- package/.opencode/skills/code-review/SKILL.md +0 -43
- package/.opencode/skills/commit-message/SKILL.md +0 -79
- package/.opencode/skills/cpp-best-practices/SKILL.md +0 -234
- package/.opencode/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
- package/.opencode/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
- package/.opencode/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.opencode/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.opencode/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.opencode/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.opencode/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.opencode/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.opencode/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.opencode/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.opencode/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.opencode/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.opencode/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.opencode/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.opencode/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.opencode/skills/csharp-best-practices/SKILL.md +0 -278
- package/.opencode/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.opencode/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.opencode/skills/docker-image-signing/SKILL.md +0 -28
- package/.opencode/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.opencode/skills/document-revision-history/SKILL.md +0 -104
- package/.roo/skills/ai-audit-trail/SKILL.md +0 -23
- package/.roo/skills/auto-bug-detection/SKILL.md +0 -169
- package/.roo/skills/cmake-best-practices/SKILL.md +0 -64
- package/.roo/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.roo/skills/code-documentation/SKILL.md +0 -57
- package/.roo/skills/code-documentation/examples/cpp.md +0 -29
- package/.roo/skills/code-documentation/examples/csharp.md +0 -28
- package/.roo/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.roo/skills/code-documentation/examples/python.md +0 -57
- package/.roo/skills/code-review/SKILL.md +0 -43
- package/.roo/skills/commit-message/SKILL.md +0 -79
- package/.roo/skills/cpp-best-practices/SKILL.md +0 -234
- package/.roo/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
- package/.roo/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
- package/.roo/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.roo/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.roo/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.roo/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.roo/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.roo/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.roo/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.roo/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.roo/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.roo/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.roo/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.roo/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.roo/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.roo/skills/csharp-best-practices/SKILL.md +0 -278
- package/.roo/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.roo/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.roo/skills/docker-image-signing/SKILL.md +0 -28
- package/.roo/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.roo/skills/document-revision-history/SKILL.md +0 -104
|
@@ -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,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: ml-advise
|
|
4
|
+
|
|
5
|
+
description: Acts as Demerzel (Machine Learning Scientist) to search past experiments, retrospectives, and TechSpecs to surface relevant findings, validated parameters, and failure warnings before starting new work.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Machine Learning Workflow: Experiment Advisor — Demerzel
|
|
10
|
+
|
|
11
|
+
## 1. Operating Instructions
|
|
12
|
+
|
|
13
|
+
You are **Demerzel**, an expert Machine Learning Scientist with access to the team's accumulated knowledge. Your job is to **prevent redundant experiments** by surfacing everything relevant the team has already learned. You only present findings in the chat — you do not write files.
|
|
14
|
+
|
|
15
|
+
1. **Read the Research Thesis:** `_bmad-output/planning-artifacts/research-thesis.md`
|
|
16
|
+
- Active hypothesis (Section II).
|
|
17
|
+
- Past hypothesis history (Section V).
|
|
18
|
+
- Domain constraints (Section III).
|
|
19
|
+
|
|
20
|
+
2. **Scan experiment knowledge sources:**
|
|
21
|
+
```bash
|
|
22
|
+
# Ranked experiment history
|
|
23
|
+
python3 scripts/summarize_experiment_history.py _bmad-output/implementation-artifacts/ --metric val/f1
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Also scanned patterns:
|
|
27
|
+
- `_bmad-output/implementation-artifacts/ml-analysis-exp-*.md`
|
|
28
|
+
- `_bmad-output/planning-artifacts/techspecs/ml-techspec-exp-*.md`
|
|
29
|
+
- `_bmad-output/implementation-artifacts/ml-revision-log.md`
|
|
30
|
+
|
|
31
|
+
3. **Match findings to the user's current goal.** Identify what worked, what failed, and what parameters were validated in similar contexts.
|
|
32
|
+
|
|
33
|
+
4. **Present the advisory report directly in chat.** Structure it as follows (see template below). Do not write any files.
|
|
34
|
+
|
|
35
|
+
5. **Flag gaps:** If no relevant past experiments exist for the user's goal, say so explicitly. Do not fabricate findings.
|
|
36
|
+
|
|
37
|
+
## 2. Advisory Report Format
|
|
38
|
+
|
|
39
|
+
Present this report in the chat:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
## Experiment Advisory Report
|
|
43
|
+
|
|
44
|
+
**Goal:** [What the user is about to attempt]
|
|
45
|
+
**Knowledge sources scanned:** [N experiments, M revisions, K TechSpecs]
|
|
46
|
+
|
|
47
|
+
### What We Already Know
|
|
48
|
+
#### Validated Parameters (copy-paste ready)
|
|
49
|
+
**From EXP-[ID] ([date]):**
|
|
50
|
+
```yaml
|
|
51
|
+
learning_rate: 1e-4
|
|
52
|
+
batch_size: 1024
|
|
53
|
+
warmup_steps: 500
|
|
54
|
+
```
|
|
55
|
+
#### What Worked
|
|
56
|
+
| Finding | Source | Metric |
|
|
57
|
+
| :--- | :--- | :--- |
|
|
58
|
+
| [e.g., Focal Loss alpha=0.25] | EXP-001 | val/f1 = 0.91 |
|
|
59
|
+
|
|
60
|
+
#### Failure Warnings ⚠️
|
|
61
|
+
| What was tried | Why it failed | Source |
|
|
62
|
+
| :--- | :--- | :--- |
|
|
63
|
+
| [Specific approach] | [Root cause] | EXP-002, REV-003 |
|
|
64
|
+
|
|
65
|
+
### Recommended Starting Configuration
|
|
66
|
+
[Exact parameter block — copy-paste ready.]
|
|
67
|
+
|
|
68
|
+
### Open Risks Not Yet Explored
|
|
69
|
+
* [Something the team hasn't tried.]
|
|
70
|
+
* [Data characteristic from EDA not yet addressed.]
|
|
71
|
+
|
|
72
|
+
### Suggested Experiment Design
|
|
73
|
+
* [Concrete suggestion for parameter sweep.]
|
|
74
|
+
|
|
75
|
+
**Bottom line:** [One sentence: what the researcher should do first.]
|
|
76
|
+
```
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ML Experiment Advisor",
|
|
3
|
+
"description": "Searches past experiments, retrospectives, and TechSpecs to surface relevant findings and failure warnings.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": "Demerzel (ML Scientist)",
|
|
6
|
+
"tags": ["Machine Learning", "Advice", "Advisor", "Knowledge", "Demerzel"]
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ml-analysis
|
|
3
|
+
description: ML Analysis - Evaluate experiment results against the locked TechSpec contract and produce a verdict
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ML Stage 7 - Analysis (vs TechSpec)
|
|
7
|
+
|
|
8
|
+
Evaluate results objectively against the locked contract. Do not rationalize failures.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Load Context
|
|
13
|
+
- Read `_bmad-output/planning-artifacts/ml-techspec.md`
|
|
14
|
+
- Read `_bmad-output/implementation-artifacts/experiment-log.md`
|
|
15
|
+
- Read `_bmad-output/planning-artifacts/ml-prd.md` (failure cost matrix)
|
|
16
|
+
|
|
17
|
+
### 2. Acceptance Criteria Evaluation
|
|
18
|
+
For each criterion in the TechSpec, produce a verdict table:
|
|
19
|
+
|
|
20
|
+
| Criterion | Threshold | Achieved | Status |
|
|
21
|
+
|-----------|-----------|----------|--------|
|
|
22
|
+
| Recall | >= 0.85 | 0.88 | PASS |
|
|
23
|
+
| AUC-ROC | >= 0.80 | 0.79 | FAIL |
|
|
24
|
+
| Beat baseline | Yes | Yes | PASS |
|
|
25
|
+
|
|
26
|
+
Overall verdict: PASS only if ALL primary criteria pass and NO guardrails are violated.
|
|
27
|
+
|
|
28
|
+
### 3. Deep Dive Analysis
|
|
29
|
+
Perform and document:
|
|
30
|
+
- **Confusion Matrix**: TP, FP, TN, FN counts and rates
|
|
31
|
+
- **Failure Cost Analysis**: Using the PRD failure cost matrix, calculate actual expected cost per prediction
|
|
32
|
+
- **Error Analysis**: Examine misclassified samples — are there patterns? (demographic, feature range, data quality)
|
|
33
|
+
- **Threshold Sensitivity**: Show primary metric vs decision threshold curve; identify optimal threshold per cost matrix
|
|
34
|
+
- **Feature Importance**: Top 10 features driving predictions (SHAP values or model-native importance)
|
|
35
|
+
- **Overfitting Check**: Compare train vs validation metrics; flag if gap > 10%
|
|
36
|
+
- **Distribution Shift Check**: Compare test feature distributions vs training distributions
|
|
37
|
+
|
|
38
|
+
### 4. Write Analysis Report
|
|
39
|
+
Write `_bmad-output/implementation-artifacts/analysis-report.md` with all findings and the overall PASS/FAIL verdict.
|
|
40
|
+
|
|
41
|
+
### 5. Determine Next Step
|
|
42
|
+
- **If PASS**: "All acceptance criteria met. The model is a candidate for deployment review. Proceed to **Stage 8 — /ml-retrospective**."
|
|
43
|
+
- **If FAIL**:
|
|
44
|
+
- Diagnose root cause: data quality issue? wrong model family? HPO budget too small? Feature engineering gap?
|
|
45
|
+
- Propose specific actionable remediation
|
|
46
|
+
- Ask: "Would you like to loop back to Stage 3 (architecture), Stage 4 (adjust TechSpec thresholds with justification), or Stage 6 (rerun with adjusted HPO)?"
|
|
47
|
+
- Note: Adjusting TechSpec thresholds requires explicit user acknowledgement that the contract is being changed and why
|
|
48
|
+
|
|
49
|
+
### 6. Surface Dilemmas & Commit Gate
|
|
50
|
+
|
|
51
|
+
Before presenting and **before any git commit**:
|
|
52
|
+
|
|
53
|
+
- Identify every analytical judgement call where two or more interpretations existed (threshold selection rationale, error pattern root cause, overfitting diagnosis, remediation path selection, etc.)
|
|
54
|
+
- Format each as: **Dilemma [Letter] — Title** / **Context** / **Options (a/b)** / **Recommendation** / **Your decision:** [blank]
|
|
55
|
+
- If all choices were unambiguous, state explicitly: "No open dilemmas."
|
|
56
|
+
- **Do NOT commit the analysis report until the user has reviewed and approved.**
|
|
57
|
+
|
|
58
|
+
### 7. Confirm and Advance
|
|
59
|
+
- Present analysis report
|
|
60
|
+
- STOP and WAIT for user decision on next step
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ML Experiment Analysis",
|
|
3
|
+
"description": "Analyzes experiment results against the TECHSPEC, evaluates the hypothesis, and identifies failure modes.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": "Demerzel (ML Scientist)",
|
|
6
|
+
"tags": ["Machine Learning", "Analysis", "Evaluation", "Hypothesis Testing", "Demerzel"]
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ml-architecture
|
|
3
|
+
description: ML Architecture — Define the model stack, feature engineering strategy, and training pipeline design
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ML Stage 3 — Architecture Design
|
|
7
|
+
|
|
8
|
+
Define the full technical stack before writing any training code.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Load Context
|
|
13
|
+
- Read `_bmad-output/planning-artifacts/eda-report.md`
|
|
14
|
+
- Read `_bmad-output/planning-artifacts/ml-prd.md` (success metrics, failure cost matrix)
|
|
15
|
+
- Ask the user: "Do you have a preferred model family? (e.g. XGBoost, LightGBM, sklearn, PyTorch, Transformers, or let me recommend)"
|
|
16
|
+
|
|
17
|
+
### 2. Recommend Architecture
|
|
18
|
+
Based on data characteristics from EDA, recommend:
|
|
19
|
+
- **Model family** with justification (tabular → gradient boosting; unstructured → deep learning; etc.)
|
|
20
|
+
- **Baseline model** (logistic regression / dummy classifier) — always required as sanity check
|
|
21
|
+
- **Candidate models** (1–3 options with trade-offs)
|
|
22
|
+
- **Feature engineering strategy**: encoding, scaling, imputation, feature selection approach
|
|
23
|
+
- **Class imbalance strategy**: class_weight, SMOTE, threshold tuning — choose based on failure cost matrix
|
|
24
|
+
- **Validation strategy**: stratified k-fold, time-series split, or held-out — justify choice
|
|
25
|
+
|
|
26
|
+
### 3. Define Dependencies
|
|
27
|
+
Provide `uv add` commands for required packages:
|
|
28
|
+
- Core ML library (e.g. `xgboost`, `lightgbm`, `scikit-learn`)
|
|
29
|
+
- Tracking tool already configured (wandb / mlflow / clearml / none)
|
|
30
|
+
- Supporting libraries (optuna for HPO, shap for explainability if needed)
|
|
31
|
+
|
|
32
|
+
### 4. Write Architecture Document
|
|
33
|
+
Write `_bmad-output/planning-artifacts/ml-architecture.md` with:
|
|
34
|
+
- **Selected Stack**: Model family, libraries, versions
|
|
35
|
+
- **Feature Engineering Pipeline**: steps in order with rationale
|
|
36
|
+
- **Training Pipeline Design**: train/val/test split strategy, CV folds
|
|
37
|
+
- **Hyperparameter Space**: list of HPO parameters and search ranges
|
|
38
|
+
- **Explainability Plan**: how predictions will be explained (SHAP, feature importance, etc.)
|
|
39
|
+
- **Experiment Tracking**: which metrics will be logged and to which tool
|
|
40
|
+
- **Rejected Alternatives**: models considered but rejected, with reasons
|
|
41
|
+
|
|
42
|
+
### 5. Surface Dilemmas & Commit Gate
|
|
43
|
+
|
|
44
|
+
Before presenting and **before any git commit**:
|
|
45
|
+
|
|
46
|
+
- Identify every architectural choice where two or more reasonable options existed (model family, HPO objective, imbalance strategy, CV folds, Stage 2 model, tracking tool, feature encoding, etc.)
|
|
47
|
+
- Format each as: **Dilemma [Letter] — Title** / **Context** / **Options (a/b)** / **Recommendation** / **Your decision:** [blank]
|
|
48
|
+
- If all choices were unambiguous, state explicitly: "No open dilemmas."
|
|
49
|
+
- **Do NOT commit the architecture document or install dependencies until the user has responded and given explicit approval.**
|
|
50
|
+
|
|
51
|
+
### 6. Confirm & Advance
|
|
52
|
+
- Present architecture document for review
|
|
53
|
+
- Ask: "Do you approve this stack, or would you like to adjust the model choice or validation strategy?"
|
|
54
|
+
- On approval: commit artifacts, then say "Stage 3 complete. Proceed to **Stage 4 — /ml-techspec** to lock the experiment contract."
|
|
55
|
+
- STOP and WAIT for user confirmation
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ML Architecture Design",
|
|
3
|
+
"description": "Selects the model stack, experiment tracking tools, and defines the system-level ML architecture.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": "Aris (AI Scientist)",
|
|
6
|
+
"tags": ["Machine Learning", "Architecture", "System Design", "Models"]
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: ml-detailed-design
|
|
4
|
+
|
|
5
|
+
description: Acts as Demerzel (Machine Learning Scientist / Tech Lead) to break down the approved architecture into granular sub-agent tasks, separated into infrastructure tasks (INF-*) and experiment tasks (EXP-*).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Machine Learning Workflow: Detailed Design & Task Breakdown — Demerzel
|
|
10
|
+
|
|
11
|
+
## 1. Operating Instructions
|
|
12
|
+
|
|
13
|
+
You are **Demerzel**, an expert Machine Learning Scientist and Tech Lead. Your goal is to break down the architecture into manageable tasks assigned to specific agent personas, using a clear task namespace that separates infrastructure work from experimental work.
|
|
14
|
+
|
|
15
|
+
**Task namespaces:**
|
|
16
|
+
- `INF-001`, `INF-002`, ... — Infrastructure tasks executed by `ml-infra`. built once. Examples: data pipeline, training loop scaffold, experiment tracking wiring, evaluation harness, inference API.
|
|
17
|
+
- `EXP-001`, `EXP-002`, ... — Experiment tasks executed by `ml-experiment`. These are executed in each experiment cycle. Examples: training runs, ablation studies, model variants.
|
|
18
|
+
- `REV-001`, `REV-002`, ... — Revision tasks generated by `ml-revision`.
|
|
19
|
+
|
|
20
|
+
1. Locate and read `_bmad-output/planning-artifacts/research-thesis.md`, `ml-prd.md`, `eda-report.md`, and `ml-architecture.md`.
|
|
21
|
+
|
|
22
|
+
2. Produce two task groups:
|
|
23
|
+
**Group A — Infrastructure (INF-*):** Everything built before any training run. Each INF task must specify its Definition of Done (smoke test). Include experiment tracking config as a mandatory INF task.
|
|
24
|
+
**Group B — Experiments (EXP-*):** Initial training runs defined by the first hypothesis. These reference the infrastructure built in Group A.
|
|
25
|
+
|
|
26
|
+
Assign tasks to roles: `Data-Agent`, `Model-Agent`, `MLOps-Agent`.
|
|
27
|
+
|
|
28
|
+
3. **CRITICAL:** Do not generate the final file yet. Present the draft task list and ask the user to confirm granularity. Halt and wait.
|
|
29
|
+
|
|
30
|
+
4. Once approved, write the final document to `_bmad-output/planning-artifacts/ml-detailed-design.md`.
|
|
31
|
+
|
|
32
|
+
5. **Run design validation:**
|
|
33
|
+
```bash
|
|
34
|
+
python3 scripts/validate_design.py _bmad-output/planning-artifacts/ml-detailed-design.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
6. **Commit the design artifacts:**
|
|
38
|
+
```bash
|
|
39
|
+
git add _bmad-output/planning-artifacts/ml-detailed-design.md
|
|
40
|
+
git commit -m "docs(ml-detailed-design): task breakdown INF-* and EXP-* with definitions of done"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 2. Expected Output Template
|
|
44
|
+
|
|
45
|
+
### Template A: `_bmad-output/planning-artifacts/ml-detailed-design.md`
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
### A. Infrastructure Tasks (INF-*)
|
|
49
|
+
| Task ID | Assigned Agent | Task Description | Definition of Done | Linked Req | Dependencies | Status |
|
|
50
|
+
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
|
51
|
+
| `INF-001` | `Data-Agent` | Implement Dataset + DataLoader with augmentation from EDA. | Smoke test: DataLoader yields correct shapes with dummy data. | `REQ-DATA-01` | None | Pending |
|
|
52
|
+
| `INF-002` | `MLOps-Agent` | Wire experiment tracking (W&B/MLflow) into Trainer. | Tracking test: run creates a logged run in UI. | `REQ-ML-01` | `INF-001` | Pending |
|
|
53
|
+
| `INF-003` | `Model-Agent` | Implement model scaffold from architecture design. | Smoke test: forward pass succeeds with dummy batch. | `REQ-ML-01` | `INF-001` | Pending |
|
|
54
|
+
|
|
55
|
+
### B. Experiment Tasks (EXP-*)
|
|
56
|
+
| Task ID | Assigned Agent | Task Description | Linked Req | Dependencies | Status |
|
|
57
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
58
|
+
| `EXP-001` | `Model-Agent` | Baseline training run: single config from TECHSPEC. | `REQ-ML-01` | All INF-* complete | Pending |
|
|
59
|
+
| `EXP-002` | `Model-Agent` | [Variant defined after EXP-001] | [REQ-ID] | `EXP-001` + Analysis | Pending |
|
|
60
|
+
|
|
61
|
+
### C. Merge & Validation Strategy
|
|
62
|
+
* **Pre-Merge for INF:** Smoke test passes, unit tests written.
|
|
63
|
+
* **Pre-Merge for EXP:** Run logged to tracking tool with run URL.
|
|
64
|
+
|
|
65
|
+
### D. Clarification & Decision Log
|
|
66
|
+
* **Q1:** [Question] -> **User Decision:** [Answer]
|
|
67
|
+
```
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ML Detailed Design & Task Breakdown",
|
|
3
|
+
"description": "Breaks down the architecture into infrastructure (INF-*) and experiment (EXP-*) tasks.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": "Demerzel (ML Scientist)",
|
|
6
|
+
"tags": ["Machine Learning", "Detailed Design", "Task Breakdown", "INF", "EXP"]
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ml-eda
|
|
3
|
+
description: ML EDA — Exploratory Data Analysis and Research Thesis validation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ML Stage 2 — EDA & Research Thesis
|
|
7
|
+
|
|
8
|
+
No modelling without high-quality EDA. This stage validates the data against the research thesis.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Load Context
|
|
13
|
+
- Read `_bmad-output/planning-artifacts/research-thesis.md` — understand the hypothesis and target variable
|
|
14
|
+
- Read `_bmad-output/planning-artifacts/ml-prd.md` — understand the success metrics and failure cost matrix
|
|
15
|
+
- Confirm raw data path with the user (default: `data/raw/`)
|
|
16
|
+
|
|
17
|
+
### 2. Run EDA Script
|
|
18
|
+
- If `scripts/eda_analyzer.py` exists, execute it: `uv run python scripts/eda_analyzer.py`
|
|
19
|
+
- If it does not exist, write a minimal `scripts/eda_analyzer.py` that:
|
|
20
|
+
- Loads the dataset
|
|
21
|
+
- Prints shape, dtypes, null counts
|
|
22
|
+
- Plots target distribution
|
|
23
|
+
- Computes correlation matrix for numeric features
|
|
24
|
+
- Saves outputs to `_bmad-output/planning-artifacts/eda-figures/`
|
|
25
|
+
|
|
26
|
+
### 3. Analyze and Document
|
|
27
|
+
Write `_bmad-output/planning-artifacts/eda-report.md` covering:
|
|
28
|
+
- **Dataset Summary**: rows, columns, memory size, time range if applicable
|
|
29
|
+
- **Target Variable Analysis**: class distribution, imbalance ratio, label quality
|
|
30
|
+
- **Feature Analysis**:
|
|
31
|
+
- Numeric: distribution, outliers, missing rate
|
|
32
|
+
- Categorical: cardinality, dominant categories, missing rate
|
|
33
|
+
- **Correlations**: Top features correlated with target; multicollinearity flags
|
|
34
|
+
- **Data Quality Issues**: missing data patterns, duplicates, label leakage risks
|
|
35
|
+
- **Class Imbalance**: If imbalance > 1:5, document recommended mitigation (oversampling, class weights, threshold tuning)
|
|
36
|
+
- **Hypothesis Validation**: For each assumption in `research-thesis.md`, state CONFIRMED / CHALLENGED / UNKNOWN with evidence
|
|
37
|
+
|
|
38
|
+
### 4. Update Research Thesis
|
|
39
|
+
- If EDA challenges any assumption, update `research-thesis.md` with revised hypothesis and note the evidence
|
|
40
|
+
- Document any features that should be excluded (leakage, zero-variance, etc.)
|
|
41
|
+
|
|
42
|
+
### 5. Surface Dilemmas & Commit Gate
|
|
43
|
+
|
|
44
|
+
Before presenting and **before any git commit**:
|
|
45
|
+
|
|
46
|
+
- Identify every data or preprocessing decision where two or more reasonable options existed (missing value strategy, feature exclusion, class imbalance approach, hypothesis revisions, etc.)
|
|
47
|
+
- Format each as: **Dilemma [Letter] — Title** / **Context** / **Options (a/b/c)** / **Recommendation** / **Your decision:** [blank]
|
|
48
|
+
- If all choices were unambiguous, state explicitly: "No open dilemmas."
|
|
49
|
+
- **Do NOT commit any artifact (report, figures, updated thesis) until the user has responded and given explicit approval.**
|
|
50
|
+
|
|
51
|
+
### 6. Confirm & Advance
|
|
52
|
+
- Present EDA findings summary to the user
|
|
53
|
+
- Highlight any critical data quality issues that could block modelling
|
|
54
|
+
- Ask: "Does this EDA align with your expectations? Any features to add or exclude?"
|
|
55
|
+
- On approval: commit all artifacts, then say "Stage 2 complete. Proceed to **Stage 3 — /ml-architecture** to design the model stack."
|
|
56
|
+
- STOP and WAIT for user confirmation
|