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
|
@@ -6,235 +6,116 @@
|
|
|
6
6
|
],
|
|
7
7
|
"scope": "project",
|
|
8
8
|
"skills": {
|
|
9
|
-
"ai-audit-trail": {
|
|
10
|
-
"version": "1.0.0",
|
|
11
|
-
"installedAt": "2026-04-01T10:30:58.027Z",
|
|
12
|
-
"updatedAt": "2026-04-01T10:30:58.027Z",
|
|
13
|
-
"installerVersion": "3.4.3",
|
|
14
|
-
"agentVersion": "1.0.0"
|
|
15
|
-
},
|
|
16
|
-
"auto-bug-detection": {
|
|
17
|
-
"version": "1.0.0",
|
|
18
|
-
"installedAt": "2026-04-01T10:30:58.395Z",
|
|
19
|
-
"updatedAt": "2026-04-01T10:30:58.395Z",
|
|
20
|
-
"installerVersion": "3.4.3",
|
|
21
|
-
"agentVersion": "1.0.0"
|
|
22
|
-
},
|
|
23
|
-
"cmake-best-practices": {
|
|
24
|
-
"version": "1.0.0",
|
|
25
|
-
"installedAt": "2026-04-01T10:30:58.887Z",
|
|
26
|
-
"updatedAt": "2026-04-01T10:30:58.887Z",
|
|
27
|
-
"installerVersion": "3.4.3",
|
|
28
|
-
"agentVersion": "1.0.0"
|
|
29
|
-
},
|
|
30
|
-
"code-documentation": {
|
|
31
|
-
"version": "1.0.0",
|
|
32
|
-
"installedAt": "2026-04-01T10:30:59.856Z",
|
|
33
|
-
"updatedAt": "2026-04-01T10:30:59.856Z",
|
|
34
|
-
"installerVersion": "3.4.3",
|
|
35
|
-
"agentVersion": "1.0.0"
|
|
36
|
-
},
|
|
37
|
-
"code-review": {
|
|
38
|
-
"version": "1.0.0",
|
|
39
|
-
"installedAt": "2026-04-01T10:31:00.634Z",
|
|
40
|
-
"updatedAt": "2026-04-01T10:31:00.634Z",
|
|
41
|
-
"installerVersion": "3.4.3",
|
|
42
|
-
"agentVersion": "1.0.0"
|
|
43
|
-
},
|
|
44
|
-
"commit-message": {
|
|
45
|
-
"version": "1.0.0",
|
|
46
|
-
"installedAt": "2026-04-01T10:31:01.128Z",
|
|
47
|
-
"updatedAt": "2026-04-01T10:31:01.128Z",
|
|
48
|
-
"installerVersion": "3.4.3",
|
|
49
|
-
"agentVersion": "1.0.0"
|
|
50
|
-
},
|
|
51
|
-
"cpp-best-practices": {
|
|
52
|
-
"version": "1.0.0",
|
|
53
|
-
"installedAt": "2026-04-01T10:31:01.896Z",
|
|
54
|
-
"updatedAt": "2026-04-01T10:31:01.896Z",
|
|
55
|
-
"installerVersion": "3.4.3",
|
|
56
|
-
"agentVersion": "1.0.0"
|
|
57
|
-
},
|
|
58
|
-
"cpp-concurrency-safety": {
|
|
59
|
-
"version": "1.0.0",
|
|
60
|
-
"installedAt": "2026-04-01T10:31:02.715Z",
|
|
61
|
-
"updatedAt": "2026-04-01T10:31:02.715Z",
|
|
62
|
-
"installerVersion": "3.4.3",
|
|
63
|
-
"agentVersion": "1.0.0"
|
|
64
|
-
},
|
|
65
|
-
"cpp-const-correctness": {
|
|
66
|
-
"version": "1.0.0",
|
|
67
|
-
"installedAt": "2026-04-01T10:31:03.378Z",
|
|
68
|
-
"updatedAt": "2026-04-01T10:31:03.378Z",
|
|
69
|
-
"installerVersion": "3.4.3",
|
|
70
|
-
"agentVersion": "1.0.0"
|
|
71
|
-
},
|
|
72
|
-
"cpp-memory-handling": {
|
|
73
|
-
"version": "1.0.0",
|
|
74
|
-
"installedAt": "2026-04-01T10:31:03.925Z",
|
|
75
|
-
"updatedAt": "2026-04-01T10:31:03.925Z",
|
|
76
|
-
"installerVersion": "3.4.3",
|
|
77
|
-
"agentVersion": "1.0.0"
|
|
78
|
-
},
|
|
79
|
-
"cpp-modern-composition": {
|
|
80
|
-
"version": "1.0.0",
|
|
81
|
-
"installedAt": "2026-04-01T10:31:04.764Z",
|
|
82
|
-
"updatedAt": "2026-04-01T10:31:04.764Z",
|
|
83
|
-
"installerVersion": "3.4.3",
|
|
84
|
-
"agentVersion": "1.0.0"
|
|
85
|
-
},
|
|
86
|
-
"cpp-robust-interfaces": {
|
|
87
|
-
"version": "1.0.0",
|
|
88
|
-
"installedAt": "2026-04-01T10:31:05.367Z",
|
|
89
|
-
"updatedAt": "2026-04-01T10:31:05.367Z",
|
|
90
|
-
"installerVersion": "3.4.3",
|
|
91
|
-
"agentVersion": "1.0.0"
|
|
92
|
-
},
|
|
93
|
-
"create-hardened-docker-skill": {
|
|
94
|
-
"version": "1.0.0",
|
|
95
|
-
"installedAt": "2026-04-01T10:31:05.831Z",
|
|
96
|
-
"updatedAt": "2026-04-01T10:31:05.831Z",
|
|
97
|
-
"installerVersion": "3.4.3",
|
|
98
|
-
"agentVersion": "1.0.0"
|
|
99
|
-
},
|
|
100
|
-
"csharp-best-practices": {
|
|
101
|
-
"version": "1.0.0",
|
|
102
|
-
"installedAt": "2026-04-01T10:31:06.541Z",
|
|
103
|
-
"updatedAt": "2026-04-01T10:31:06.541Z",
|
|
104
|
-
"installerVersion": "3.4.3",
|
|
105
|
-
"agentVersion": "1.0.0"
|
|
106
|
-
},
|
|
107
|
-
"docker-hardening-verification": {
|
|
108
|
-
"version": "1.0.0",
|
|
109
|
-
"installedAt": "2026-04-01T10:31:07.074Z",
|
|
110
|
-
"updatedAt": "2026-04-01T10:31:07.074Z",
|
|
111
|
-
"installerVersion": "3.4.3",
|
|
112
|
-
"agentVersion": "1.0.0"
|
|
113
|
-
},
|
|
114
|
-
"docker-image-signing": {
|
|
115
|
-
"version": "1.0.0",
|
|
116
|
-
"installedAt": "2026-04-01T10:31:07.601Z",
|
|
117
|
-
"updatedAt": "2026-04-01T10:31:07.601Z",
|
|
118
|
-
"installerVersion": "3.4.3",
|
|
119
|
-
"agentVersion": "1.0.0"
|
|
120
|
-
},
|
|
121
|
-
"document-revision-history": {
|
|
122
|
-
"version": "1.0.0",
|
|
123
|
-
"installedAt": "2026-04-01T10:31:08.024Z",
|
|
124
|
-
"updatedAt": "2026-04-01T10:31:08.024Z",
|
|
125
|
-
"installerVersion": "3.4.3",
|
|
126
|
-
"agentVersion": "1.0.0"
|
|
127
|
-
},
|
|
128
9
|
"git-workflow-skill": {
|
|
129
10
|
"version": "2.1.0",
|
|
130
|
-
"installedAt": "2026-04-
|
|
131
|
-
"updatedAt": "2026-04-
|
|
132
|
-
"installerVersion": "3.4.
|
|
11
|
+
"installedAt": "2026-04-02T10:55:34.181Z",
|
|
12
|
+
"updatedAt": "2026-04-02T10:55:34.181Z",
|
|
13
|
+
"installerVersion": "3.4.7",
|
|
133
14
|
"agentVersion": "1.0.0"
|
|
134
15
|
},
|
|
135
16
|
"js-ts-dependency-mgmt": {
|
|
136
17
|
"version": "1.0.0",
|
|
137
|
-
"installedAt": "2026-04-
|
|
138
|
-
"updatedAt": "2026-04-
|
|
139
|
-
"installerVersion": "3.4.
|
|
18
|
+
"installedAt": "2026-04-02T10:55:38.637Z",
|
|
19
|
+
"updatedAt": "2026-04-02T10:55:38.637Z",
|
|
20
|
+
"installerVersion": "3.4.7",
|
|
140
21
|
"agentVersion": "1.0.0"
|
|
141
22
|
},
|
|
142
23
|
"js-ts-security-skill": {
|
|
143
24
|
"version": "1.0.0",
|
|
144
|
-
"installedAt": "2026-04-
|
|
145
|
-
"updatedAt": "2026-04-
|
|
146
|
-
"installerVersion": "3.4.
|
|
25
|
+
"installedAt": "2026-04-02T10:55:40.623Z",
|
|
26
|
+
"updatedAt": "2026-04-02T10:55:40.623Z",
|
|
27
|
+
"installerVersion": "3.4.7",
|
|
147
28
|
"agentVersion": "1.0.0"
|
|
148
29
|
},
|
|
149
30
|
"logging-best-practices": {
|
|
150
31
|
"version": "1.0.0",
|
|
151
|
-
"installedAt": "2026-04-
|
|
152
|
-
"updatedAt": "2026-04-
|
|
153
|
-
"installerVersion": "3.4.
|
|
32
|
+
"installedAt": "2026-04-02T10:55:41.631Z",
|
|
33
|
+
"updatedAt": "2026-04-02T10:55:41.631Z",
|
|
34
|
+
"installerVersion": "3.4.7",
|
|
154
35
|
"agentVersion": "1.0.0"
|
|
155
36
|
},
|
|
156
37
|
"open-presentation": {
|
|
157
38
|
"version": "1.0.0",
|
|
158
|
-
"installedAt": "2026-04-
|
|
159
|
-
"updatedAt": "2026-04-
|
|
160
|
-
"installerVersion": "3.4.
|
|
39
|
+
"installedAt": "2026-04-02T10:55:42.829Z",
|
|
40
|
+
"updatedAt": "2026-04-02T10:55:42.829Z",
|
|
41
|
+
"installerVersion": "3.4.7",
|
|
161
42
|
"agentVersion": "1.0.0"
|
|
162
43
|
},
|
|
163
44
|
"opentelemetry-best-practices": {
|
|
164
45
|
"version": "1.0.0",
|
|
165
|
-
"installedAt": "2026-04-
|
|
166
|
-
"updatedAt": "2026-04-
|
|
167
|
-
"installerVersion": "3.4.
|
|
46
|
+
"installedAt": "2026-04-02T10:55:44.088Z",
|
|
47
|
+
"updatedAt": "2026-04-02T10:55:44.088Z",
|
|
48
|
+
"installerVersion": "3.4.7",
|
|
168
49
|
"agentVersion": "1.0.0"
|
|
169
50
|
},
|
|
170
51
|
"python-best-practices": {
|
|
171
52
|
"version": "1.0.0",
|
|
172
|
-
"installedAt": "2026-04-
|
|
173
|
-
"updatedAt": "2026-04-
|
|
174
|
-
"installerVersion": "3.4.
|
|
53
|
+
"installedAt": "2026-04-02T10:55:45.390Z",
|
|
54
|
+
"updatedAt": "2026-04-02T10:55:45.390Z",
|
|
55
|
+
"installerVersion": "3.4.7",
|
|
175
56
|
"agentVersion": "1.0.0"
|
|
176
57
|
},
|
|
177
58
|
"python-dependency-mgmt": {
|
|
178
59
|
"version": "1.0.0",
|
|
179
|
-
"installedAt": "2026-04-
|
|
180
|
-
"updatedAt": "2026-04-
|
|
181
|
-
"installerVersion": "3.4.
|
|
60
|
+
"installedAt": "2026-04-02T10:55:46.375Z",
|
|
61
|
+
"updatedAt": "2026-04-02T10:55:46.375Z",
|
|
62
|
+
"installerVersion": "3.4.7",
|
|
182
63
|
"agentVersion": "1.0.0"
|
|
183
64
|
},
|
|
184
65
|
"python-security-skill": {
|
|
185
66
|
"version": "1.0.0",
|
|
186
|
-
"installedAt": "2026-04-
|
|
187
|
-
"updatedAt": "2026-04-
|
|
188
|
-
"installerVersion": "3.4.
|
|
67
|
+
"installedAt": "2026-04-02T10:55:47.153Z",
|
|
68
|
+
"updatedAt": "2026-04-02T10:55:47.153Z",
|
|
69
|
+
"installerVersion": "3.4.7",
|
|
189
70
|
"agentVersion": "1.0.0"
|
|
190
71
|
},
|
|
191
72
|
"self-signed-cert": {
|
|
192
73
|
"version": "1.0.0",
|
|
193
|
-
"installedAt": "2026-04-
|
|
194
|
-
"updatedAt": "2026-04-
|
|
195
|
-
"installerVersion": "3.4.
|
|
74
|
+
"installedAt": "2026-04-02T10:55:48.480Z",
|
|
75
|
+
"updatedAt": "2026-04-02T10:55:48.480Z",
|
|
76
|
+
"installerVersion": "3.4.7",
|
|
196
77
|
"agentVersion": "1.0.0"
|
|
197
78
|
},
|
|
198
79
|
"skill-creator": {
|
|
199
80
|
"version": "1.0.0",
|
|
200
|
-
"installedAt": "2026-04-
|
|
201
|
-
"updatedAt": "2026-04-
|
|
202
|
-
"installerVersion": "3.4.
|
|
81
|
+
"installedAt": "2026-04-02T10:55:50.426Z",
|
|
82
|
+
"updatedAt": "2026-04-02T10:55:50.426Z",
|
|
83
|
+
"installerVersion": "3.4.7",
|
|
203
84
|
"agentVersion": "1.0.0"
|
|
204
85
|
},
|
|
205
86
|
"story-status-lookup": {
|
|
206
87
|
"version": "1.0.0",
|
|
207
|
-
"installedAt": "2026-04-
|
|
208
|
-
"updatedAt": "2026-04-
|
|
209
|
-
"installerVersion": "3.4.
|
|
88
|
+
"installedAt": "2026-04-02T10:55:51.221Z",
|
|
89
|
+
"updatedAt": "2026-04-02T10:55:51.221Z",
|
|
90
|
+
"installerVersion": "3.4.7",
|
|
210
91
|
"agentVersion": "1.0.0"
|
|
211
92
|
},
|
|
212
93
|
"test-accompanied-development": {
|
|
213
94
|
"version": "1.0.0",
|
|
214
|
-
"installedAt": "2026-04-
|
|
215
|
-
"updatedAt": "2026-04-
|
|
216
|
-
"installerVersion": "3.4.
|
|
95
|
+
"installedAt": "2026-04-02T10:55:51.997Z",
|
|
96
|
+
"updatedAt": "2026-04-02T10:55:51.997Z",
|
|
97
|
+
"installerVersion": "3.4.7",
|
|
217
98
|
"agentVersion": "1.0.0"
|
|
218
99
|
},
|
|
219
100
|
"test-generator": {
|
|
220
101
|
"version": "1.0.0",
|
|
221
|
-
"installedAt": "2026-04-
|
|
222
|
-
"updatedAt": "2026-04-
|
|
223
|
-
"installerVersion": "3.4.
|
|
102
|
+
"installedAt": "2026-04-02T10:55:53.511Z",
|
|
103
|
+
"updatedAt": "2026-04-02T10:55:53.511Z",
|
|
104
|
+
"installerVersion": "3.4.7",
|
|
224
105
|
"agentVersion": "1.0.0"
|
|
225
106
|
},
|
|
226
107
|
"vercel-react-best-practices": {
|
|
227
108
|
"version": "1.0.0",
|
|
228
|
-
"installedAt": "2026-04-
|
|
229
|
-
"updatedAt": "2026-04-
|
|
230
|
-
"installerVersion": "3.4.
|
|
109
|
+
"installedAt": "2026-04-02T10:55:54.376Z",
|
|
110
|
+
"updatedAt": "2026-04-02T10:55:54.376Z",
|
|
111
|
+
"installerVersion": "3.4.7",
|
|
231
112
|
"agentVersion": "1.0.0"
|
|
232
113
|
},
|
|
233
114
|
"verify-hardened-docker-skill": {
|
|
234
115
|
"version": "1.0.0",
|
|
235
|
-
"installedAt": "2026-04-
|
|
236
|
-
"updatedAt": "2026-04-
|
|
237
|
-
"installerVersion": "3.4.
|
|
116
|
+
"installedAt": "2026-04-02T10:55:56.461Z",
|
|
117
|
+
"updatedAt": "2026-04-02T10:55:56.461Z",
|
|
118
|
+
"installerVersion": "3.4.7",
|
|
238
119
|
"agentVersion": "1.0.0"
|
|
239
120
|
}
|
|
240
121
|
}
|
|
@@ -1,134 +1,6 @@
|
|
|
1
1
|
# MANIFEST.yaml
|
|
2
2
|
|
|
3
3
|
skills:
|
|
4
|
-
- id: ai-audit-trail
|
|
5
|
-
file: ai-audit-trail/SKILL.md
|
|
6
|
-
description: Tracks AI agent session activity, time spent, and token usage in a project-level AiAudit.md log file.
|
|
7
|
-
applies_when:
|
|
8
|
-
- starting a new agent task or workflow
|
|
9
|
-
- completing a document generation session
|
|
10
|
-
- finishing any multi-step agent workflow
|
|
11
|
-
always_load: true
|
|
12
|
-
|
|
13
|
-
- id: auto-bug-detection
|
|
14
|
-
file: auto-bug-detection/SKILL.md
|
|
15
|
-
description: Instructs agents to identify and report defects in already-delivered code
|
|
16
|
-
|
|
17
|
-
- id: cmake-best-practices
|
|
18
|
-
file: cmake-best-practices/SKILL.md
|
|
19
|
-
description: Enforce target-based, property-oriented CMake patterns (CMake 3.0+).
|
|
20
|
-
applies_when:
|
|
21
|
-
- creating or modifying CMakeLists.txt files
|
|
22
|
-
- managing C++ project dependencies via CMake
|
|
23
|
-
- defining C++ build configurations
|
|
24
|
-
always_load: true
|
|
25
|
-
|
|
26
|
-
- id: code-documentation
|
|
27
|
-
file: code-documentation/SKILL.md
|
|
28
|
-
description: Standardize file headers and method documentation across C++, C#, JS, TS, and Python.
|
|
29
|
-
applies_when:
|
|
30
|
-
- creating or modifying source code files
|
|
31
|
-
- defining new functions, methods, or classes
|
|
32
|
-
- refactoring code logic
|
|
33
|
-
- documenting APIs
|
|
34
|
-
always_load: true
|
|
35
|
-
|
|
36
|
-
- id: code-review
|
|
37
|
-
file: code-review/SKILL.md
|
|
38
|
-
description: Performs comprehensive code reviews with best practices
|
|
39
|
-
|
|
40
|
-
- id: commit-message
|
|
41
|
-
file: commit-message/SKILL.md
|
|
42
|
-
description: Generates conventional commit messages from code changes
|
|
43
|
-
|
|
44
|
-
- id: cpp-best-practices
|
|
45
|
-
file: cpp-best-practices/SKILL.md
|
|
46
|
-
description: Comprehensive C++ coding standards covering naming conventions, modern C++ idioms (C++17/20/23), error handling, and build guidelines. Cross-references domain-specific C++ skills for deep-dives.
|
|
47
|
-
applies_when:
|
|
48
|
-
- writing c++ code
|
|
49
|
-
- modifying c++ code
|
|
50
|
-
- creating new c++ files or classes
|
|
51
|
-
- reviewing c++ code style or conventions
|
|
52
|
-
- refactoring c++ code
|
|
53
|
-
- setting up a c++ project
|
|
54
|
-
always_load: true
|
|
55
|
-
|
|
56
|
-
- id: cpp-concurrency-safety
|
|
57
|
-
file: cpp-concurrency-safety/SKILL.md
|
|
58
|
-
description: Enforce safe multi-threading patterns using RAII locking and task-based parallelism (C++14+).
|
|
59
|
-
applies_when:
|
|
60
|
-
- working with C++ threads
|
|
61
|
-
- using C++ mutexes or locking primitives
|
|
62
|
-
- performing C++ asynchronous operations
|
|
63
|
-
- designing multi-threaded C++ systems
|
|
64
|
-
|
|
65
|
-
- id: cpp-const-correctness
|
|
66
|
-
file: cpp-const-correctness/SKILL.md
|
|
67
|
-
description: Enforce immutability-by-default and push logic to compile-time using constexpr (C++14+).
|
|
68
|
-
applies_when:
|
|
69
|
-
- declaring C++ variables
|
|
70
|
-
- defining C++ member functions
|
|
71
|
-
- performing C++ compile-time calculations
|
|
72
|
-
- optimizing C++ logic
|
|
73
|
-
|
|
74
|
-
- id: cpp-memory-handling
|
|
75
|
-
file: cpp-memory-handling/SKILL.md
|
|
76
|
-
description: Enforces Modern C++ practices (RAII, Smart Pointers) to prevent memory leaks, dangling pointers, and buffer overflows.
|
|
77
|
-
applies_when:
|
|
78
|
-
- writing c++ code
|
|
79
|
-
- modifying memory-intensive C++ logic
|
|
80
|
-
- debugging memory leaks in c++
|
|
81
|
-
- implementing new c++ classes
|
|
82
|
-
|
|
83
|
-
- id: cpp-modern-composition
|
|
84
|
-
file: cpp-modern-composition/SKILL.md
|
|
85
|
-
description: Replace legacy C patterns with STL, Ranges, and modern C++ abstractions (C++14+).
|
|
86
|
-
applies_when:
|
|
87
|
-
- writing C++ logic or algorithms
|
|
88
|
-
- performing C++ refactoring
|
|
89
|
-
- handling C++ data transformations
|
|
90
|
-
- working with C++ collections
|
|
91
|
-
always_load: true
|
|
92
|
-
|
|
93
|
-
- id: cpp-robust-interfaces
|
|
94
|
-
file: cpp-robust-interfaces/SKILL.md
|
|
95
|
-
description: Enforce contract-based design and strong typing in C++ interfaces (C++14+).
|
|
96
|
-
applies_when:
|
|
97
|
-
- creating or modifying C++ header files
|
|
98
|
-
- designing C++ function signatures
|
|
99
|
-
- defining C++ APIs or public interfaces
|
|
100
|
-
|
|
101
|
-
- id: create-hardened-docker-skill
|
|
102
|
-
file: create-hardened-docker-skill/SKILL.md
|
|
103
|
-
description: Creates production-ready hardened Docker configurations following CIS, OWASP, and NIST standards
|
|
104
|
-
|
|
105
|
-
- id: csharp-best-practices
|
|
106
|
-
file: csharp-best-practices/SKILL.md
|
|
107
|
-
description: Comprehensive C# coding standards covering modern C# (C# 10-12), async/await, LINQ, dependency injection basics, nullable reference types, and testing conventions.
|
|
108
|
-
applies_when:
|
|
109
|
-
- writing c# code
|
|
110
|
-
- creating new c# files or classes
|
|
111
|
-
- reviewing c# code style or conventions
|
|
112
|
-
- working with .net projects
|
|
113
|
-
- setting up a c# project
|
|
114
|
-
always_load: true
|
|
115
|
-
|
|
116
|
-
- id: docker-hardening-verification
|
|
117
|
-
file: docker-hardening-verification/SKILL.md
|
|
118
|
-
description: Audits Docker images for security best practices, least privilege, and OpenShift compliance.
|
|
119
|
-
|
|
120
|
-
- id: docker-image-signing
|
|
121
|
-
file: docker-image-signing/SKILL.md
|
|
122
|
-
description: Automates the signing of Docker images using certificates and Cosign/Notary.
|
|
123
|
-
|
|
124
|
-
- id: document-revision-history
|
|
125
|
-
file: document-revision-history/SKILL.md
|
|
126
|
-
description: Manages a revision history table at the beginning of generated documents, tracking changes per version.
|
|
127
|
-
applies_when:
|
|
128
|
-
- generating or updating planning documents
|
|
129
|
-
- creating specification or design documents
|
|
130
|
-
- modifying existing markdown documents that have a revision history table
|
|
131
|
-
|
|
132
4
|
- id: git-workflow-skill
|
|
133
5
|
file: git-workflow-skill/SKILL.md
|
|
134
6
|
description: MANDATORY worktree-based workflow for ALL file-changing activities. Enforces isolated feature branches, conventional commits, and PR-based merging.
|
|
File without changes
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add-sprint
|
|
3
|
+
description: Guided workflow to create a new sprint entity with capacity limits, optional ISO dates, and structured YAML schema for sprint planning
|
|
4
|
+
type: skill
|
|
5
|
+
triggers:
|
|
6
|
+
- "add sprint"
|
|
7
|
+
- "create sprint"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Add Sprint Workflow
|
|
11
|
+
|
|
12
|
+
Guided workflow to create a new sprint entity with capacity limits, optional ISO dates, and structured YAML schema.
|
|
13
|
+
|
|
14
|
+
<workflow>
|
|
15
|
+
|
|
16
|
+
<step n="1" goal="Gather and validate sprint number and name">
|
|
17
|
+
<action>Ask the user for the sprint number</action>
|
|
18
|
+
<ask>What is the sprint number? (positive integer, e.g., 1, 2, 3)</ask>
|
|
19
|
+
<action>Store input as {{sprint_number_input}}</action>
|
|
20
|
+
<action>Validate {{sprint_number_input}} matches `^[1-9]\d*$` (positive integer, no leading zeros, no non-numeric characters)</action>
|
|
21
|
+
<action>Validate {{sprint_number_input}} is <= 9999</action>
|
|
22
|
+
<check if="{{sprint_number_input}} fails validation (zero, negative, non-numeric, leading zeros like '03', or > 9999)">
|
|
23
|
+
<output>❌ Invalid sprint number: "{{sprint_number_input}}". Must be a positive integer (1-9999), no leading zeros.</output>
|
|
24
|
+
<goto step="1" />
|
|
25
|
+
</check>
|
|
26
|
+
<action>Store as {{sprint_number}} (integer)</action>
|
|
27
|
+
<action>Construct {{sprint_id}} = "sprint-{{sprint_number}}"</action>
|
|
28
|
+
|
|
29
|
+
<!-- Smart default name: detect naming patterns from existing sprints -->
|
|
30
|
+
<action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover existing sprint files</action>
|
|
31
|
+
<action>If existing sprints found, read the `name` field from the most recent one (highest sprint number)</action>
|
|
32
|
+
<action>Infer a smart default name:
|
|
33
|
+
- If previous name follows a sequential pattern with a numeric suffix (e.g., "app04"), suggest the next increment (e.g., "app05")
|
|
34
|
+
- If previous name follows a date pattern (e.g., "2026-W14"), suggest the next date interval
|
|
35
|
+
- If previous name is "Sprint {n}", suggest "Sprint {{sprint_number}}"
|
|
36
|
+
- If no pattern detected or no existing sprints, default to "Sprint {{sprint_number}}"
|
|
37
|
+
</action>
|
|
38
|
+
<ask>Sprint name? (press Enter for "{{default_name}}", or type a custom name):</ask>
|
|
39
|
+
<action>If user presses Enter or leaves blank, set {{sprint_name}} = "{{default_name}}"</action>
|
|
40
|
+
<action>If user provides input, store as {{sprint_name}}</action>
|
|
41
|
+
</step>
|
|
42
|
+
|
|
43
|
+
<step n="2" goal="Gather capacity as positive integer">
|
|
44
|
+
<action>Explain capacity: the maximum number of items (stories + bugs) that can be assigned to this sprint</action>
|
|
45
|
+
<ask>What is the sprint capacity? (Enter a positive integer — the maximum number of stories/bugs for this sprint)</ask>
|
|
46
|
+
<action>Store input as {{capacity_input}}</action>
|
|
47
|
+
<action>Validate {{capacity_input}} is a positive integer (greater than zero, no decimals, no non-numeric characters)</action>
|
|
48
|
+
<check if="{{capacity_input}} is NOT a positive integer">
|
|
49
|
+
<output>❌ Invalid capacity: "{{capacity_input}}". Capacity must be a positive integer (e.g., 5, 10, 20). Zero and negative values are not allowed.</output>
|
|
50
|
+
<goto step="2" />
|
|
51
|
+
</check>
|
|
52
|
+
<action>Store as {{capacity}} (integer)</action>
|
|
53
|
+
</step>
|
|
54
|
+
|
|
55
|
+
<step n="3a" goal="Gather optional start date (ISO format)">
|
|
56
|
+
<action>Explain: start and end dates are optional ISO dates (YYYY-MM-DD format). Press Enter to skip.</action>
|
|
57
|
+
<ask>Optional — Sprint start date (YYYY-MM-DD, press Enter to skip):</ask>
|
|
58
|
+
<action>Store input as {{start_input}}</action>
|
|
59
|
+
<check if="{{start_input}} is not empty">
|
|
60
|
+
<action>Validate {{start_input}} matches regex `^\d{4}-\d{2}-\d{2}$`</action>
|
|
61
|
+
<action>Verify {{start_input}} resolves to a real calendar date (reject impossible dates like 2026-02-30, 2026-13-45, etc.)</action>
|
|
62
|
+
<check if="{{start_input}} fails date validation">
|
|
63
|
+
<output>❌ Invalid date: "{{start_input}}". Must be a valid date in YYYY-MM-DD format (e.g., 2026-04-01).</output>
|
|
64
|
+
<goto step="3a" />
|
|
65
|
+
</check>
|
|
66
|
+
</check>
|
|
67
|
+
<action>Store as {{start_date}} (valid ISO date string, or empty string "" if skipped)</action>
|
|
68
|
+
</step>
|
|
69
|
+
|
|
70
|
+
<step n="3b" goal="Gather optional end date (ISO format)">
|
|
71
|
+
<ask>Optional — Sprint end date (YYYY-MM-DD, press Enter to skip):</ask>
|
|
72
|
+
<action>Store input as {{end_input}}</action>
|
|
73
|
+
<check if="{{end_input}} is not empty">
|
|
74
|
+
<action>Validate {{end_input}} matches regex `^\d{4}-\d{2}-\d{2}$`</action>
|
|
75
|
+
<action>Verify {{end_input}} resolves to a real calendar date</action>
|
|
76
|
+
<check if="{{end_input}} fails date validation">
|
|
77
|
+
<output>❌ Invalid date: "{{end_input}}". Must be a valid date in YYYY-MM-DD format (e.g., 2026-04-14).</output>
|
|
78
|
+
<goto step="3b" />
|
|
79
|
+
</check>
|
|
80
|
+
</check>
|
|
81
|
+
<action>Store as {{end_date}} (valid ISO date string, or empty string "" if skipped)</action>
|
|
82
|
+
|
|
83
|
+
<check if="both {{start_date}} and {{end_date}} are non-empty AND {{start_date}} > {{end_date}}">
|
|
84
|
+
<output>❌ Invalid date range: start date ({{start_date}}) is after end date ({{end_date}}). Start must be on or before end.</output>
|
|
85
|
+
<goto step="3a" />
|
|
86
|
+
</check>
|
|
87
|
+
</step>
|
|
88
|
+
|
|
89
|
+
<step n="4" goal="Confirm and validate all inputs">
|
|
90
|
+
<output>
|
|
91
|
+
## Sprint Summary — Please Confirm
|
|
92
|
+
|
|
93
|
+
- **Sprint ID:** {{sprint_id}}
|
|
94
|
+
- **Sprint Name:** "{{sprint_name}}"
|
|
95
|
+
- **Status:** planning
|
|
96
|
+
- **Capacity (max items):** {{capacity}}
|
|
97
|
+
- **Start Date:** {{start_date}} *(empty if skipped)*
|
|
98
|
+
- **End Date:** {{end_date}} *(empty if skipped)*
|
|
99
|
+
- **Items:** [] *(empty — items assigned via /add-to-sprint)*
|
|
100
|
+
- **Output File:** `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`
|
|
101
|
+
</output>
|
|
102
|
+
<ask>Confirm creation? [y] Yes / [n] Cancel / [e] Edit a field:</ask>
|
|
103
|
+
<check if="user selects 'e'">
|
|
104
|
+
<ask>Which field to edit? (number / name / capacity / start / end)</ask>
|
|
105
|
+
<check if="field == 'number'">
|
|
106
|
+
<ask>New sprint number? (positive integer, 1-9999)</ask>
|
|
107
|
+
<action>Store input as {{sprint_number_input}}</action>
|
|
108
|
+
<action>Validate {{sprint_number_input}} matches `^[1-9]\d*$` and is <= 9999</action>
|
|
109
|
+
<check if="{{sprint_number_input}} fails validation">
|
|
110
|
+
<output>❌ Invalid sprint number: "{{sprint_number_input}}". Must be a positive integer (1-9999), no leading zeros.</output>
|
|
111
|
+
<goto step="4" />
|
|
112
|
+
</check>
|
|
113
|
+
<action>Store as {{sprint_number}} (integer)</action>
|
|
114
|
+
<action>Construct {{sprint_id}} = "sprint-{{sprint_number}}"</action>
|
|
115
|
+
<action>If sprint name was using previous default "Sprint {old_n}", update to "Sprint {{sprint_number}}"</action>
|
|
116
|
+
<action>Check if file exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`</action>
|
|
117
|
+
<check if="file already exists at new path">
|
|
118
|
+
<output>⚠️ A sprint entity already exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`. You will be prompted to overwrite at creation.</output>
|
|
119
|
+
</check>
|
|
120
|
+
<goto step="4" />
|
|
121
|
+
</check>
|
|
122
|
+
<check if="field == 'name'">
|
|
123
|
+
<ask>New sprint name (or press Enter to use "Sprint {{sprint_number}}"):</ask>
|
|
124
|
+
<action>If blank, set {{sprint_name}} = "Sprint {{sprint_number}}"; else store user input as {{sprint_name}}</action>
|
|
125
|
+
<goto step="4" />
|
|
126
|
+
</check>
|
|
127
|
+
<check if="field == 'capacity'"><goto step="2" /></check>
|
|
128
|
+
<check if="field == 'start'"><goto step="3a" /></check>
|
|
129
|
+
<check if="field == 'end'"><goto step="3b" /></check>
|
|
130
|
+
<check if="field is not recognized">
|
|
131
|
+
<output>❌ Unrecognized field: "{{field}}". Valid options: number, name, capacity, start, end.</output>
|
|
132
|
+
<goto step="4" />
|
|
133
|
+
</check>
|
|
134
|
+
</check>
|
|
135
|
+
<check if="user selects 'n'">
|
|
136
|
+
<output>❌ Sprint creation cancelled.</output>
|
|
137
|
+
<action>Exit workflow</action>
|
|
138
|
+
</check>
|
|
139
|
+
<check if="user input is not 'y', 'n', or 'e'">
|
|
140
|
+
<output>❌ Unrecognized option: "{{user_input}}". Please enter [y] Yes, [n] Cancel, or [e] Edit a field.</output>
|
|
141
|
+
<goto step="4" />
|
|
142
|
+
</check>
|
|
143
|
+
</step>
|
|
144
|
+
|
|
145
|
+
<step n="5" goal="Generate sprint entity YAML file">
|
|
146
|
+
<action>Determine output path: `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`</action>
|
|
147
|
+
<action>Ensure directory `_bmad-output/implementation-artifacts/sprints/` exists (create if needed)</action>
|
|
148
|
+
|
|
149
|
+
<!-- Overwrite protection for new path -->
|
|
150
|
+
<action>Check if file already exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`</action>
|
|
151
|
+
<check if="file already exists at new path">
|
|
152
|
+
<anchor id="overwrite_prompt" />
|
|
153
|
+
<output>⚠️ A sprint entity already exists at `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`.</output>
|
|
154
|
+
<ask>Overwrite existing sprint? [y] Yes / [n] Cancel:</ask>
|
|
155
|
+
<check if="user selects 'n'">
|
|
156
|
+
<output>❌ Sprint creation cancelled to preserve existing sprint.</output>
|
|
157
|
+
<action>Exit workflow</action>
|
|
158
|
+
</check>
|
|
159
|
+
<check if="user input is not 'y' or 'n'">
|
|
160
|
+
<output>❌ Unrecognized option: "{{user_input}}". Please enter [y] Yes or [n] Cancel.</output>
|
|
161
|
+
<goto anchor="overwrite_prompt" />
|
|
162
|
+
</check>
|
|
163
|
+
</check>
|
|
164
|
+
|
|
165
|
+
<!-- Advisory check for old-format file -->
|
|
166
|
+
<action>Check if file exists at old path: `_bmad-output/implementation-artifacts/sprint-plan-{{sprint_number}}.yaml`</action>
|
|
167
|
+
<check if="old-format file exists">
|
|
168
|
+
<output>ℹ️ **Note:** An old-format sprint file exists at `_bmad-output/implementation-artifacts/sprint-plan-{{sprint_number}}.yaml`. The new sprint will be created at the new path. The old file is NOT auto-migrated — review or remove it manually if no longer needed.</output>
|
|
169
|
+
</check>
|
|
170
|
+
|
|
171
|
+
<action>Get current ISO timestamp for created_date and last_modified</action>
|
|
172
|
+
<action>Write sprint entity YAML to `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml` with this structure:
|
|
173
|
+
|
|
174
|
+
```yaml
|
|
175
|
+
id: {{sprint_id}}
|
|
176
|
+
name: "{{sprint_name}}"
|
|
177
|
+
status: planning
|
|
178
|
+
capacity: {{capacity}}
|
|
179
|
+
start: "{{start_date}}"
|
|
180
|
+
end: "{{end_date}}"
|
|
181
|
+
items: []
|
|
182
|
+
created_date: "{{current_iso_timestamp}}"
|
|
183
|
+
last_modified: "{{current_iso_timestamp}}"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**YAML output rules:**
|
|
187
|
+
- Always quote the `name` field to handle special characters
|
|
188
|
+
- `start` and `end` are empty string `""` if skipped
|
|
189
|
+
- `items` is always empty array `[]` at creation
|
|
190
|
+
- `status` is always `planning` at creation (never `active` or `closed`)
|
|
191
|
+
</action>
|
|
192
|
+
<output>
|
|
193
|
+
✅ **Sprint created successfully!**
|
|
194
|
+
|
|
195
|
+
- **File:** `_bmad-output/implementation-artifacts/sprints/{{sprint_id}}.yaml`
|
|
196
|
+
- **Sprint:** {{sprint_name}}
|
|
197
|
+
- **Capacity:** {{capacity}} items
|
|
198
|
+
- **Status:** planning
|
|
199
|
+
|
|
200
|
+
**Next Steps:**
|
|
201
|
+
- Use `/add-to-sprint` to assign backlog items to this sprint
|
|
202
|
+
- Use `/modify-sprint` to update sprint details later
|
|
203
|
+
- Use `/sprint-status-view` to view sprint progress
|
|
204
|
+
</output>
|
|
205
|
+
</step>
|
|
206
|
+
|
|
207
|
+
</workflow>
|
|
File without changes
|