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
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: C++ Modern Composition
|
|
3
|
-
description: Replace legacy C patterns with STL, Ranges, and modern C++ abstractions (C++14+).
|
|
4
|
-
---
|
|
5
|
-
# C++ Modern Composition (Core Guidelines Section STL, CPL, ES)
|
|
6
|
-
|
|
7
|
-
This skill forces the transition from legacy "C-style" C++ to modern, declarative, and safer C++ idioms.
|
|
8
|
-
|
|
9
|
-
## Policies
|
|
10
|
-
|
|
11
|
-
### 1. STL Algorithms over Manual Loops
|
|
12
|
-
* **Rule**: Never write a raw `for` or `while` loop for operations supported by `<algorithm>` or `<numeric>`.
|
|
13
|
-
* **Action**:
|
|
14
|
-
- Use `std::any_of`, `std::all_of`, `std::find_if`, `std::transform`, `std::accumulate`.
|
|
15
|
-
- In C++20 projects, prefer `std::ranges` versions.
|
|
16
|
-
* **Rationale**: Reduces "off-by-one" errors and improves intent readability.
|
|
17
|
-
|
|
18
|
-
### 2. Eradicate C-style Casts and Macros
|
|
19
|
-
* **Rule**: Ban `(type)value` and `#define` for logic/constants.
|
|
20
|
-
* **Action**:
|
|
21
|
-
- Use `static_cast`, `reinterpret_cast`, or `const_cast`.
|
|
22
|
-
- Replace macros with `constexpr` variables or `inline` functions/templates.
|
|
23
|
-
* **Rationale**: Named casts are searchable and safer; `constexpr` respects namespaces and scopes.
|
|
24
|
-
|
|
25
|
-
### 3. Universal Initialization
|
|
26
|
-
* **Rule**: Prefer `{}` initialization to avoid the "Most Vexing Parse".
|
|
27
|
-
* **Action**: Use `auto x = Type{args...};` or `Type x{args...};`.
|
|
28
|
-
* **Rationale**: Prevents narrowing conversions (e.g., `int x{3.5}` is a compiler error, while `int x = 3.5` is not).
|
|
29
|
-
|
|
30
|
-
### 4. Zero Raw Memory Manipulation
|
|
31
|
-
* **Rule**: Ban `memset`, `memcpy`, and `malloc`.
|
|
32
|
-
* **Action**:
|
|
33
|
-
- Use `std::fill`, `std::copy`, or `container.assign()`.
|
|
34
|
-
- Use `std::vector` or `std::array` instead of raw arrays.
|
|
35
|
-
* **Rationale**: Standard containers are bounds-checked (via `.at()`) and manage their own memory.
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
### Before (C-style C++)
|
|
40
|
-
```cpp
|
|
41
|
-
#define MAX_BUFFER 1024
|
|
42
|
-
int arr[MAX_BUFFER];
|
|
43
|
-
memset(arr, 0, sizeof(arr));
|
|
44
|
-
|
|
45
|
-
bool found = false;
|
|
46
|
-
for (int i = 0; i < MAX_BUFFER; ++i) {
|
|
47
|
-
if (arr[i] == (int)someFloat) {
|
|
48
|
-
found = true;
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### After (Modern C++)
|
|
55
|
-
```cpp
|
|
56
|
-
constexpr size_t MaxBuffer = 1024;
|
|
57
|
-
std::array<int, MaxBuffer> arr;
|
|
58
|
-
arr.fill(0);
|
|
59
|
-
|
|
60
|
-
auto target = static_cast<int>(someFloat);
|
|
61
|
-
bool found = std::any_of(arr.begin(), arr.end(), [target](int v) {
|
|
62
|
-
return v == target;
|
|
63
|
-
});
|
|
64
|
-
```
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Modern Composition Examples (C++14+)
|
|
2
|
-
|
|
3
|
-
### 1. Data Transformation (Transform)
|
|
4
|
-
**Legacy:**
|
|
5
|
-
```cpp
|
|
6
|
-
std::vector<int> inputs = {1, 2, 3};
|
|
7
|
-
std::vector<int> outputs;
|
|
8
|
-
for (size_t i = 0; i < inputs.size(); ++i) {
|
|
9
|
-
outputs.push_back(inputs[i] * 2);
|
|
10
|
-
}
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
**Modern (C++14):**
|
|
14
|
-
```cpp
|
|
15
|
-
std::vector<int> inputs = {1, 2, 3};
|
|
16
|
-
std::vector<int> outputs;
|
|
17
|
-
outputs.reserve(inputs.size());
|
|
18
|
-
std::transform(inputs.begin(), inputs.end(), std::back_inserter(outputs),
|
|
19
|
-
[](int n) { return n * 2; });
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### 2. Summation and Reduction (Accumulate)
|
|
23
|
-
**Modern (C++14):**
|
|
24
|
-
```cpp
|
|
25
|
-
#include <numeric>
|
|
26
|
-
|
|
27
|
-
std::vector<double> prices = {10.5, 20.0, 5.25};
|
|
28
|
-
double total = std::accumulate(prices.begin(), prices.end(), 0.0);
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 3. Safe Narrowing Protection
|
|
32
|
-
**Logic:**
|
|
33
|
-
```cpp
|
|
34
|
-
double d = 7.9;
|
|
35
|
-
// int i{d}; // Error: narrowing conversion from 'double' to 'int'
|
|
36
|
-
int i = static_cast<int>(d); // Explicit and safe
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### 4. Replacing Function Macros
|
|
40
|
-
**Legacy:**
|
|
41
|
-
```cpp
|
|
42
|
-
#define SQUARE(x) ((x)*(x))
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Modern (C++14):**
|
|
46
|
-
```cpp
|
|
47
|
-
template<typename T>
|
|
48
|
-
constexpr T square(T t) {
|
|
49
|
-
return t * t;
|
|
50
|
-
}
|
|
51
|
-
```
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: C++ Robust Interfaces
|
|
3
|
-
description: Enforce contract-based design and strong typing in C++ interfaces (C++14+).
|
|
4
|
-
---
|
|
5
|
-
# C++ Robust Interfaces (Core Guidelines Section I & E)
|
|
6
|
-
|
|
7
|
-
This skill ensures that C++ interfaces follow contract-based design principles to improve safety, clarity, and maintainability.
|
|
8
|
-
|
|
9
|
-
## Policies
|
|
10
|
-
|
|
11
|
-
### 1. Make Interfaces Explicit
|
|
12
|
-
* **Rule**: Functions must explicitly state their requirements (pre-conditions) and guarantees (post-conditions).
|
|
13
|
-
* **Action**: Use `Expects()` and `Ensures()` (from GSL) or standardized comments if GSL is unavailable.
|
|
14
|
-
* **Rationale**: Detects integration bugs at the call site rather than deep in the implementation.
|
|
15
|
-
|
|
16
|
-
### 2. Strong Typing over Primitive Types
|
|
17
|
-
* **Rule**: Avoid "Boolean Blindness" and `void*`.
|
|
18
|
-
* **Action**:
|
|
19
|
-
- Use `enum class` for options instead of `bool`.
|
|
20
|
-
- Use `std::chrono` for time instead of `int`.
|
|
21
|
-
- Use specific types/structs instead of a long list of primitive arguments.
|
|
22
|
-
|
|
23
|
-
### 3. Clear Ownership and Lifetime
|
|
24
|
-
* **Rule**: A raw pointer (`T*`) in an interface **must never** represent ownership.
|
|
25
|
-
* **Action**:
|
|
26
|
-
- Use `gsl::not_null<T*>` for pointers that cannot be null.
|
|
27
|
-
- Use `std::unique_ptr` or `std::shared_ptr` ONLY if the function is participating in ownership/lifetime management.
|
|
28
|
-
- Prefer `T&` for arguments that must exist and aren't owned by the callee.
|
|
29
|
-
|
|
30
|
-
### 4. Sequence Safety
|
|
31
|
-
* **Rule**: Never pass an array as a raw pointer + size.
|
|
32
|
-
* **Action**:
|
|
33
|
-
- Use `gsl::span<T>` (C++14/17 via GSL) or `std::span<T>` (C++20).
|
|
34
|
-
- Use `std::string_view` for read-only strings.
|
|
35
|
-
|
|
36
|
-
## Examples
|
|
37
|
-
|
|
38
|
-
### Before (Fragile Interface)
|
|
39
|
-
```cpp
|
|
40
|
-
// What does 'flag' mean? Is data allowed to be null? Is it an array?
|
|
41
|
-
void processData(char* data, int size, bool flag);
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### After (Robust Interface)
|
|
45
|
-
```cpp
|
|
46
|
-
#include <gsl/gsl>
|
|
47
|
-
|
|
48
|
-
enum class ProcessingMode { Fast, Thorough };
|
|
49
|
-
|
|
50
|
-
// Explicit contract: data must not be null, size is handled by span
|
|
51
|
-
void processData(gsl::span<const char> data, ProcessingMode mode) {
|
|
52
|
-
Expects(!data.empty());
|
|
53
|
-
// ...
|
|
54
|
-
}
|
|
55
|
-
```
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Robust Interface Examples (C++14+)
|
|
2
|
-
|
|
3
|
-
### 1. Avoiding Boolean Blindness
|
|
4
|
-
**Incorrect:**
|
|
5
|
-
```cpp
|
|
6
|
-
void setWindowVisible(bool visible, bool animate);
|
|
7
|
-
// Call site: setWindowVisible(true, false); // What is false?
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
**Correct (C++14):**
|
|
11
|
-
```cpp
|
|
12
|
-
enum class Visibility { Visible, Hidden };
|
|
13
|
-
enum class Animation { Enabled, Disabled };
|
|
14
|
-
|
|
15
|
-
void setWindowVisible(Visibility v, Animation a);
|
|
16
|
-
// Call site: setWindowVisible(Visibility::Visible, Animation::Disabled);
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
### 2. Contract-Based Validation
|
|
20
|
-
Using GSL (Guidelines Support Library) style:
|
|
21
|
-
|
|
22
|
-
```cpp
|
|
23
|
-
#include <gsl/gsl>
|
|
24
|
-
|
|
25
|
-
class User {
|
|
26
|
-
public:
|
|
27
|
-
// Ensure name is never null or empty
|
|
28
|
-
void setName(gsl::not_null<const char*> name) {
|
|
29
|
-
Expects(std::strlen(name) > 0);
|
|
30
|
-
this->name = name;
|
|
31
|
-
}
|
|
32
|
-
private:
|
|
33
|
-
std::string name;
|
|
34
|
-
};
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 3. Safe Sequences with Span
|
|
38
|
-
Replaces pointer + length pairs which are prone to buffer overflows.
|
|
39
|
-
|
|
40
|
-
```cpp
|
|
41
|
-
#include <gsl/gsl> // Use gsl::span in C++14
|
|
42
|
-
|
|
43
|
-
float calculateAverage(gsl::span<const float> values) {
|
|
44
|
-
Expects(!values.empty());
|
|
45
|
-
|
|
46
|
-
float sum = 0.0f;
|
|
47
|
-
for (float v : values) {
|
|
48
|
-
sum += v;
|
|
49
|
-
}
|
|
50
|
-
return sum / values.size();
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Usage:
|
|
54
|
-
// float arr[] = {1, 2, 3};
|
|
55
|
-
// calculateAverage(arr); // Automatic conversion to span
|
|
56
|
-
```
|