ma-agents 3.4.6 → 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/bmad.js +4 -1
- 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,263 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-bug-story
|
|
3
|
+
description: Guided workflow to create a structured bug story from a detected defect
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "create bug story"
|
|
7
|
+
- "report bug"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Create Bug Story Workflow
|
|
11
|
+
|
|
12
|
+
Guided workflow to create a structured bug story from a detected defect and add it to the backlog as a standalone item.
|
|
13
|
+
|
|
14
|
+
<workflow>
|
|
15
|
+
|
|
16
|
+
<step n="1" goal="Gather bug title and severity">
|
|
17
|
+
<action>Explain: This workflow creates a structured bug story file that enters the backlog alongside user stories.</action>
|
|
18
|
+
<ask>What is the bug title? (short, descriptive — e.g., "Login fails with empty password field")</ask>
|
|
19
|
+
<action>Store as {{bug_title}}</action>
|
|
20
|
+
<action>Validate {{bug_title}} is not empty</action>
|
|
21
|
+
<check if="{{bug_title}} is empty">
|
|
22
|
+
<output>❌ Bug title cannot be empty.</output>
|
|
23
|
+
<goto step="1" />
|
|
24
|
+
</check>
|
|
25
|
+
|
|
26
|
+
<output>
|
|
27
|
+
**Severity levels:**
|
|
28
|
+
- `critical` — Data loss, security breach, or system crash in normal usage
|
|
29
|
+
- `high` — Core feature broken or serious security risk; blocks users
|
|
30
|
+
- `medium` — Feature partially broken or degraded; workaround exists
|
|
31
|
+
- `low` — Minor issue, cosmetic defect, or edge case with minimal user impact
|
|
32
|
+
</output>
|
|
33
|
+
<ask>What is the severity? [critical / high / medium / low]</ask>
|
|
34
|
+
<action>Store as {{severity}}</action>
|
|
35
|
+
<action>Normalize to lowercase</action>
|
|
36
|
+
<check if="{{severity}} is not one of: critical, high, medium, low">
|
|
37
|
+
<output>❌ Severity must be one of: critical, high, medium, low.</output>
|
|
38
|
+
<goto step="1" />
|
|
39
|
+
</check>
|
|
40
|
+
</step>
|
|
41
|
+
|
|
42
|
+
<step n="2" goal="Gather affected component and reproduction steps">
|
|
43
|
+
<ask>What is the affected component? (e.g., "auth module", "login page", "installer pipeline")</ask>
|
|
44
|
+
<action>Store as {{affected_component}}</action>
|
|
45
|
+
|
|
46
|
+
<ask>What are the reproduction steps? (numbered steps to reproduce the bug — describe them one at a time or as a list)</ask>
|
|
47
|
+
<action>Store as {{reproduction_steps}}</action>
|
|
48
|
+
</step>
|
|
49
|
+
|
|
50
|
+
<step n="3" goal="Gather expected vs actual behavior">
|
|
51
|
+
<ask>What is the expected behavior? (what should happen when working correctly)</ask>
|
|
52
|
+
<action>Store as {{expected_behavior}}</action>
|
|
53
|
+
|
|
54
|
+
<ask>What is the actual behavior? (what actually happens — the defect)</ask>
|
|
55
|
+
<action>Store as {{actual_behavior}}</action>
|
|
56
|
+
</step>
|
|
57
|
+
|
|
58
|
+
<step n="4" goal="Gather version and bug type">
|
|
59
|
+
<ask>What version was this bug found in? (optional — press Enter to skip; e.g., "2.3.1", "v1.0.0-rc2")</ask>
|
|
60
|
+
<action>Store as {{version_found}} (empty string if skipped)</action>
|
|
61
|
+
|
|
62
|
+
<output>
|
|
63
|
+
**Bug type classifications:**
|
|
64
|
+
- `regression` — Previously working feature now broken
|
|
65
|
+
- `functional` — Feature does not work as specified
|
|
66
|
+
- `performance` — Unacceptable latency, throughput, or resource usage
|
|
67
|
+
- `security` — Vulnerability or authentication/authorization flaw
|
|
68
|
+
- `ui` — Visual or interaction defect
|
|
69
|
+
- `data` — Data corruption, loss, or incorrect transformation
|
|
70
|
+
- `integration` — Failure at system/service boundaries
|
|
71
|
+
- `other` — Does not fit the above categories
|
|
72
|
+
</output>
|
|
73
|
+
<ask>What is the bug type? [regression / functional / performance / security / ui / data / integration / other] (default: functional)</ask>
|
|
74
|
+
<action>Store as {{bug_type}}</action>
|
|
75
|
+
<action>If empty or blank, default to "functional"</action>
|
|
76
|
+
<action>Normalize to lowercase</action>
|
|
77
|
+
<check if="{{bug_type}} is not one of: regression, functional, performance, security, ui, data, integration, other">
|
|
78
|
+
<output>❌ Bug type must be one of: regression, functional, performance, security, ui, data, integration, other.</output>
|
|
79
|
+
<goto step="4" />
|
|
80
|
+
</check>
|
|
81
|
+
</step>
|
|
82
|
+
|
|
83
|
+
<step n="5" goal="Gather root cause hypothesis and affected files">
|
|
84
|
+
<ask>What is your root cause hypothesis? (optional — press Enter to skip; e.g., "Null check missing in validateUser()")</ask>
|
|
85
|
+
<action>Store as {{root_cause}} (empty string if skipped)</action>
|
|
86
|
+
|
|
87
|
+
<ask>What files are affected? (optional — comma-separated paths relative to repo root, press Enter to skip)</ask>
|
|
88
|
+
<action>Store as {{affected_files}} (empty string if skipped)</action>
|
|
89
|
+
<action>If provided, split by comma and trim whitespace to form a list of file paths</action>
|
|
90
|
+
|
|
91
|
+
<ask>Is there a suggested fix? (optional — brief description or press Enter to skip)</ask>
|
|
92
|
+
<action>Store as {{suggested_fix}} (empty string if skipped)</action>
|
|
93
|
+
</step>
|
|
94
|
+
|
|
95
|
+
<step n="6" goal="Confirm all bug details before writing">
|
|
96
|
+
<action>Derive {{title_slug}} by converting {{bug_title}} to lowercase kebab-case:
|
|
97
|
+
- Convert to lowercase
|
|
98
|
+
- Replace spaces and underscores with hyphens
|
|
99
|
+
- Remove characters that are not alphanumeric or hyphens
|
|
100
|
+
- Collapse consecutive hyphens into one
|
|
101
|
+
- Trim leading/trailing hyphens
|
|
102
|
+
</action>
|
|
103
|
+
<action>Set {{output_file}} = `_bmad-output/implementation-artifacts/bug-{{title_slug}}.md`</action>
|
|
104
|
+
|
|
105
|
+
<output>
|
|
106
|
+
## Bug Story Summary — Please Confirm
|
|
107
|
+
|
|
108
|
+
- **Title:** {{bug_title}}
|
|
109
|
+
- **Severity:** {{severity}}
|
|
110
|
+
- **Bug Type:** {{bug_type}}
|
|
111
|
+
- **Version Found:** {{version_found}} *(empty if skipped)*
|
|
112
|
+
- **Affected Component:** {{affected_component}}
|
|
113
|
+
- **Reproduction Steps:** {{reproduction_steps}}
|
|
114
|
+
- **Expected Behavior:** {{expected_behavior}}
|
|
115
|
+
- **Actual Behavior:** {{actual_behavior}}
|
|
116
|
+
- **Root Cause Hypothesis:** {{root_cause}} *(empty if skipped)*
|
|
117
|
+
- **Affected Files:** {{affected_files}} *(empty if skipped)*
|
|
118
|
+
- **Suggested Fix:** {{suggested_fix}} *(empty if skipped)*
|
|
119
|
+
- **Output File:** `{{output_file}}`
|
|
120
|
+
</output>
|
|
121
|
+
<ask>Confirm creation? [y] Yes / [n] Cancel / [e] Edit a field:</ask>
|
|
122
|
+
<check if="user selects 'e'">
|
|
123
|
+
<ask>Which field to edit? (title / severity / component / steps / expected / actual / version / bug-type / root-cause / files / fix)</ask>
|
|
124
|
+
<check if="field == 'title' OR field == 'severity'"><goto step="1" /></check>
|
|
125
|
+
<check if="field == 'component' OR field == 'steps'"><goto step="2" /></check>
|
|
126
|
+
<check if="field == 'expected' OR field == 'actual'"><goto step="3" /></check>
|
|
127
|
+
<check if="field == 'version' OR field == 'bug-type'"><goto step="4" /></check>
|
|
128
|
+
<check if="field == 'root-cause' OR field == 'files' OR field == 'fix'"><goto step="5" /></check>
|
|
129
|
+
<check if="none of the above matched">
|
|
130
|
+
<output>❌ Unrecognized field. Valid options: title / severity / component / steps / expected / actual / version / bug-type / root-cause / files / fix</output>
|
|
131
|
+
<goto step="6" />
|
|
132
|
+
</check>
|
|
133
|
+
</check>
|
|
134
|
+
<check if="user selects 'n'">
|
|
135
|
+
<output>❌ Bug story creation cancelled.</output>
|
|
136
|
+
<action>Exit workflow</action>
|
|
137
|
+
</check>
|
|
138
|
+
</step>
|
|
139
|
+
|
|
140
|
+
<step n="7" goal="Write bug story file">
|
|
141
|
+
<action>Check if {{output_file}} already exists</action>
|
|
142
|
+
<check if="file already exists">
|
|
143
|
+
<output>⚠️ A bug story already exists at `{{output_file}}`.</output>
|
|
144
|
+
<ask>Overwrite? [y] Yes — overwrite existing / [n] Cancel / [s] Save with unique suffix (e.g. bug-{{title_slug}}-2.md):</ask>
|
|
145
|
+
<check if="user selects 's'">
|
|
146
|
+
<action>Find the next available suffix: try bug-{{title_slug}}-2.md, -3.md, etc. until a filename that does not exist is found. Set {{output_file}} to that path.</action>
|
|
147
|
+
</check>
|
|
148
|
+
<check if="user selects 'n'">
|
|
149
|
+
<output>❌ Bug story creation cancelled to preserve existing file.</output>
|
|
150
|
+
<action>Exit workflow</action>
|
|
151
|
+
</check>
|
|
152
|
+
</check>
|
|
153
|
+
|
|
154
|
+
<action>Write bug story to {{output_file}} using the template below.
|
|
155
|
+
CRITICAL: The YAML frontmatter block MUST be the very first content in the file — no blank lines, no title, nothing before the opening `---`.
|
|
156
|
+
Format optional fields (root_cause, affected_files, suggested_fix) as follows:
|
|
157
|
+
- If {{root_cause}} is empty, write: `_Not identified_`
|
|
158
|
+
- If {{affected_files}} is empty, write: `_Unknown_`; otherwise list each file as a `- path/to/file` bullet
|
|
159
|
+
- If {{suggested_fix}} is empty, omit the Suggested Fix section entirely
|
|
160
|
+
</action>
|
|
161
|
+
|
|
162
|
+
<action>Write file with this exact structure:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
---
|
|
166
|
+
type: bug
|
|
167
|
+
status: backlog
|
|
168
|
+
severity: {{severity}}
|
|
169
|
+
bug_type: {{bug_type}}
|
|
170
|
+
version_found: {{version_found}}
|
|
171
|
+
title: {{bug_title}}
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
# Bug: {{bug_title}}
|
|
175
|
+
|
|
176
|
+
**Severity:** {{severity}}
|
|
177
|
+
**Affected Component:** {{affected_component}}
|
|
178
|
+
|
|
179
|
+
## Reproduction Steps
|
|
180
|
+
|
|
181
|
+
{{reproduction_steps}}
|
|
182
|
+
|
|
183
|
+
## Expected Behavior
|
|
184
|
+
|
|
185
|
+
{{expected_behavior}}
|
|
186
|
+
|
|
187
|
+
## Actual Behavior
|
|
188
|
+
|
|
189
|
+
{{actual_behavior}}
|
|
190
|
+
|
|
191
|
+
## Root Cause Hypothesis
|
|
192
|
+
|
|
193
|
+
{{root_cause or "_Not identified_"}}
|
|
194
|
+
|
|
195
|
+
## Affected Files
|
|
196
|
+
|
|
197
|
+
{{affected_files list or "_Unknown_"}}
|
|
198
|
+
|
|
199
|
+
## Suggested Fix
|
|
200
|
+
|
|
201
|
+
{{suggested_fix — omit section if empty}}
|
|
202
|
+
|
|
203
|
+
## Notes
|
|
204
|
+
|
|
205
|
+
- Created via `create-bug-story` workflow
|
|
206
|
+
- Discoverable by sprint workflows via glob: `_bmad-output/implementation-artifacts/bug-*.md`
|
|
207
|
+
- To add to a sprint, run `/add-to-sprint`
|
|
208
|
+
```
|
|
209
|
+
</action>
|
|
210
|
+
|
|
211
|
+
<output>
|
|
212
|
+
✅ **Bug story created successfully!**
|
|
213
|
+
|
|
214
|
+
- **File:** `{{output_file}}`
|
|
215
|
+
- **Title:** {{bug_title}}
|
|
216
|
+
- **Severity:** {{severity}}
|
|
217
|
+
- **Bug Type:** {{bug_type}}
|
|
218
|
+
- **Component:** {{affected_component}}
|
|
219
|
+
</output>
|
|
220
|
+
</step>
|
|
221
|
+
|
|
222
|
+
<step n="8" goal="Add bug entry to backlog.yaml">
|
|
223
|
+
<action>Check if `_bmad-output/implementation-artifacts/backlog.yaml` exists</action>
|
|
224
|
+
|
|
225
|
+
<check if="backlog.yaml exists">
|
|
226
|
+
<action>Read `_bmad-output/implementation-artifacts/backlog.yaml`</action>
|
|
227
|
+
<action>Determine the next priority number by finding the highest existing priority value and adding 1</action>
|
|
228
|
+
<action>Append a new entry at the end of the backlog items list with the following format:
|
|
229
|
+
```yaml
|
|
230
|
+
- id: "BUG-{{title_slug}}"
|
|
231
|
+
type: bug
|
|
232
|
+
epic: null
|
|
233
|
+
title: "{{bug_title}}"
|
|
234
|
+
priority: N
|
|
235
|
+
status: backlog
|
|
236
|
+
sprint: null
|
|
237
|
+
severity: {{severity}}
|
|
238
|
+
```
|
|
239
|
+
Where N is the next priority number.
|
|
240
|
+
</action>
|
|
241
|
+
<action>Re-number all priorities sequentially (1, 2, 3, ...) from top to bottom to ensure no gaps</action>
|
|
242
|
+
<action>Write the updated backlog.yaml back to disk</action>
|
|
243
|
+
<output>
|
|
244
|
+
📋 **Backlog updated!** Added `BUG-{{title_slug}}` to `_bmad-output/implementation-artifacts/backlog.yaml` with priority {{N}}.
|
|
245
|
+
</output>
|
|
246
|
+
</check>
|
|
247
|
+
|
|
248
|
+
<check if="backlog.yaml does not exist">
|
|
249
|
+
<output>
|
|
250
|
+
ℹ️ No `backlog.yaml` found at `_bmad-output/implementation-artifacts/backlog.yaml`.
|
|
251
|
+
Run `/generate-backlog` to create a backlog that will include this bug story.
|
|
252
|
+
</output>
|
|
253
|
+
</check>
|
|
254
|
+
|
|
255
|
+
<output>
|
|
256
|
+
**Next Steps:**
|
|
257
|
+
- Use `/add-to-sprint` to assign this bug to the current sprint
|
|
258
|
+
- Use `/sprint-status-view` to see all sprint items including this bug
|
|
259
|
+
- To detect more bugs, ensure the `auto-bug-detection` skill is loaded in your session
|
|
260
|
+
</output>
|
|
261
|
+
</step>
|
|
262
|
+
|
|
263
|
+
</workflow>
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-generate-certs
|
|
3
|
+
description: Generate self-signed certificates using the self-signed-cert skill
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "generate certs"
|
|
7
|
+
- "generate certificates"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-generate-certs.md
|
|
11
|
+
# Secure Certificate Generation Workflow
|
|
12
|
+
|
|
13
|
+
Automated workflow for generating self-signed certificates using the `self-signed-cert` skill.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Load Skill**: Activate the `self-signed-cert` skill instructions.
|
|
17
|
+
2. **Requirement Analysis**: Determine common name (CN) and Subject Alternative Names (SANs).
|
|
18
|
+
3. **Execution**:
|
|
19
|
+
- **Linux/macOS**:
|
|
20
|
+
- `bash scripts/generate-cert.sh root my-internal-ca`
|
|
21
|
+
- `bash scripts/generate-cert.sh cert my-service localhost`
|
|
22
|
+
- **Windows**:
|
|
23
|
+
- `.\scripts\generate-cert.ps1 -Type root -Name my-internal-ca`
|
|
24
|
+
- `.\scripts\generate-cert.ps1 -Type cert -Name my-service -Dns localhost`
|
|
25
|
+
4. **Packaging**: Provide instructions for importing the cert into trust stores (OS, Browsers) or mounting in Kubernetes secrets.
|
|
26
|
+
5. **Security**: Ensure private keys are stored with restricted permissions (600).
|
|
27
|
+
6. **Rotation**: Offer a schedule for certificate renewal.
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-immunity-estimation
|
|
3
|
+
description: Assess overall security posture and immunity against common attack vectors
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "immunity estimation"
|
|
7
|
+
- "security posture"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-immunity-estimation.md
|
|
11
|
+
# Cyber Immunity Estimation Workflow
|
|
12
|
+
|
|
13
|
+
Assesses the overall security posture and 'immunity' of the system against common attack vectors.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Attack Surface Analysis**: Identify all entry points (APIs, UI, SSH, 3rd party integrations).
|
|
17
|
+
2. **Control Verification**:
|
|
18
|
+
- Authentication/Authorization presence.
|
|
19
|
+
- Encryption in transit and at rest.
|
|
20
|
+
- Secret management maturity (Hardcoded vs Vault).
|
|
21
|
+
3. **Posture Scoring**: Rate 1-10 on:
|
|
22
|
+
- Code quality/Sanitization.
|
|
23
|
+
- Dependency health.
|
|
24
|
+
- Infrastructure hardening.
|
|
25
|
+
- Visibility/Logging.
|
|
26
|
+
4. **Immunity Report**:
|
|
27
|
+
- Summarize major gaps.
|
|
28
|
+
- Provide a roadmap for reach 'Immunity Level 5' (Robust).
|
|
29
|
+
5. **Verification**: Recommend automated regression tests for security controls.
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-security-audit
|
|
3
|
+
description: Comprehensive security audit of infrastructure and application configuration
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "security audit"
|
|
7
|
+
- "run security audit"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-security-audit.md
|
|
11
|
+
# Comprehensive Security Audit Workflow
|
|
12
|
+
|
|
13
|
+
Deep-dive audit of infrastructure and application configuration.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Infrastructure Audit**:
|
|
17
|
+
- **K8s**: Check for privileged containers, missing network policies, root users.
|
|
18
|
+
- **Docker**: Check for exposed ports, unnecessary packages in images.
|
|
19
|
+
2. **Code Audit**:
|
|
20
|
+
- Static Analysis (SAST) for common patterns (SQLi, XSS).
|
|
21
|
+
- Check for insecure defaults in frameworks.
|
|
22
|
+
3. **Identity Audit**:
|
|
23
|
+
- Review ServiceAccount permissions (RBAC).
|
|
24
|
+
- Check for hard-coded credentials.
|
|
25
|
+
4. **Final Recommendation**:
|
|
26
|
+
- Provide a prioritized list of hardening tasks.
|
|
27
|
+
- Propose CIDCD guardrails.
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-vault-secrets
|
|
3
|
+
description: Manage secrets, policies, and authentication in HashiCorp Vault
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "vault secrets"
|
|
7
|
+
- "manage vault"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-vault-secrets.md
|
|
11
|
+
# HashiCorp Vault Secret Management Workflow
|
|
12
|
+
|
|
13
|
+
This workflow guides the agent through managing secrets, policies, and authentication in HashiCorp Vault.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Check Connection**: Verify `vault status` and authentication.
|
|
17
|
+
2. **Secret Creation/Update**:
|
|
18
|
+
- `vault kv put secret/{path} {key}={value}`
|
|
19
|
+
- Ensure secrets are never logged or echoed in plain text.
|
|
20
|
+
3. **Policy Management**:
|
|
21
|
+
- Define HCL policies for restricted access.
|
|
22
|
+
- `vault policy write {name} {policy_file}`
|
|
23
|
+
4. **Integration**:
|
|
24
|
+
- Manage Kubernetes auth method: `vault auth enable kubernetes`
|
|
25
|
+
- Setup Vault Agent injector configurations.
|
|
26
|
+
5. **Audit**:
|
|
27
|
+
- Check for expired tokens or orphaned secrets.
|
|
28
|
+
- Review access logs if available.
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-verify-docker-users
|
|
3
|
+
description: Audit Docker images for proper user management and least privilege
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "verify docker users"
|
|
7
|
+
- "docker user audit"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# verify-docker-users.md
|
|
11
|
+
# Docker User & Hardening Verification Workflow
|
|
12
|
+
|
|
13
|
+
This workflow guides the Cyber agent through auditing Docker images for proper user management and least privilege.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Inspect Metadata**:
|
|
17
|
+
- Use the `docker-hardening-verification` skill.
|
|
18
|
+
- Run: `bash skills/docker-hardening-verification/scripts/verify-hardening.sh {image_name}`.
|
|
19
|
+
2. **Audit Result Analysis**:
|
|
20
|
+
- **UID Check**: Confirm the defined user is non-zero.
|
|
21
|
+
- **Permissive Files**: Scan for world-writable files in common paths (/tmp, /etc, /var).
|
|
22
|
+
3. **Governance Check**: Ensure the image follows OpenShift/hardened cluster requirements (no root, arbitrary UID support).
|
|
23
|
+
4. **Reporting**: provide a high-level summary of hardening quality and mandatory fixes.
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-verify-image-signature
|
|
3
|
+
description: Verify Docker image signatures for supply chain security
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "verify image signature"
|
|
7
|
+
- "check image signature"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# verify-image-signature.md
|
|
11
|
+
# Docker Image Signature Verification Workflow
|
|
12
|
+
|
|
13
|
+
This workflow guides the Cyber agent through verifying that a Docker image has been properly signed.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Identify Image**: Get the image name and digest.
|
|
17
|
+
2. **Locate Public Key**: Obtain the public key or certificate used for signing.
|
|
18
|
+
3. **Execute Verification**:
|
|
19
|
+
- Use `cosign verify --key {public_key} {image_digest}`.
|
|
20
|
+
- Check the output for valid signatures.
|
|
21
|
+
4. **Policy Compliance**: Verify if the signing entity (certificate CN) matches the expected trusted authorities.
|
|
22
|
+
5. **Report**: Alert the user if the image is unsigned or the signature is invalid.
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cyber-vulnerability-scan
|
|
3
|
+
description: Orchestrate comprehensive vulnerability scanning across tech stacks
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "vulnerability scan"
|
|
7
|
+
- "run vulnerability scan"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-vulnerability-scan.md
|
|
11
|
+
# ma-agents Vulnerability Scan Orchestration
|
|
12
|
+
|
|
13
|
+
Orchestrates multiple security-focused skills from the `ma-agents` package to provide a comprehensive security scan.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Select Scanners**: Based on project tech stack, trigger:
|
|
17
|
+
- **JS/TS**: `js-ts-security-skill`
|
|
18
|
+
- **Python**: `python-security-skill`
|
|
19
|
+
- **Docker**: `verify-hardened-docker-skill`
|
|
20
|
+
2. **Run Tools**:
|
|
21
|
+
- Execute `npm audit` or `yarn audit`.
|
|
22
|
+
- Run `pip-audit` for Python environments.
|
|
23
|
+
- Run `trivy image {image}` for containers.
|
|
24
|
+
3. **Aggregate Results**: Collect all findings into a unified report.
|
|
25
|
+
4. **Prioritization**: Rank vulnerabilities by CVSS score and exploitability.
|
|
26
|
+
5. **Remediation**:
|
|
27
|
+
- Propose version upgrades.
|
|
28
|
+
- Propose configuration hardening steps.
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-configure-infrastructure
|
|
3
|
+
description: Define and configure core infrastructure components in Kubernetes
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "configure infrastructure"
|
|
7
|
+
- "infrastructure configuration"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-configure-infrastructure.md
|
|
11
|
+
# Infrastructure Configuration Workflow
|
|
12
|
+
|
|
13
|
+
This workflow focuses on defining and configuring core infrastructure components in a Kubernetes environment.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Storage Definition**:
|
|
17
|
+
- Define `PersistentVolume` (PV) with appropriate access modes and storage classes.
|
|
18
|
+
- Define `PersistentVolumeClaim` (PVC) for application workloads.
|
|
19
|
+
2. **Networking**:
|
|
20
|
+
- Configure `Service` type `LoadBalancer` or `Ingress` controllers.
|
|
21
|
+
- Define `NetworkPolicies` for secure communication.
|
|
22
|
+
3. **Disconnected Environments**:
|
|
23
|
+
- Provide templates for local storage provisioners (e.g., hostPath, Local Persistent Volumes).
|
|
24
|
+
- Configure static IP assignments for on-prem load balancers.
|
|
25
|
+
4. **Validation**:
|
|
26
|
+
- Verify binding status: `kubectl get pv,pvc`
|
|
27
|
+
- Verify endpoint availability: `kubectl get endpoints`
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-disconnected-deployment
|
|
3
|
+
description: Deploy applications in air-gapped or restricted on-prem environments
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "disconnected deployment"
|
|
7
|
+
- "air-gapped deployment"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-disconnected-deployment.md
|
|
11
|
+
# Disconnected Environment Deployment Workflow
|
|
12
|
+
|
|
13
|
+
Strategies and actions for deploying applications in air-gapped or restricted on-prem environments.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Dependency Gathering**:
|
|
17
|
+
- Identify all required container images.
|
|
18
|
+
- Export images: `docker save {image_list} | gzip > images.tar.gz`
|
|
19
|
+
- Package Helm charts: `helm package {chart_path}`
|
|
20
|
+
2. **Target Readiness**:
|
|
21
|
+
- Verify local registry availability.
|
|
22
|
+
- Import images: `docker load < images.tar.gz`
|
|
23
|
+
3. **Deployment**:
|
|
24
|
+
- Use `--set image.repository={local_registry}/{repo}` for Helm.
|
|
25
|
+
- Verify offline connectivity between components.
|
|
26
|
+
4. **Troubleshooting**:
|
|
27
|
+
- Check for 'ImagePullBackOff' due to incorrect registry paths.
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-docker-compose-setup
|
|
3
|
+
description: Multi-container orchestration using Docker Compose for development and on-prem
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "docker compose setup"
|
|
7
|
+
- "docker compose"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-docker-compose-setup.md
|
|
11
|
+
# Docker Compose Management Workflow
|
|
12
|
+
|
|
13
|
+
This workflow handles multi-container orchestration using Docker Compose, optimized for development and on-prem deployments.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Define Services**: Map application components to Docker services.
|
|
17
|
+
2. **Environment Sync**: Setup `.env` file management for different environments (on-prem, dev).
|
|
18
|
+
3. **Disconnected Operations**:
|
|
19
|
+
- Build images with `--pull=false` if registry is unavailable.
|
|
20
|
+
- Use local image tags.
|
|
21
|
+
4. **Orchestration**:
|
|
22
|
+
- Setup dependencies with `depends_on` and health checks.
|
|
23
|
+
- Configure volumes for persistence.
|
|
24
|
+
5. **Execution**:
|
|
25
|
+
- `docker-compose up -d`
|
|
26
|
+
- `docker-compose ps`
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-manage-helm
|
|
3
|
+
description: Create and manage Helm charts and Helm umbrellas for complex systems
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "manage helm"
|
|
7
|
+
- "helm chart"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# workflow-manage-helm.md
|
|
11
|
+
# Helm Management Workflow
|
|
12
|
+
|
|
13
|
+
This workflow handles the creation and management of Helm charts and Helm umbrellas for complex systems.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
1. **Analyze System**: Determine if a single chart or an umbrella chart (multiple sub-charts) is needed.
|
|
17
|
+
2. **Chart Creation**:
|
|
18
|
+
- `helm create {chart_name}`
|
|
19
|
+
- Structure for disconnected environments: Ensure all chart dependencies are bundled (vendorized).
|
|
20
|
+
3. **Helm Umbrella Setup**:
|
|
21
|
+
- Configure `Chart.yaml` with sub-chart dependencies.
|
|
22
|
+
- Setup `values.yaml` to override sub-chart values.
|
|
23
|
+
4. **On-prem Optimization**:
|
|
24
|
+
- Prepare `chart-save` and `chart-load` routines for air-gapped systems.
|
|
25
|
+
- Configure local registry mirrors.
|
|
26
|
+
5. **Validation**:
|
|
27
|
+
- `helm lint {chart_path}`
|
|
28
|
+
- `helm template {chart_path}`
|
|
File without changes
|