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,100 @@
|
|
|
1
|
+
# Step 3 — Generate Document
|
|
2
|
+
|
|
3
|
+
Write the document in {document_output_language}, populating each template section. Each requirement shall be assigned a project-unique identifier, be stated so that an objective test can be defined for it, and be annotated with qualification method(s) and traceability to system requirements.
|
|
4
|
+
|
|
5
|
+
## Revision History
|
|
6
|
+
|
|
7
|
+
Before writing any content, add a **Revision History table** immediately after the document title. If this is a new document, create the table with version `1.0`. If updating an existing document, read the existing revision history and add a new row with an incremented version number and a summary of all changes made in this session. See the `document-revision-history` skill for full formatting rules.
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
| Version | Date | Author | Changes |
|
|
11
|
+
|---------|------|--------|---------|
|
|
12
|
+
| 1.0 | {date} | Agent ({model}) | Initial document generation |
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Section 1: Scope
|
|
16
|
+
- **1.1 Identification**: Extract software name, version, CSCI identifiers from the SSDD, PRD, and Architecture
|
|
17
|
+
- **1.2 System overview**: Summarize purpose, nature, development history from PRD. Identify this CSCI's role within the system
|
|
18
|
+
- **1.3 Document overview**: Describe this SRS document's purpose, contents, and any security/privacy considerations
|
|
19
|
+
|
|
20
|
+
## Section 2: Referenced documents
|
|
21
|
+
- List all predecessor MIL-STD-498 documents (SSDD, SSS) and project artifacts used, with number, title, revision, and date
|
|
22
|
+
|
|
23
|
+
## Section 3: Requirements
|
|
24
|
+
|
|
25
|
+
- **3.1 Required states and modes**: Identify operational modes from Architecture (e.g., normal, degraded, maintenance, training). If none, state "The CSCI does not have distinct operational states or modes." If states/modes exist, correlate each requirement or group of requirements to the applicable states/modes.
|
|
26
|
+
|
|
27
|
+
- **3.2 CSCI capability requirements**: Map Epics/features from the PRD to numbered capability requirements (3.2.1, 3.2.2, etc.). **Only include capabilities allocated to this CSCI per the SSDD.** Each requirement must have:
|
|
28
|
+
- A unique project identifier (e.g., SRS-CAP-001)
|
|
29
|
+
- Clear, testable acceptance criteria
|
|
30
|
+
- Parameters: response times, throughput, accuracy, capacity, priorities, continuous operation requirements as applicable
|
|
31
|
+
- Error handling: behavior under unexpected, unallowed, or out-of-bounds conditions
|
|
32
|
+
- Provisions for continuity of operations in emergencies
|
|
33
|
+
|
|
34
|
+
- **3.3 CSCI external interface requirements**:
|
|
35
|
+
- **3.3.1 Interface identification and diagrams**: Identify all required external interfaces with project-unique identifiers. Designate interfacing entities by name, number, version. State which have fixed vs. developing characteristics. Provide interface diagrams.
|
|
36
|
+
- **3.3.x (per interface)**: For each external interface, specify requirements imposed on the CSCI. State other entities' characteristics as assumptions ("When [entity] does this, the CSCI shall..."). Cover:
|
|
37
|
+
- **a.** Priority the CSCI must assign the interface
|
|
38
|
+
- **b.** Type of interface (real-time data transfer, storage-and-retrieval, etc.)
|
|
39
|
+
- **c.** Data elements: names/identifiers (project-unique, natural-language, technical), data types, sizes/formats, units, ranges, accuracy/precision, timing/frequency/volume constraints, security/privacy constraints, sources and recipients
|
|
40
|
+
- **d.** Data element assemblies: records, messages, files, displays — names, structure, medium, visual/auditory characteristics, relationships, constraints, sources and recipients
|
|
41
|
+
- **e.** Communication methods: links/media, message formatting, flow control, data transfer rates, routing/addressing, transmission services, security considerations
|
|
42
|
+
- **f.** Protocols: priority/layer, packeting/fragmentation, error control/recovery, synchronization, status/reporting
|
|
43
|
+
- **g.** Physical compatibility (dimensions, tolerances, loads, plug compatibility, voltages)
|
|
44
|
+
|
|
45
|
+
- **3.4 CSCI internal interface requirements**: Document internal component interfaces. If all internal interfaces are left to design, state so. If requirements exist, follow the same topics as 3.3.x.
|
|
46
|
+
|
|
47
|
+
- **3.5 CSCI internal data requirements**: Identify persistent data stores, databases, and data models. If all decisions are left to design, state so. If requirements exist, follow data element topics from 3.3.x.c and 3.3.x.d.
|
|
48
|
+
|
|
49
|
+
- **3.6 Adaptation requirements**: Site-specific or installation-dependent data and operational parameters that may vary
|
|
50
|
+
|
|
51
|
+
- **3.7 Safety requirements**: Requirements for preventing/minimizing unintended hazards — safeguards against inadvertent actions and non-actions
|
|
52
|
+
|
|
53
|
+
- **3.8 Security and privacy requirements**: Security/privacy environment, type/degree of protection, risks to withstand, required safeguards, policy requirements, accountability, certification criteria
|
|
54
|
+
|
|
55
|
+
- **3.9 CSCI environment requirements**: Runtime environment constraints (hardware, operating system)
|
|
56
|
+
|
|
57
|
+
- **3.10 Computer resource requirements**:
|
|
58
|
+
- **3.10.1 Computer hardware requirements**: Required hardware — processors, memory, I/O devices, auxiliary storage, communications/network equipment (number, type, size, capacity, characteristics)
|
|
59
|
+
- **3.10.2 Computer hardware resource utilization requirements**: Maximum allowable utilization (e.g., % of processor, memory, I/O, storage, network capacity) with conditions for measurement
|
|
60
|
+
- **3.10.3 Computer software requirements**: Required software (OS, DBMS, network software, utilities, simulators) with nomenclature, version, and documentation references
|
|
61
|
+
- **3.10.4 Computer communications requirements**: Geographic locations, network topology, transmission techniques, data transfer rates, gateways, system use times, data volume, time boundaries, peak volumes, diagnostics
|
|
62
|
+
|
|
63
|
+
- **3.11 Software quality factors**: Quantitative requirements for: functionality, reliability, maintainability, availability, flexibility, portability, reusability, testability, usability
|
|
64
|
+
|
|
65
|
+
- **3.12 Design and implementation constraints**: Constraints on architecture, databases, standard components, Government-furnished property; required design/implementation standards, programming languages; flexibility/expandability for anticipated growth
|
|
66
|
+
|
|
67
|
+
- **3.13 Personnel-related requirements**: Number of users, skill levels, duty cycles, training needs, human factors engineering (capabilities/limitations of humans, foreseeable errors, critical indicator placement, auditory signals)
|
|
68
|
+
|
|
69
|
+
- **3.14 Training-related requirements**: Training software or features to be included
|
|
70
|
+
|
|
71
|
+
- **3.15 Logistics-related requirements**: System maintenance, software support, transportation, supply-system requirements, facility/equipment impacts
|
|
72
|
+
|
|
73
|
+
- **3.16 Other requirements**: Any additional requirements not covered above
|
|
74
|
+
|
|
75
|
+
- **3.17 Packaging requirements**: Requirements for packaging, labeling, and handling for delivery
|
|
76
|
+
|
|
77
|
+
- **3.18 Precedence and criticality of requirements**: Order of precedence, criticality, or assigned weights. Identify requirements critical to safety, security, or privacy for special treatment
|
|
78
|
+
|
|
79
|
+
## Section 4: Qualification provisions
|
|
80
|
+
For each requirement in Section 3, specify the qualification method(s). A table may be used, or requirements may be annotated inline:
|
|
81
|
+
- **a.** Demonstration: Observable functional operation without instrumentation
|
|
82
|
+
- **b.** Test: Operation using instrumentation or special test equipment
|
|
83
|
+
- **c.** Analysis: Processing of accumulated data from other methods
|
|
84
|
+
- **d.** Inspection: Visual examination of code, documentation
|
|
85
|
+
- **e.** Special qualification methods: Special tools, techniques, procedures, facilities, or acceptance limits
|
|
86
|
+
|
|
87
|
+
## Section 5: Requirements traceability
|
|
88
|
+
- **5.a**: Map each CSCI requirement to the system (or subsystem) requirements it addresses. Note: some CSCI requirements may trace to "system implementation" or system design decisions rather than specific higher-level requirements.
|
|
89
|
+
- **5.b**: Map each system requirement allocated to this CSCI to the CSCI requirements that address it. All allocated system requirements shall be accounted for.
|
|
90
|
+
|
|
91
|
+
## Section 6: Notes
|
|
92
|
+
- Alphabetical listing of all acronyms, abbreviations, and their meanings
|
|
93
|
+
- Glossary of terms and definitions
|
|
94
|
+
|
|
95
|
+
## Appendix A
|
|
96
|
+
- Include any supplementary material (requirement matrices, data dictionaries) that supports the main body
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
**CONFIRMATION GATE**: Present the generated document to the user for initial review. Wait for the user to confirm the content before proceeding to validation.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Step 4 — Validate
|
|
2
|
+
|
|
3
|
+
Before presenting to the user, verify:
|
|
4
|
+
- All template sections (1-6 and Appendix A) are populated or marked "Not applicable" with justification
|
|
5
|
+
- Every requirement has a unique identifier (SRS-xxx-nnn format)
|
|
6
|
+
- Every requirement is testable and traceable to a system requirement
|
|
7
|
+
- External interfaces (3.3.x) cover all seven categories (a through g) where applicable
|
|
8
|
+
- Computer resource requirements (3.10) has all four subsections (3.10.1-3.10.4)
|
|
9
|
+
- Qualification methods are specified for all requirements including special methods (4.e)
|
|
10
|
+
- Cross-references between sections are consistent
|
|
11
|
+
- Requirements are scoped to this CSCI only (not system-wide)
|
|
12
|
+
- Document is written in {document_output_language}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
**CONFIRMATION GATE**: Present the validation results to the user. List any issues found and corrections made. Wait for the user to confirm before proceeding to the review step.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Step 5 — Review
|
|
2
|
+
|
|
3
|
+
Present the complete document to {user_name} for review.
|
|
4
|
+
Highlight any sections where information was inferred or assumptions were made.
|
|
5
|
+
Specifically ask about:
|
|
6
|
+
- Are all capability requirements for this CSCI captured?
|
|
7
|
+
- Are the interface requirements (3.3) accurate and complete?
|
|
8
|
+
- Are there additional constraints or quality requirements?
|
|
9
|
+
- Is the precedence/criticality ranking (3.18) correct?
|
|
10
|
+
|
|
11
|
+
Offer to refine any section based on feedback.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
**CONFIRMATION GATE**: Wait for the user to approve the document or request changes. If changes are requested, apply them and re-present for approval. Do not proceed to save until the user explicitly approves.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Step 6 — Save
|
|
2
|
+
|
|
3
|
+
Write the final document to:
|
|
4
|
+
`{output_folder}/planning-artifacts/SRS.md`
|
|
5
|
+
|
|
6
|
+
(If this is not the first CSCI's SRS, save as `SRS-{CSCI-identifier}.md`)
|
|
7
|
+
|
|
8
|
+
Confirm the file was saved and display a summary of:
|
|
9
|
+
- CSCI identifier and name
|
|
10
|
+
- Total number of requirements identified
|
|
11
|
+
- Number of capabilities documented
|
|
12
|
+
- Number of interfaces specified
|
|
13
|
+
- Qualification methods assigned
|
|
14
|
+
- Any sections marked "Not applicable"
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
**CONFIRMATION GATE**: Confirm to the user that the document has been saved successfully and present the summary. The workflow is now complete.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# 1. Scope.
|
|
2
|
+
|
|
3
|
+
This section shall be divided into the following paragraphs.
|
|
4
|
+
|
|
5
|
+
## 1.1 Identification.
|
|
6
|
+
|
|
7
|
+
This paragraph shall contain a full identification of the system and the software to which this document applies, including, as applicable, identification number(s), title(s), abbreviation(s), version number(s), and release number(s).
|
|
8
|
+
|
|
9
|
+
## 1.2 System overview.
|
|
10
|
+
|
|
11
|
+
This paragraph shall briefly state the purpose of the system and the software to which this document applies. It shall describe the general nature of the system and software; summarize the history of system development, operation, and maintenance; identify the project sponsor, acquirer, user, developer, and support agencies; identify current and planned operating sites; and list other relevant documents.
|
|
12
|
+
|
|
13
|
+
## 1.3 Document overview.
|
|
14
|
+
|
|
15
|
+
This paragraph shall summarize the purpose and contents of this document and shall describe any security or privacy considerations associated with its use.
|
|
16
|
+
|
|
17
|
+
# 2. Referenced documents.
|
|
18
|
+
|
|
19
|
+
This section shall list the number, title, revision, and date of all documents referenced in this specification. This section shall also identify the source for all documents not available through normal Government stocking activities.
|
|
20
|
+
|
|
21
|
+
# 3. Requirements.
|
|
22
|
+
|
|
23
|
+
This section shall be divided into the following paragraphs to specify the CSCI requirements, that is, those characteristics of the CSCI that are conditions for its acceptance. CSCI requirements are software requirements generated to satisfy the system requirements allocated to this CSCI. Each requirement shall be assigned a project-unique identifier to support testing and traceability and shall be stated in such a way that an objective test can be defined for it. Each requirement shall be annotated with associated qualification method(s) (see section 4) and traceability to system (or subsystem, if applicable) requirements (see section 5.a) if not provided in those sections. The degree of detail to be provided shall be guided by the following rule: Include those characteristics of the CSCI that are conditions for CSCI acceptance; defer to design descriptions those characteristics that the acquirer is willing to leave up to the developer. If there are no requirements in a given paragraph, the paragraph shall so state. If a given requirement fits into more than one paragraph, it may be stated once and referenced from the other paragraphs.
|
|
24
|
+
|
|
25
|
+
## 3.1 Required states and modes.
|
|
26
|
+
|
|
27
|
+
If the CSCI is required to operate in more than one state or mode having requirements distinct from other states or modes, this paragraph shall identify and define each state and mode. Examples of states and modes include: idle, ready, active, post-use analysis, training, degraded, emergency, backup, wartime, peacetime. The distinction between states and modes is arbitrary. A CSCI may be described in terms of states only, modes only, states within modes, modes within states, or any other scheme that is useful. If no states or modes are required, this paragraph shall so state, without the need to create artificial distinctions. If states and/or modes are required, each requirement or group of requirements in this specification shall be correlated to the states and modes. The correlation may be indicated by a table or other method in this paragraph, in an appendix referenced from this paragraph, or by annotation of the requirements in the paragraphs where they appear.
|
|
28
|
+
|
|
29
|
+
## 3.2 CSCI capability requirements.
|
|
30
|
+
|
|
31
|
+
This paragraph shall be divided into subparagraphs to itemize the requirements associated with each capability of the CSCI. A "capability" is defined as a group of related requirements. The word "capability" may be replaced with "function," "subject," "object," or other term useful for presenting the requirements.
|
|
32
|
+
|
|
33
|
+
### 3.2.x (CSCI capability).
|
|
34
|
+
|
|
35
|
+
This paragraph shall identify a required CSCI capability and shall itemize the requirements associated with the capability. If the capability can be more clearly specified by dividing it into constituent capabilities, the constituent capabilities shall be specified in subparagraphs. The requirements shall specify required behavior of the CSCI and shall include applicable parameters, such as response times, throughput times, other timing constraints, sequencing, accuracy, capacities (how much/how many), priorities, continuous operation requirements, and allowable deviations based on operating conditions. The requirements shall include, as applicable, required behavior under unexpected, unallowed, or "out of bounds" conditions, requirements for error handling, and any provisions to be incorporated into the CSCI to provide continuity of operations in the event of emergencies. Paragraph 3.3.x of this DID provides a list of topics to be considered when specifying requirements regarding inputs the CSCI must accept and outputs it must produce.
|
|
36
|
+
|
|
37
|
+
## 3.3 CSCI external interface requirements.
|
|
38
|
+
|
|
39
|
+
This paragraph shall be divided into subparagraphs to specify the requirements, if any, for the CSCI's external interfaces. This paragraph may reference one or more Interface Requirements Specifications (IRSs) or other documents containing these requirements.
|
|
40
|
+
|
|
41
|
+
### 3.3.1 Interface identification and diagrams.
|
|
42
|
+
|
|
43
|
+
This paragraph shall identify the required external interfaces of the CSCI (that is, relationships with other entities that involve sharing, providing or exchanging data). The identification of each interface shall include a project-unique identifier and shall designate the interfacing entities (systems, configuration items, users, etc.) by name, number, version, and documentation references, as applicable. The identification shall state which entities have fixed interface characteristics (and therefore impose interface requirements on interfacing entities) and which are being developed or modified (thus having interface requirements imposed on them). One or more interface diagrams shall be provided to depict the interfaces.
|
|
44
|
+
|
|
45
|
+
### 3.3.x (Project-unique identifier of interface).
|
|
46
|
+
|
|
47
|
+
This paragraph (beginning with 3.3.2) shall identify a CSCI external interface by project-unique identifier, shall briefly identify the interfacing entities, and shall be divided into subparagraphs as needed to state the requirements imposed on the CSCI to achieve the interface. Interface characteristics of the other entities involved in the interface shall be stated as assumptions or as "When [the entity not covered] does this, the CSCI shall...," not as requirements on the other entities. This paragraph may reference other documents (such as data dictionaries, standards for communication protocols, and standards for user interfaces) in place of stating the information here. The requirements shall include the following, as applicable, presented in any order suited to the requirements, and shall note any differences in these characteristics from the point of view of the interfacing entities (such as different expectations about the size, frequency, or other characteristics of data elements):
|
|
48
|
+
|
|
49
|
+
a. Priority that the CSCI must assign the interface
|
|
50
|
+
|
|
51
|
+
b. Requirements on the type of interface (such as real-time data transfer, storage-and-retrieval of data, etc.) to be implemented
|
|
52
|
+
|
|
53
|
+
c. Required characteristics of individual data elements that the CSCI must provide, store, send, access, receive, etc., such as:
|
|
54
|
+
|
|
55
|
+
1. Names/identifiers
|
|
56
|
+
a. Project-unique identifier
|
|
57
|
+
b. Non-technical (natural language) name
|
|
58
|
+
c. DoD standard data element name
|
|
59
|
+
d. Technical name (e.g., variable or field name in code or database)
|
|
60
|
+
e. Abbreviation or synonymous names
|
|
61
|
+
2. Data type (alphanumeric, integer, etc.)
|
|
62
|
+
3. Size and format (such as length and punctuation of a character string)
|
|
63
|
+
4. Units of measurement (such as meters, dollars, nanoseconds)
|
|
64
|
+
5. Range or enumeration of possible values (such as 0-99)
|
|
65
|
+
6. Accuracy (how correct) and precision (number of significant digits)
|
|
66
|
+
7. Priority, timing, frequency, volume, sequencing, and other constraints, such as whether the data element may be updated and whether business rules apply
|
|
67
|
+
8. Security and privacy constraints
|
|
68
|
+
9. Sources (setting/sending entities) and recipients (using/receiving entities)
|
|
69
|
+
|
|
70
|
+
d. Required characteristics of data element assemblies (records, messages, files, arrays, displays, reports, etc.) that the CSCI must provide, store, send, access, receive, etc., such as:
|
|
71
|
+
|
|
72
|
+
1. Names/identifiers
|
|
73
|
+
a. Project-unique identifier
|
|
74
|
+
b. Non-technical (natural language) name
|
|
75
|
+
c. Technical name (e.g., record or data structure name in code or database)
|
|
76
|
+
d. Abbreviations or synonymous names
|
|
77
|
+
2. Data elements in the assembly and their structure (number, order, grouping)
|
|
78
|
+
3. Medium (such as disk) and structure of data elements/assemblies on the medium
|
|
79
|
+
4. Visual and auditory characteristics of displays and other outputs (such as colors, layouts, fonts, icons and other display elements, beeps, lights)
|
|
80
|
+
5. Relationships among assemblies, such as sorting/access characteristics
|
|
81
|
+
6. Priority, timing, frequency, volume, sequencing, and other constraints, such as whether the assembly may be updated and whether business rules apply
|
|
82
|
+
7. Security and privacy constraints
|
|
83
|
+
8. Sources (setting/sending entities) and recipients (using/receiving entities)
|
|
84
|
+
|
|
85
|
+
e. Required characteristics of communication methods that the CSCI must use for the interface, such as:
|
|
86
|
+
|
|
87
|
+
1. Project-unique identifier(s)
|
|
88
|
+
2. Communication links/bands/frequencies/media and their characteristics
|
|
89
|
+
3. Message formatting
|
|
90
|
+
4. Flow control (such as sequence numbering and buffer allocation)
|
|
91
|
+
5. Data transfer rate, whether periodic/aperiodic, and interval between transfers
|
|
92
|
+
6. Routing, addressing, and naming conventions
|
|
93
|
+
7. Transmission services, including priority and grade
|
|
94
|
+
8. Safety/security/privacy considerations, such as encryption, user authentication, compartmentalization, and auditing
|
|
95
|
+
|
|
96
|
+
f. Required characteristics of protocols the CSCI must use for the interface, such as:
|
|
97
|
+
|
|
98
|
+
1. Project-unique identifier(s)
|
|
99
|
+
2. Priority/layer of the protocol
|
|
100
|
+
3. Packeting, including fragmentation and reassembly, routing, and addressing
|
|
101
|
+
4. Legality checks, error control, and recovery procedures
|
|
102
|
+
5. Synchronization, including connection establishment, maintenance, termination
|
|
103
|
+
6. Status, identification, and any other reporting features
|
|
104
|
+
|
|
105
|
+
g. Other required characteristics, such as physical compatibility of the interfacing entities (dimensions, tolerances, loads, plug compatibility, etc.), voltages, etc.
|
|
106
|
+
|
|
107
|
+
## 3.4 CSCI internal interface requirements.
|
|
108
|
+
|
|
109
|
+
This paragraph shall specify the requirements, if any, imposed on interfaces internal to the CSCI. If all internal interfaces are left to the design, this fact shall be so stated. If such requirements are to be imposed, paragraph 3.3 of this DID provides a list of topics to be considered.
|
|
110
|
+
|
|
111
|
+
## 3.5 CSCI internal data requirements.
|
|
112
|
+
|
|
113
|
+
This paragraph shall specify the requirements, if any, imposed on data internal to the CSCI. Included shall be requirements, if any, on databases and data files to be included in the CSCI. If all decisions about internal data are left to the design, this fact shall be so stated. If such requirements are to be imposed, paragraphs 3.3.x.c and 3.3.x.d of this DID provide a list of topics to be considered.
|
|
114
|
+
|
|
115
|
+
## 3.6 Adaptation requirements.
|
|
116
|
+
|
|
117
|
+
This paragraph shall specify the requirements, if any, concerning installation-dependent data to be provided by the CSCI (such as site-dependent latitude and longitude or site-dependent state tax codes) and operational parameters that the CSCI is required to use that may vary according to operational needs (such as parameters indicating operation-dependent targeting constants or data recording).
|
|
118
|
+
|
|
119
|
+
## 3.7 Safety requirements.
|
|
120
|
+
|
|
121
|
+
This paragraph shall specify the CSCI requirements, if any, concerned with preventing or minimizing unintended hazards to personnel, property, and the physical environment. Examples include safeguards the CSCI must provide to prevent inadvertent actions (such as accidentally issuing an "auto pilot off" command) and non-actions (such as failure to issue an intended "auto pilot off" command). This paragraph shall include the CSCI requirements, if any, regarding nuclear components of the system, including, as applicable, prevention of inadvertent detonation and compliance with nuclear safety rules.
|
|
122
|
+
|
|
123
|
+
## 3.8 Security and privacy requirements.
|
|
124
|
+
|
|
125
|
+
This paragraph shall specify the CSCI requirements, if any, concerned with maintaining security and privacy. These requirements shall include, as applicable, the security/privacy environment in which the CSCI must operate, the type and degree of security or privacy to be provided, the security/privacy risks the CSCI must withstand, required safeguards to reduce those risks, the security/privacy policy that must be met, the security/privacy accountability the CSCI must provide, and the criteria that must be met for security/privacy certification/accreditation.
|
|
126
|
+
|
|
127
|
+
## 3.9 CSCI environment requirements.
|
|
128
|
+
|
|
129
|
+
This paragraph shall specify the requirements, if any, regarding the environment in which the CSCI must operate. Examples include the computer hardware and operating system on which the CSCI must run. (Additional requirements concerning computer resources are given in the next paragraph.)
|
|
130
|
+
|
|
131
|
+
## 3.10 Computer resource requirements.
|
|
132
|
+
|
|
133
|
+
This paragraph shall be divided into the following subparagraphs.
|
|
134
|
+
|
|
135
|
+
### 3.10.1 Computer hardware requirements.
|
|
136
|
+
|
|
137
|
+
This paragraph shall specify the requirements, if any, regarding computer hardware that must be used by the CSCI. The requirements shall include, as applicable, number of each type of equipment, type, size, capacity, and other required characteristics of processors, memory, input/output devices, auxiliary storage, communications/network equipment, and other required equipment.
|
|
138
|
+
|
|
139
|
+
### 3.10.2 Computer hardware resource utilization requirements.
|
|
140
|
+
|
|
141
|
+
This paragraph shall specify the requirements, if any, on the CSCI's computer hardware resource utilization, such as maximum allowable use of processor capacity, memory capacity, input/output device capacity, auxiliary storage device capacity, and communications/network equipment capacity. The requirements (stated, for example, as percentages of the capacity of each computer hardware resource) shall include the conditions, if any, under which the resource utilization is to be measured.
|
|
142
|
+
|
|
143
|
+
### 3.10.3 Computer software requirements.
|
|
144
|
+
|
|
145
|
+
This paragraph shall specify the requirements, if any, regarding computer software that must be used by, or incorporated into, the CSCI. Examples include operating systems, database management systems, communications/ network software, utility software, input and equipment simulators, test software, and manufacturing software. The correct nomenclature, version, and documentation references of each such software item shall be provided.
|
|
146
|
+
|
|
147
|
+
### 3.10.4 Computer communications requirements.
|
|
148
|
+
|
|
149
|
+
This paragraph shall specify the additional requirements, if any, concerning the computer communications that must be used by the CSCI. Examples include geographic locations to be linked; configuration and network topology; transmission techniques; data transfer rates; gateways; required system use times; type and volume of data to be transmitted/received; time boundaries for transmission/ reception/response; peak volumes of data; and diagnostic features.
|
|
150
|
+
|
|
151
|
+
## 3.11 Software quality factors.
|
|
152
|
+
|
|
153
|
+
This paragraph shall specify the CSCI requirements, if any, concerned with software quality factors identified in the contract or derived from a higher level specification. Examples include quantitative requirements regarding CSCI functionality (the ability to perform all required functions), reliability (the ability to perform with correct, consistent results), maintainability (the ability to be easily corrected), availability (the ability to be accessed and operated when needed), flexibility (the ability to be easily adapted to changing requirements), portability (the ability to be easily modified for a new environment), reusability (the ability to be used in multiple applications), testability (the ability to be easily and thoroughly tested), usability (the ability to be easily learned and used), and other attributes.
|
|
154
|
+
|
|
155
|
+
## 3.12 Design and implementation constraints.
|
|
156
|
+
|
|
157
|
+
This paragraph shall specify the requirements, if any, that constrain the design and implementation of the CSCI. These requirements may be specified by reference to appropriate commercial or military standards and specifications. Examples include requirements concerning:
|
|
158
|
+
|
|
159
|
+
a. Use of a particular CSCI architecture or requirements on the architecture, such as required databases or other software units; use of standard, military, or existing components; or use of Government/acquirer-furnished property (equipment, information, or software)
|
|
160
|
+
|
|
161
|
+
b. Use of particular design or implementation standards; use of particular data standards; use of a particular programming language
|
|
162
|
+
|
|
163
|
+
c. Flexibility and expandability that must be provided to support anticipated areas of growth or changes in technology, threat, or mission
|
|
164
|
+
|
|
165
|
+
## 3.13 Personnel-related requirements.
|
|
166
|
+
|
|
167
|
+
This paragraph shall specify the CSCI requirements, if any, included to accommodate the number, skill levels, duty cycles, training needs, or other information about the personnel who will use or support the CSCI. Examples include requirements for number of simultaneous users and for built-in help or training features. Also included shall be the human factors engineering requirements, if any, imposed on the CSCI. These requirements shall include, as applicable, considerations for the capabilities and limitations of humans; foreseeable human errors under both normal and extreme conditions; and specific areas where the effects of human error would be particularly serious. Examples include requirements for color and duration of error messages, physical placement of critical indicators or keys, and use of auditory signals.
|
|
168
|
+
|
|
169
|
+
## 3.14 Training-related requirements.
|
|
170
|
+
|
|
171
|
+
This paragraph shall specify the CSCI requirements, if any, pertaining to training. Examples include training software to be included in the CSCI.
|
|
172
|
+
|
|
173
|
+
## 3.15 Logistics-related requirements.
|
|
174
|
+
|
|
175
|
+
This paragraph shall specify the CSCI requirements, if any, concerned with logistics considerations. These considerations may include: system maintenance, software support, system transportation modes, supply-system requirements, impact on existing facilities, and impact on existing equipment.
|
|
176
|
+
|
|
177
|
+
## 3.16 Other requirements.
|
|
178
|
+
|
|
179
|
+
This paragraph shall specify additional CSCI requirements, if any, not covered in the previous paragraphs.
|
|
180
|
+
|
|
181
|
+
## 3.17 Packaging requirements.
|
|
182
|
+
|
|
183
|
+
This section shall specify the requirements, if any, for packaging, labeling, and handling the CSCI for delivery (for example, delivery on 8 track magnetic tape labelled and packaged in a certain way). Applicable military specifications and standards may be referenced if appropriate.
|
|
184
|
+
|
|
185
|
+
## 3.18 Precedence and criticality of requirements.
|
|
186
|
+
|
|
187
|
+
This paragraph shall specify, if applicable, the order of precedence, criticality, or assigned weights indicating the relative importance of the requirements in this specification. Examples include identifying those requirements deemed critical to safety, to security, or to privacy for purposes of singling them out for special treatment. If all requirements have equal weight, this paragraph shall so state.
|
|
188
|
+
|
|
189
|
+
# 4. Qualification provisions.
|
|
190
|
+
|
|
191
|
+
This section shall define a set of qualification methods and shall specify for each requirement in Section 3 the method(s) to be used to ensure that the requirement has been met. A table may be used to present this information, or each requirement in Section 3 may be annotated with the method(s) to be used. Qualification methods may include:
|
|
192
|
+
|
|
193
|
+
a. Demonstration: The operation of the CSCI, or a part of the CSCI, that relies on observable functional operation not requiring the use of instrumentation, special test equipment, or subsequent analysis.
|
|
194
|
+
|
|
195
|
+
b. Test: The operation of the CSCI, or a part of the CSCI, using instrumentation or other special test equipment to collect data for later analysis.
|
|
196
|
+
|
|
197
|
+
c. Analysis: The processing of accumulated data obtained from other qualification methods. Examples are reduction, interpretation, or extrapolation of test results.
|
|
198
|
+
|
|
199
|
+
d. Inspection: The visual examination of CSCI code, documentation, etc.
|
|
200
|
+
|
|
201
|
+
e. Special qualification methods: Any special qualification methods for the CSCI, such as special tools, techniques, procedures, facilities, and acceptance limits.
|
|
202
|
+
|
|
203
|
+
# 5. Requirements traceability.
|
|
204
|
+
|
|
205
|
+
This paragraph shall contain:
|
|
206
|
+
|
|
207
|
+
a. Traceability from each CSCI requirement in this specification to the system (or subsystem, if applicable) requirements it addresses. (Alternatively, this traceability may be provided by annotating each requirement in Section 3.)
|
|
208
|
+
|
|
209
|
+
Note: Each level of system refinement may result in requirements not directly traceable to higher-level requirements. For example, a system architectural design that creates multiple CSCIs may result in requirements about how the CSCIs will interface, even though these interfaces are not covered in system requirements. Such requirements may be traced to a general requirement such as "system implementation" or to the system design decisions that resulted in their generation.
|
|
210
|
+
|
|
211
|
+
b. Traceability from each system (or subsystem, if applicable) requirement allocated to this CSCI to the CSCI requirements that address it. All system (subsystem) requirements allocated to this CSCI shall be accounted for. Those that trace to CSCI requirements contained in Interface Requirements Specifications (IRSs) shall reference those IRSs.
|
|
212
|
+
|
|
213
|
+
# 6. Notes.
|
|
214
|
+
|
|
215
|
+
This section shall contain any general information that aids in understanding this specification (e.g., background information, glossary, rationale). This section shall include an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document and a list of any terms and definitions needed to understand this document.
|
|
216
|
+
|
|
217
|
+
# A. Appendixes.
|
|
218
|
+
|
|
219
|
+
Appendixes may be used to provide information published separately for convenience in document maintenance (e.g., charts, classified data). As applicable, each appendix shall be referenced in the main body of the document where the data would normally have been provided. Appendixes may be bound as separate documents for ease in handling. Appendixes shall be lettered alphabetically (A, B, etc.).
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mil498-ssdd
|
|
3
|
+
description: Generate MIL-STD-498 System/Subsystem Design Description (SSDD)
|
|
4
|
+
type: complex-workflow
|
|
5
|
+
triggers:
|
|
6
|
+
- "generate SSDD"
|
|
7
|
+
- "create system design description"
|
|
8
|
+
- "create subsystem design description"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# MIL-498: System/Subsystem Design Description (SSDD)
|
|
12
|
+
|
|
13
|
+
> MIL-STD-498 Data Item Description: DI-IPSC-81432
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
This workflow generates a MIL-STD-498 SSDD document through progressive steps.
|
|
18
|
+
The SSDD describes the system-level design — how the system is organized into components (HWCIs, CSCIs, and manual operations) and how they interact.
|
|
19
|
+
|
|
20
|
+
### Steps
|
|
21
|
+
|
|
22
|
+
1. [Discover Project Artifacts](prompts/01-discover-project-artifacts.md)
|
|
23
|
+
2. [Load Template](prompts/02-load-template.md)
|
|
24
|
+
3. [CSCI Discovery Interview](prompts/03-csci-discovery-interview.md)
|
|
25
|
+
4. [Generate Document](prompts/04-generate-document.md)
|
|
26
|
+
5. [Validate](prompts/05-validate.md)
|
|
27
|
+
6. [Review](prompts/06-review.md)
|
|
28
|
+
7. [Save](prompts/07-save.md)
|
|
29
|
+
|
|
30
|
+
### Template
|
|
31
|
+
|
|
32
|
+
Output template: [template.md](template.md)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Step 1 — Discover Project Artifacts
|
|
2
|
+
|
|
3
|
+
Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
|
|
4
|
+
|
|
5
|
+
| Priority | Artifact | Search Pattern |
|
|
6
|
+
|----------|----------|----------------|
|
|
7
|
+
| Required | PRD | `**/prd.md`, `**/prd-*.md` |
|
|
8
|
+
| Required | Architecture | `**/architecture.md`, `**/architecture-*.md` |
|
|
9
|
+
| Recommended | Product Brief | `**/product-brief*.md` |
|
|
10
|
+
| Recommended | SSS | `**/SSS.md` |
|
|
11
|
+
| Optional | UX Designs | `**/ux-design*.md`, `**/ux-*.md` |
|
|
12
|
+
| Optional | Epics | `**/epics*.md`, `**/epic-*.md` |
|
|
13
|
+
| Optional | Any client documentation | Ask {user_name} if there are additional documents to consider |
|
|
14
|
+
|
|
15
|
+
If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
|
|
16
|
+
|
|
17
|
+
## Document Dependencies
|
|
18
|
+
|
|
19
|
+
The SSDD is best generated after the following MIL-STD-498 predecessor documents:
|
|
20
|
+
|
|
21
|
+
| Predecessor | Relationship | Search Pattern |
|
|
22
|
+
|-------------|-------------|----------------|
|
|
23
|
+
| SSS (System/Subsystem Specification) | Recommended — provides the system requirements the SSDD designs against | `**/SSS.md` |
|
|
24
|
+
| OCD (Operational Concept Description) | Optional — provides operational context | `**/OCD.md` |
|
|
25
|
+
|
|
26
|
+
If predecessor documents exist, they MUST be loaded and used as primary inputs. The SSDD should reference them in Section 2 and trace design decisions to their requirements.
|
|
27
|
+
|
|
28
|
+
If recommended predecessors have NOT been generated yet, **alert {user_name}**: "The SSS has not been generated yet. The SSDD is typically produced after the SSS, since it designs against system requirements defined there. Would you like to proceed without it, or generate the SSS first?"
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
**CONFIRMATION GATE**: Present the list of discovered artifacts to the user. Wait for the user to confirm before proceeding to the next step.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Step 2 — Load Template
|
|
2
|
+
|
|
3
|
+
Read the SSDD template from:
|
|
4
|
+
[template.md](../template.md)
|
|
5
|
+
|
|
6
|
+
This defines the required DID sections and content expectations for each paragraph.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**CONFIRMATION GATE**: Confirm to the user that the template has been loaded and summarize the major sections. Wait for the user to confirm before proceeding to the CSCI discovery interview.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Step 2.5 — CSCI Discovery Interview
|
|
2
|
+
|
|
3
|
+
Before generating the document, you must establish the correct CSCI decomposition through an interactive interview with {user_name}. **Do NOT map repositories, microservices, or deployment units 1:1 to CSCIs.** A CSCI is a configuration item — a logically cohesive unit that is independently specified, designed, tested, and managed.
|
|
4
|
+
|
|
5
|
+
## Phase A: Initial Analysis
|
|
6
|
+
|
|
7
|
+
Analyze the Architecture document and identify:
|
|
8
|
+
- All services, modules, repositories, and deployment units mentioned
|
|
9
|
+
- Functional domains they belong to (e.g., detection, alerting, user management, frontend)
|
|
10
|
+
- Shared release cycles, shared teams, shared test suites
|
|
11
|
+
- Data coupling between components (which services share databases or communicate frequently?)
|
|
12
|
+
|
|
13
|
+
## Phase B: Propose CSCI Hypothesis
|
|
14
|
+
|
|
15
|
+
Present {user_name} with a proposed CSCI decomposition that groups related services/modules into logically cohesive CSCIs. For each proposed CSCI:
|
|
16
|
+
- Give it a descriptive name and project-unique identifier
|
|
17
|
+
- List the services/modules/components it contains (these become CSCs — Computer Software Components — within the CSCI)
|
|
18
|
+
- State the functional rationale for the grouping
|
|
19
|
+
- Identify the system requirements allocated to it
|
|
20
|
+
|
|
21
|
+
## Phase C: Guided Questions
|
|
22
|
+
|
|
23
|
+
Ask {user_name} the following questions to validate and refine the decomposition:
|
|
24
|
+
|
|
25
|
+
1. **Release boundaries**: "Which of these services/modules share a release cycle and are always deployed together?"
|
|
26
|
+
2. **Team boundaries**: "Which components are developed and maintained by the same team?"
|
|
27
|
+
3. **Test boundaries**: "Which components are always tested together as a unit?"
|
|
28
|
+
4. **Delivery boundaries**: "What are your contractual or organizational delivery boundaries — what does the customer/stakeholder receive as distinct deliverables?"
|
|
29
|
+
5. **Configuration management**: "Which components are independently baselined and version-controlled as a unit?"
|
|
30
|
+
|
|
31
|
+
## Phase D: Refine and Confirm
|
|
32
|
+
|
|
33
|
+
Based on {user_name}'s answers:
|
|
34
|
+
- Merge or split CSCIs as needed
|
|
35
|
+
- Ensure each CSCI has clear functional cohesion
|
|
36
|
+
- Assign final project-unique identifiers (e.g., CSCI-SA for Situational Awareness, CSCI-FE for Frontend)
|
|
37
|
+
- Get explicit approval from {user_name} before proceeding to document generation
|
|
38
|
+
|
|
39
|
+
**Do NOT proceed to Step 3 until {user_name} approves the CSCI decomposition.**
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
**CONFIRMATION GATE**: The user MUST explicitly approve the final CSCI decomposition before proceeding. Do not continue to document generation until approval is received.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Step 3 — Generate Document
|
|
2
|
+
|
|
3
|
+
Write the document in {document_output_language}, populating each template section.
|
|
4
|
+
|
|
5
|
+
## Revision History
|
|
6
|
+
|
|
7
|
+
Before writing any content, add a **Revision History table** immediately after the document title. If this is a new document, create the table with version `1.0`. If updating an existing document, read the existing revision history and add a new row with an incremented version number and a summary of all changes made in this session. See the `document-revision-history` skill for full formatting rules.
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
| Version | Date | Author | Changes |
|
|
11
|
+
|---------|------|--------|---------|
|
|
12
|
+
| 1.0 | {date} | Agent ({model}) | Initial document generation |
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Section 1: Scope
|
|
16
|
+
- **1.1 Identification**: Extract system name, version, and project-unique identifiers from PRD/Product Brief
|
|
17
|
+
- **1.2 System overview**: Summarize system purpose, history, stakeholders, and operating sites from Product Brief and PRD
|
|
18
|
+
- **1.3 Document overview**: Describe this SSDD document's purpose, contents, and any security/privacy considerations
|
|
19
|
+
|
|
20
|
+
## Section 2: Referenced documents
|
|
21
|
+
- List all project artifacts, standards, and external references used as inputs. Include number, title, revision, and date for each
|
|
22
|
+
|
|
23
|
+
## Section 3: System-wide design decisions
|
|
24
|
+
|
|
25
|
+
**CRITICAL BEHAVIORAL GUIDANCE**: This section describes the system's behavioral design — how it will behave from a user's point of view in meeting its requirements, ignoring internal implementation. Follow these rules strictly:
|
|
26
|
+
|
|
27
|
+
1. **Requirements-driven**: Every design decision MUST cite the specific requirement(s) it satisfies (e.g., "To satisfy NFR-P2 (< 1s detection latency)...")
|
|
28
|
+
2. **Behavioral, not implementation**: Describe patterns and approaches, NOT specific tools or products. Write "An asynchronous message distribution pattern is selected..." NOT "RabbitMQ serves as the message broker..."
|
|
29
|
+
3. **Technology names belong in the Architecture document**, not here. If a technology choice is essential context, mention it parenthetically after the behavioral description
|
|
30
|
+
4. **State-dependent decisions**: If a design decision depends on system states or modes, indicate this dependency explicitly
|
|
31
|
+
|
|
32
|
+
For each of the following subsections, document the design decisions and reference their driving requirements:
|
|
33
|
+
|
|
34
|
+
- **a. Input/output design**: What the system accepts and produces. Describe system inputs, outputs, and user/external interfaces from the user's perspective. If Interface Design Descriptions (IDDs) exist, they may be referenced
|
|
35
|
+
- **b. Behavioral design**: How the system behaves in response to inputs and conditions — actions, response times, performance characteristics, selected algorithms/rules, and handling of invalid inputs or error conditions. Describe behavioral patterns (event-driven processing, request-response cycles, etc.) without naming specific tools
|
|
36
|
+
- **c. Database/data design**: How databases and data files appear to users and external systems. Describe data models, storage approaches, and data lifecycle from the user's perspective. If Database Design Descriptions (DBDDs) exist, they may be referenced
|
|
37
|
+
- **d. Safety, security, privacy**: Selected approaches to meeting safety, security, and privacy requirements. Place these in **separate subparagraphs** as the DID requires special treatment for critical requirements
|
|
38
|
+
- **e. Hardware/physical design choices**: Physical characteristics if applicable (for hardware-software systems) — size, color, shape, weight, materials, markings
|
|
39
|
+
- **f. Other system-wide decisions**: Flexibility, availability, maintainability approaches. Describe the rationale for architectural patterns selected (e.g., "A service-isolation pattern is selected to satisfy NFR-A1 availability requirement, enabling independent failure recovery")
|
|
40
|
+
|
|
41
|
+
## Section 4: System architectural design
|
|
42
|
+
|
|
43
|
+
- **4.1 System components** (items a through f — all are required):
|
|
44
|
+
|
|
45
|
+
**a.** Identify all system components using the approved CSCI decomposition from Step 2.5. Each CSCI shall have a project-unique identifier. For each CSCI, list the CSCs (services, modules) it contains. Also identify HWCIs and manual operations as applicable. Note: a database may be treated as a CSCI or as part of a CSCI.
|
|
46
|
+
|
|
47
|
+
**b.** Show the static ("consists of") relationships using component/block diagrams. Multiple relationship views may be presented (structural, deployment, data ownership).
|
|
48
|
+
|
|
49
|
+
**c.** State each component's purpose and the system requirements allocated to it. (Alternatively, allocation may be provided in Section 5.a.)
|
|
50
|
+
|
|
51
|
+
**d.** Identify each component's development status: new development, existing reuse as-is, existing design reuse, reengineering, planned for a specific build, etc. For existing components, provide identifying information (name, version, documentation references, location).
|
|
52
|
+
|
|
53
|
+
**e.** For each computer system or hardware aggregate, describe computer hardware resources: processors, memory, I/O devices, auxiliary storage, communications/network equipment. Include:
|
|
54
|
+
- Manufacturer, model, speed/capacity for processors
|
|
55
|
+
- Type, size, speed, configuration for memory
|
|
56
|
+
- Type, speed/capacity for I/O devices
|
|
57
|
+
- Type, amount, speed for auxiliary storage
|
|
58
|
+
- Data transfer rates, topologies, protocols for network equipment
|
|
59
|
+
- Growth capabilities and diagnostic capabilities
|
|
60
|
+
- Resource utilization allocation per CSCI (e.g., "20% of resource capacity allocated to CSCI-SA")
|
|
61
|
+
|
|
62
|
+
**f.** Present a **specification tree** — a diagram that identifies and shows the relationships among the planned specifications for the system components. This is a tree showing which specification documents (SSS, SRS, SDD, IRS, etc.) apply to which components.
|
|
63
|
+
|
|
64
|
+
- **4.2 Concept of execution**:
|
|
65
|
+
- Describe dynamic relationships between components — how they interact during system operation
|
|
66
|
+
- Include: execution flow, data flow, dynamically controlled sequencing, state transitions, timing/sequencing, priorities, interrupt handling, concurrent execution, dynamic allocation/deallocation, exception handling
|
|
67
|
+
- Use sequence diagrams, timing diagrams, or state transition diagrams where helpful
|
|
68
|
+
|
|
69
|
+
- **4.3 Interface design**:
|
|
70
|
+
- **4.3.1 Interface identification and diagrams**: List all interfaces with project-unique identifiers. Identify interfacing entities by name, number, version. State which entities have fixed interface characteristics vs. developing ones. Provide interface diagrams.
|
|
71
|
+
- **4.3.x (per interface)**: For each interface, document the following as applicable:
|
|
72
|
+
- **a.** Priority assigned to the interface
|
|
73
|
+
- **b.** Type of interface (real-time data transfer, storage-and-retrieval, etc.)
|
|
74
|
+
- **c.** Data elements: names/identifiers (project-unique, natural-language, technical), data types, sizes/formats, units, ranges, accuracy/precision, timing/frequency/volume constraints, security/privacy constraints, sources and recipients
|
|
75
|
+
- **d.** Data element assemblies: records, messages, files, displays — their names, structure, medium, visual/auditory characteristics, relationships, constraints, sources and recipients
|
|
76
|
+
- **e.** Communication methods: links/media, message formatting, flow control, data transfer rates, routing/addressing, transmission services, safety/security considerations
|
|
77
|
+
- **f.** Protocols: priority/layer, packeting/fragmentation, error control/recovery, synchronization, status/reporting
|
|
78
|
+
- **g.** Physical compatibility considerations (dimensions, tolerances, loads, voltages, plug compatibility)
|
|
79
|
+
|
|
80
|
+
## Section 5: Requirements traceability
|
|
81
|
+
- **5.a**: Map each system component to the system requirements it satisfies
|
|
82
|
+
- **5.b**: Map each system requirement to the components that address it
|
|
83
|
+
- Ensure every system requirement is accounted for in both directions
|
|
84
|
+
|
|
85
|
+
## Section 6: Notes
|
|
86
|
+
- Alphabetical listing of all acronyms, abbreviations, and their meanings
|
|
87
|
+
- Glossary of terms and definitions needed to understand this document
|
|
88
|
+
- Background information to aid understanding
|
|
89
|
+
|
|
90
|
+
## Appendix A
|
|
91
|
+
- Include any supplementary material (charts, detailed data, classified information) that supports the main body
|
|
92
|
+
- Reference each appendix from the main body where the data would normally appear
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
**CONFIRMATION GATE**: Present the generated document to the user for initial review. Wait for the user to confirm the content before proceeding to validation.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Step 4 — Validate
|
|
2
|
+
|
|
3
|
+
Before presenting to the user, verify:
|
|
4
|
+
- All template sections (1-6 and Appendix A) are populated or marked "Not applicable" with justification
|
|
5
|
+
- Every CSCI has a project-unique identifier and represents a logically cohesive grouping (not a 1:1 service mapping)
|
|
6
|
+
- The specification tree (4.1.f) is present and shows relationships among planned specifications
|
|
7
|
+
- System-wide design decisions (Section 3) are framed as behavioral responses to requirements — **no tool/product names appear as primary descriptions**
|
|
8
|
+
- Interface descriptions (4.3.x) cover all seven aspects (a through g) where applicable
|
|
9
|
+
- Requirements traceability (Section 5) covers all system requirements in both directions
|
|
10
|
+
- Document is written in {document_output_language}
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**CONFIRMATION GATE**: Present the validation results to the user. List any issues found and corrections made. Wait for the user to confirm before proceeding to the review step.
|