ma-agents 3.4.8 → 3.5.0
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/AiAudit.md +7 -0
- package/README.md +78 -29
- package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +237 -0
- package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +339 -0
- package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +348 -0
- package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +383 -0
- package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +348 -0
- package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +385 -0
- package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +362 -0
- package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +477 -0
- package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +377 -0
- package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +301 -0
- package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +508 -0
- package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +455 -0
- package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +325 -0
- package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +403 -0
- package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +344 -0
- package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +279 -0
- package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +173 -0
- package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +129 -0
- package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +274 -0
- package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +186 -0
- package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +144 -0
- package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +132 -0
- package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +119 -0
- package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +162 -0
- package/_bmad-output/implementation-artifacts/deferred-work.md +9 -0
- package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +200 -0
- package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +172 -0
- package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +102 -0
- package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +119 -0
- package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +132 -0
- package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +111 -0
- package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +126 -0
- package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +137 -0
- package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +127 -0
- package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +129 -0
- package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +179 -0
- package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +138 -0
- package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +150 -0
- package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +128 -0
- package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +118 -0
- package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +132 -0
- package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +174 -0
- package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +183 -0
- package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +252 -0
- package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +232 -0
- package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +163 -0
- package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +133 -0
- package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +172 -0
- package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +342 -0
- package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +223 -0
- package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +180 -0
- package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +136 -0
- package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +137 -0
- package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +79 -0
- package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +110 -0
- package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +116 -0
- package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +109 -0
- package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +97 -0
- package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +125 -0
- package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +322 -0
- package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +264 -0
- package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +208 -0
- package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +209 -0
- package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +221 -0
- package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +273 -0
- package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +235 -0
- package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +285 -0
- package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +188 -0
- package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +211 -0
- package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +189 -0
- package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +184 -0
- package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +178 -0
- package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +136 -0
- package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +141 -0
- package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +145 -0
- package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +188 -0
- package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +219 -0
- package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +234 -0
- package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +274 -0
- package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +173 -0
- package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +131 -0
- package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +124 -0
- package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +187 -0
- package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +102 -0
- package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +126 -0
- package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +101 -0
- package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +73 -0
- package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +91 -0
- package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +113 -0
- package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +90 -0
- package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +53 -0
- package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +287 -0
- package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +49 -0
- package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +230 -0
- package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +37 -0
- package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +140 -0
- package/_bmad-output/implementation-artifacts/sprint-status.yaml +83 -0
- package/_bmad-output/methodology/BMAD_AI_Development_Training.pptx +0 -0
- package/_bmad-output/methodology/version.json +7 -0
- package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +508 -0
- package/_bmad-output/planning-artifacts/architecture.md +1619 -0
- package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +295 -0
- package/_bmad-output/planning-artifacts/epics.md +3287 -0
- package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +290 -0
- package/_bmad-output/planning-artifacts/prd.md +684 -0
- package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +214 -0
- package/_bmad-output/planning-artifacts/sprint-status-schema.md +506 -0
- package/_bmad-output/project-context.md +47 -0
- package/bin/cli.js +5 -4
- package/lib/agents.js +16 -1
- package/lib/bmad-extension/module-help.csv +27 -22
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +120 -152
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +170 -116
- package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-dev-story}/bmad-skill-manifest.yaml +1 -1
- package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/checklist.md +13 -13
- package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/workflow.md +103 -44
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +2 -1
- package/lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md +6 -0
- package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/bmad-sprint-planning}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/bmad-sprint-planning/checklist.md +74 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +372 -0
- package/lib/bmad-extension/skills/bmad-sprint-status/SKILL.md +6 -0
- package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/bmad-sprint-status}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +434 -0
- package/lib/bmad-extension/skills/cleanup-done/SKILL.md +154 -98
- package/lib/bmad-extension/skills/close-sprint/SKILL.md +379 -0
- package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/close-sprint}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
- package/lib/bmad-extension/skills/generate-backlog/SKILL.md +152 -140
- package/lib/bmad-extension/skills/mil498-requirement-quality/SKILL.md +105 -0
- package/lib/bmad-extension/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +4 -0
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +224 -235
- package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +157 -135
- package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +125 -104
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +153 -239
- package/lib/bmad-extension/workflows/add-sprint/workflow.md +119 -155
- package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +233 -3
- package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -181
- package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
- package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +165 -3
- package/mil498/README.md +4 -0
- package/out.txt +0 -0
- package/package.json +1 -1
- package/skills/add-sprint/SKILL.md +165 -0
- package/skills/add-sprint/skill.json +7 -0
- package/skills/add-to-sprint/SKILL.md +231 -0
- package/skills/add-to-sprint/skill.json +7 -0
- package/skills/bmad-sprint-planning/SKILL.md +321 -0
- package/skills/bmad-sprint-planning/skill.json +7 -0
- package/skills/bmad-sprint-status/SKILL.md +273 -0
- package/skills/bmad-sprint-status/skill.json +7 -0
- package/skills/cleanup-done/SKILL.md +203 -0
- package/skills/cleanup-done/skill.json +7 -0
- package/skills/close-sprint/SKILL.md +370 -0
- package/skills/close-sprint/skill.json +7 -0
- package/skills/generate-backlog/SKILL.md +178 -0
- package/skills/generate-backlog/skill.json +7 -0
- package/skills/modify-sprint/SKILL.md +302 -0
- package/skills/modify-sprint/skill.json +7 -0
- package/skills/prioritize-backlog/SKILL.md +203 -0
- package/skills/prioritize-backlog/skill.json +7 -0
- package/skills/remove-from-sprint/SKILL.md +174 -0
- package/skills/remove-from-sprint/skill.json +7 -0
- package/skills/sprint-status-view/SKILL.md +173 -0
- package/skills/sprint-status-view/skill.json +7 -0
- package/skills/story-status-lookup/SKILL.md +21 -6
- package/skills/story-status-lookup/skill.json +2 -2
- package/test/extension-module-restructure.test.js +12 -11
- package/test/migration-validation.test.js +10 -10
- package/.opencode/skills/.ma-agents.json +0 -122
- package/.opencode/skills/MANIFEST.yaml +0 -126
- package/.opencode/skills/add-sprint/SKILL.md +0 -207
- package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
- package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +0 -137
- package/.opencode/skills/bmad-advanced-elicitation/methods.csv +0 -51
- package/.opencode/skills/bmad-agent-analyst/SKILL.md +0 -56
- package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-architect/SKILL.md +0 -52
- package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-dev/SKILL.md +0 -62
- package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-pm/SKILL.md +0 -57
- package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-qa/SKILL.md +0 -59
- package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +0 -51
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-sm/SKILL.md +0 -53
- package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +0 -55
- package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +0 -20
- package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +0 -20
- package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +0 -19
- package/.opencode/skills/bmad-agent-tech-writer/write-document.md +0 -20
- package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +0 -53
- package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-brainstorming/SKILL.md +0 -6
- package/.opencode/skills/bmad-brainstorming/brain-methods.csv +0 -62
- package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +0 -214
- package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +0 -124
- package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +0 -229
- package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -239
- package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +0 -211
- package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -266
- package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +0 -401
- package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +0 -305
- package/.opencode/skills/bmad-brainstorming/template.md +0 -15
- package/.opencode/skills/bmad-brainstorming/workflow.md +0 -53
- package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +0 -6
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -179
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -168
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -169
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -129
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -241
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -126
- package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -4
- package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +0 -49
- package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +0 -31
- package/.opencode/skills/bmad-cis-design-thinking/template.md +0 -111
- package/.opencode/skills/bmad-cis-design-thinking/workflow.md +0 -242
- package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -31
- package/.opencode/skills/bmad-cis-innovation-strategy/template.md +0 -189
- package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +0 -315
- package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +0 -31
- package/.opencode/skills/bmad-cis-problem-solving/template.md +0 -165
- package/.opencode/skills/bmad-cis-problem-solving/workflow.md +0 -291
- package/.opencode/skills/bmad-cis-storytelling/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-storytelling/story-types.csv +0 -26
- package/.opencode/skills/bmad-cis-storytelling/template.md +0 -113
- package/.opencode/skills/bmad-cis-storytelling/workflow.md +0 -321
- package/.opencode/skills/bmad-code-review/SKILL.md +0 -6
- package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +0 -62
- package/.opencode/skills/bmad-code-review/steps/step-02-review.md +0 -34
- package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +0 -49
- package/.opencode/skills/bmad-code-review/steps/step-04-present.md +0 -129
- package/.opencode/skills/bmad-code-review/workflow.md +0 -55
- package/.opencode/skills/bmad-correct-course/SKILL.md +0 -6
- package/.opencode/skills/bmad-correct-course/checklist.md +0 -288
- package/.opencode/skills/bmad-correct-course/workflow.md +0 -267
- package/.opencode/skills/bmad-create-architecture/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +0 -12
- package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +0 -13
- package/.opencode/skills/bmad-create-architecture/data/project-types.csv +0 -7
- package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +0 -153
- package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +0 -173
- package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +0 -224
- package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +0 -329
- package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +0 -318
- package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +0 -359
- package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +0 -379
- package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +0 -359
- package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +0 -76
- package/.opencode/skills/bmad-create-architecture/workflow.md +0 -38
- package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -255
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -212
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -255
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -131
- package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +0 -61
- package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +0 -53
- package/.opencode/skills/bmad-create-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +0 -15
- package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +0 -197
- package/.opencode/skills/bmad-create-prd/data/project-types.csv +0 -11
- package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +0 -178
- package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
- package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +0 -208
- package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
- package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
- package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +0 -214
- package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
- package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +0 -194
- package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
- package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
- package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +0 -216
- package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +0 -219
- package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
- package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +0 -221
- package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +0 -115
- package/.opencode/skills/bmad-create-prd/templates/prd-template.md +0 -10
- package/.opencode/skills/bmad-create-prd/workflow.md +0 -62
- package/.opencode/skills/bmad-create-story/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-story/checklist.md +0 -357
- package/.opencode/skills/bmad-create-story/discover-inputs.md +0 -88
- package/.opencode/skills/bmad-create-story/template.md +0 -49
- package/.opencode/skills/bmad-create-story/workflow.md +0 -380
- package/.opencode/skills/bmad-create-ux-design/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +0 -135
- package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +0 -127
- package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +0 -190
- package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +0 -217
- package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -220
- package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +0 -235
- package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +0 -253
- package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -255
- package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -225
- package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +0 -225
- package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -242
- package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -249
- package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -238
- package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -265
- package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +0 -171
- package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +0 -13
- package/.opencode/skills/bmad-create-ux-design/workflow.md +0 -36
- package/.opencode/skills/bmad-distillator/SKILL.md +0 -178
- package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +0 -116
- package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +0 -68
- package/.opencode/skills/bmad-distillator/resources/compression-rules.md +0 -51
- package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +0 -227
- package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +0 -78
- package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +0 -300
- package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -204
- package/.opencode/skills/bmad-document-project/SKILL.md +0 -6
- package/.opencode/skills/bmad-document-project/checklist.md +0 -245
- package/.opencode/skills/bmad-document-project/documentation-requirements.csv +0 -12
- package/.opencode/skills/bmad-document-project/instructions.md +0 -128
- package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +0 -345
- package/.opencode/skills/bmad-document-project/templates/index-template.md +0 -169
- package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +0 -103
- package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +0 -160
- package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +0 -135
- package/.opencode/skills/bmad-document-project/workflow.md +0 -27
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +0 -299
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +0 -34
- package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +0 -1107
- package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +0 -34
- package/.opencode/skills/bmad-domain-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +0 -137
- package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
- package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
- package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
- package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
- package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -444
- package/.opencode/skills/bmad-domain-research/research.template.md +0 -29
- package/.opencode/skills/bmad-domain-research/workflow.md +0 -49
- package/.opencode/skills/bmad-edit-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
- package/.opencode/skills/bmad-edit-prd/workflow.md +0 -63
- package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +0 -86
- package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +0 -179
- package/.opencode/skills/bmad-generate-project-context/SKILL.md +0 -6
- package/.opencode/skills/bmad-generate-project-context/project-context-template.md +0 -21
- package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +0 -186
- package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +0 -321
- package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +0 -278
- package/.opencode/skills/bmad-generate-project-context/workflow.md +0 -43
- package/.opencode/skills/bmad-help/SKILL.md +0 -73
- package/.opencode/skills/bmad-index-docs/SKILL.md +0 -66
- package/.opencode/skills/bmad-init/SKILL.md +0 -100
- package/.opencode/skills/bmad-init/resources/core-module.yaml +0 -25
- package/.opencode/skills/bmad-init/scripts/bmad_init.py +0 -593
- package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +0 -329
- package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +0 -53
- package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-ml/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +0 -59
- package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-sre/.gitkeep +0 -0
- package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-market-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-market-research/research.template.md +0 -29
- package/.opencode/skills/bmad-market-research/steps/step-01-init.md +0 -184
- package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
- package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
- package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
- package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
- package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +0 -478
- package/.opencode/skills/bmad-market-research/workflow.md +0 -49
- package/.opencode/skills/bmad-party-mode/SKILL.md +0 -6
- package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +0 -138
- package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -187
- package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +0 -167
- package/.opencode/skills/bmad-party-mode/workflow.md +0 -190
- package/.opencode/skills/bmad-product-brief/SKILL.md +0 -87
- package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +0 -60
- package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
- package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
- package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +0 -49
- package/.opencode/skills/bmad-product-brief/bmad-manifest.json +0 -17
- package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +0 -57
- package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +0 -86
- package/.opencode/skills/bmad-product-brief/prompts/finalize.md +0 -75
- package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +0 -70
- package/.opencode/skills/bmad-product-brief/resources/brief-template.md +0 -60
- package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +0 -6
- package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +0 -33
- package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +0 -136
- package/.opencode/skills/bmad-quick-dev/SKILL.md +0 -6
- package/.opencode/skills/bmad-quick-dev/spec-template.md +0 -88
- package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +0 -64
- package/.opencode/skills/bmad-quick-dev/step-02-plan.md +0 -35
- package/.opencode/skills/bmad-quick-dev/step-03-implement.md +0 -37
- package/.opencode/skills/bmad-quick-dev/step-04-review.md +0 -49
- package/.opencode/skills/bmad-quick-dev/step-05-present.md +0 -63
- package/.opencode/skills/bmad-quick-dev/step-oneshot.md +0 -49
- package/.opencode/skills/bmad-quick-dev/workflow.md +0 -79
- package/.opencode/skills/bmad-retrospective/SKILL.md +0 -6
- package/.opencode/skills/bmad-retrospective/workflow.md +0 -1479
- package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +0 -37
- package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +0 -67
- package/.opencode/skills/bmad-shard-doc/SKILL.md +0 -105
- package/.opencode/skills/bmad-sprint-planning/SKILL.md +0 -6
- package/.opencode/skills/bmad-sprint-planning/checklist.md +0 -33
- package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +0 -56
- package/.opencode/skills/bmad-sprint-planning/workflow.md +0 -263
- package/.opencode/skills/bmad-sprint-status/SKILL.md +0 -6
- package/.opencode/skills/bmad-sprint-status/workflow.md +0 -261
- package/.opencode/skills/bmad-technical-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-technical-research/research.template.md +0 -29
- package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +0 -137
- package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
- package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
- package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
- package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
- package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -487
- package/.opencode/skills/bmad-technical-research/workflow.md +0 -50
- package/.opencode/skills/bmad-validate-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +0 -15
- package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +0 -197
- package/.opencode/skills/bmad-validate-prd/data/project-types.csv +0 -11
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -229
- package/.opencode/skills/bmad-validate-prd/workflow.md +0 -62
- package/.opencode/skills/cleanup-done/.gitkeep +0 -0
- package/.opencode/skills/cleanup-done/SKILL.md +0 -159
- package/.opencode/skills/create-bug-story/.gitkeep +0 -0
- package/.opencode/skills/create-bug-story/SKILL.md +0 -263
- package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
- package/.opencode/skills/cyber-generate-certs/SKILL.md +0 -27
- package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
- package/.opencode/skills/cyber-immunity-estimation/SKILL.md +0 -29
- package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
- package/.opencode/skills/cyber-security-audit/SKILL.md +0 -27
- package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
- package/.opencode/skills/cyber-vault-secrets/SKILL.md +0 -28
- package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-docker-users/SKILL.md +0 -23
- package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-image-signature/SKILL.md +0 -22
- package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
- package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +0 -28
- package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
- package/.opencode/skills/devops-configure-infrastructure/SKILL.md +0 -27
- package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
- package/.opencode/skills/devops-disconnected-deployment/SKILL.md +0 -27
- package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
- package/.opencode/skills/devops-docker-compose-setup/SKILL.md +0 -26
- package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
- package/.opencode/skills/devops-manage-helm/SKILL.md +0 -28
- package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
- package/.opencode/skills/devops-sign-docker-image/SKILL.md +0 -24
- package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/generate-backlog/.gitkeep +0 -0
- package/.opencode/skills/generate-backlog/SKILL.md +0 -183
- package/.opencode/skills/generate-backlog/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/git-workflow-skill/SKILL.md +0 -194
- package/.opencode/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.opencode/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.opencode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.opencode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.opencode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.opencode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.opencode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.opencode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.opencode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.opencode/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.opencode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.opencode/skills/logging-best-practices/SKILL.md +0 -50
- package/.opencode/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.opencode/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.opencode/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.opencode/skills/logging-best-practices/examples/python.md +0 -57
- package/.opencode/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ocd/SKILL.md +0 -30
- package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +0 -26
- package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +0 -90
- package/.opencode/skills/mil498-ocd/prompts/04-validate.md +0 -14
- package/.opencode/skills/mil498-ocd/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-ocd/prompts/06-save.md +0 -15
- package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdd/SKILL.md +0 -30
- package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +0 -50
- package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +0 -98
- package/.opencode/skills/mil498-sdd/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-sdd/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sdd/prompts/06-save.md +0 -19
- package/.opencode/skills/mil498-sdd/template.md +0 -163
- package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdp/SKILL.md +0 -30
- package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +0 -32
- package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +0 -187
- package/.opencode/skills/mil498-sdp/prompts/04-validate.md +0 -13
- package/.opencode/skills/mil498-sdp/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sdp/prompts/06-save.md +0 -14
- package/.opencode/skills/mil498-srs/.gitkeep +0 -0
- package/.opencode/skills/mil498-srs/SKILL.md +0 -30
- package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +0 -42
- package/.opencode/skills/mil498-srs/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +0 -100
- package/.opencode/skills/mil498-srs/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-srs/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-srs/prompts/06-save.md +0 -18
- package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ssdd/SKILL.md +0 -32
- package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +0 -32
- package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +0 -43
- package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +0 -96
- package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +0 -14
- package/.opencode/skills/mil498-ssdd/prompts/06-review.md +0 -16
- package/.opencode/skills/mil498-ssdd/prompts/07-save.md +0 -16
- package/.opencode/skills/mil498-sss/.gitkeep +0 -0
- package/.opencode/skills/mil498-sss/SKILL.md +0 -31
- package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +0 -31
- package/.opencode/skills/mil498-sss/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +0 -108
- package/.opencode/skills/mil498-sss/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-sss/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sss/prompts/06-save.md +0 -15
- package/.opencode/skills/mil498-std/.gitkeep +0 -0
- package/.opencode/skills/mil498-std/SKILL.md +0 -30
- package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +0 -42
- package/.opencode/skills/mil498-std/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-std/prompts/03-generate-document.md +0 -117
- package/.opencode/skills/mil498-std/prompts/04-validate.md +0 -15
- package/.opencode/skills/mil498-std/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-std/prompts/06-save.md +0 -15
- package/.opencode/skills/ml-advise/.gitkeep +0 -0
- package/.opencode/skills/ml-advise/SKILL.md +0 -76
- package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-advise/skill.json +0 -7
- package/.opencode/skills/ml-analysis/.gitkeep +0 -0
- package/.opencode/skills/ml-analysis/SKILL.md +0 -60
- package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-analysis/skill.json +0 -7
- package/.opencode/skills/ml-architecture/.gitkeep +0 -0
- package/.opencode/skills/ml-architecture/SKILL.md +0 -55
- package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-architecture/skill.json +0 -7
- package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
- package/.opencode/skills/ml-detailed-design/SKILL.md +0 -67
- package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-detailed-design/skill.json +0 -7
- package/.opencode/skills/ml-eda/.gitkeep +0 -0
- package/.opencode/skills/ml-eda/SKILL.md +0 -56
- package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +0 -522
- package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
- package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +0 -383
- package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +0 -654
- package/.opencode/skills/ml-eda/skill.json +0 -7
- package/.opencode/skills/ml-experiment/.gitkeep +0 -0
- package/.opencode/skills/ml-experiment/SKILL.md +0 -74
- package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
- package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
- package/.opencode/skills/ml-experiment/assets/template_datamodule.py +0 -219
- package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +0 -341
- package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +0 -158
- package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-experiment/skill.json +0 -7
- package/.opencode/skills/ml-hparam/.gitkeep +0 -0
- package/.opencode/skills/ml-hparam/SKILL.md +0 -81
- package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-hparam/skill.json +0 -7
- package/.opencode/skills/ml-ideation/.gitkeep +0 -0
- package/.opencode/skills/ml-ideation/SKILL.md +0 -50
- package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
- package/.opencode/skills/ml-ideation/skill.json +0 -7
- package/.opencode/skills/ml-infra/.gitkeep +0 -0
- package/.opencode/skills/ml-infra/SKILL.md +0 -58
- package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-infra/skill.json +0 -7
- package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
- package/.opencode/skills/ml-retrospective/SKILL.md +0 -63
- package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-retrospective/skill.json +0 -7
- package/.opencode/skills/ml-revision/.gitkeep +0 -0
- package/.opencode/skills/ml-revision/SKILL.md +0 -82
- package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-revision/skill.json +0 -7
- package/.opencode/skills/ml-techspec/.gitkeep +0 -0
- package/.opencode/skills/ml-techspec/SKILL.md +0 -80
- package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-techspec/skill.json +0 -7
- package/.opencode/skills/modify-sprint/.gitkeep +0 -0
- package/.opencode/skills/modify-sprint/SKILL.md +0 -322
- package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/open-presentation/SKILL.md +0 -35
- package/.opencode/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.opencode/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.opencode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.opencode/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.opencode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
- package/.opencode/skills/prioritize-backlog/SKILL.md +0 -195
- package/.opencode/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
- package/.opencode/skills/project-context-expansion/SKILL.md +0 -238
- package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/python-best-practices/SKILL.md +0 -385
- package/.opencode/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.opencode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.opencode/skills/python-security-skill/SKILL.md +0 -56
- package/.opencode/skills/python-security-skill/examples/security.md +0 -56
- package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
- package/.opencode/skills/remove-from-sprint/SKILL.md +0 -163
- package/.opencode/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/self-signed-cert/SKILL.md +0 -42
- package/.opencode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.opencode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.opencode/skills/skill-creator/SKILL.md +0 -196
- package/.opencode/skills/skill-creator/references/output-patterns.md +0 -82
- package/.opencode/skills/skill-creator/references/workflows.md +0 -28
- package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
- package/.opencode/skills/sprint-status-view/SKILL.md +0 -263
- package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-deployment-status/SKILL.md +0 -32
- package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
- package/.opencode/skills/sre-check-secrets/SKILL.md +0 -23
- package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-system-status/SKILL.md +0 -27
- package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
- package/.opencode/skills/sre-day-2-ops/SKILL.md +0 -26
- package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
- package/.opencode/skills/sre-deployment-strategies/SKILL.md +0 -28
- package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
- package/.opencode/skills/sre-fix-deployments/SKILL.md +0 -25
- package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
- package/.opencode/skills/sre-gitops-status/SKILL.md +0 -25
- package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/story-status-lookup/SKILL.md +0 -78
- package/.opencode/skills/test-accompanied-development/SKILL.md +0 -50
- package/.opencode/skills/test-generator/SKILL.md +0 -65
- package/.opencode/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.opencode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.opencode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.roo/rules/00-ma-agents.md +0 -13
- package/.roo/skills/.ma-agents.json +0 -122
- package/.roo/skills/MANIFEST.yaml +0 -126
- package/.roo/skills/git-workflow-skill/SKILL.md +0 -194
- package/.roo/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.roo/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.roo/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.roo/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.roo/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.roo/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.roo/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.roo/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.roo/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.roo/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.roo/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.roo/skills/logging-best-practices/SKILL.md +0 -50
- package/.roo/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.roo/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.roo/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.roo/skills/logging-best-practices/examples/python.md +0 -57
- package/.roo/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.roo/skills/open-presentation/SKILL.md +0 -35
- package/.roo/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.roo/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.roo/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.roo/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.roo/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.roo/skills/python-best-practices/SKILL.md +0 -385
- package/.roo/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.roo/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.roo/skills/python-security-skill/SKILL.md +0 -56
- package/.roo/skills/python-security-skill/examples/security.md +0 -56
- package/.roo/skills/self-signed-cert/SKILL.md +0 -42
- package/.roo/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.roo/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.roo/skills/skill-creator/SKILL.md +0 -196
- package/.roo/skills/skill-creator/references/output-patterns.md +0 -82
- package/.roo/skills/skill-creator/references/workflows.md +0 -28
- package/.roo/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.roo/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.roo/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.roo/skills/story-status-lookup/SKILL.md +0 -78
- package/.roo/skills/test-accompanied-development/SKILL.md +0 -50
- package/.roo/skills/test-generator/SKILL.md +0 -65
- package/.roo/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.roo/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.roo/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/opencode.json +0 -5
- /package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/bmad-dev-story}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/SKILL.md +0 -0
- /package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-sprint-planning}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-cyber → lib/bmad-extension/skills/bmad-sprint-status}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-devops → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
- /package/{.opencode/skills/mil498-ocd/template.md → mil498/OCD.md} +0 -0
- /package/{.opencode/skills/mil498-sdp/template.md → mil498/SDP.md} +0 -0
- /package/{.opencode/skills/mil498-srs/template.md → mil498/SRS.md} +0 -0
- /package/{.opencode/skills/mil498-ssdd/template.md → mil498/SSDD.md} +0 -0
- /package/{.opencode/skills/mil498-sss/template.md → mil498/SSS.md} +0 -0
- /package/{.opencode/skills/mil498-std/template.md → mil498/STD.md} +0 -0
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: JS/TS Security
|
|
3
|
-
description: Verify security of JavaScript and TypeScript codebases against OWASP Top 10 2025 standards
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# JS/TS Security Skill
|
|
7
|
-
|
|
8
|
-
This skill provides a set of tools and best practices to ensure that JavaScript and TypeScript code (both client-side and server-side) is secure and compliant with the latest security standards, specifically the **OWASP Top 10 2025**.
|
|
9
|
-
|
|
10
|
-
## When to Use
|
|
11
|
-
- Before committing code to a repository.
|
|
12
|
-
- During a security audit of an existing codebase.
|
|
13
|
-
- When adding new dependencies or updating CI/CD pipelines.
|
|
14
|
-
- When implementing critical features like authentication, authorization, or error handling.
|
|
15
|
-
|
|
16
|
-
## Security Checks (OWASP 2025 Mapping)
|
|
17
|
-
|
|
18
|
-
### A01:2025 - Broken Access Control
|
|
19
|
-
- Verification of authorization logic.
|
|
20
|
-
- **SSRF (Server-Side Request Forgery)**: Detecting unvalidated URL fetching in `fetch`, `axios`, `http.get`.
|
|
21
|
-
|
|
22
|
-
### A02:2025 - Security Misconfiguration
|
|
23
|
-
- Auditing configuration files (`.env`, `docker-compose.yml`).
|
|
24
|
-
- Checking for insecure defaults and exposed debug endpoints.
|
|
25
|
-
|
|
26
|
-
### A03:2025 - Software Supply Chain Failures
|
|
27
|
-
- **NEW**: Focusing on dependency integrity.
|
|
28
|
-
- Verification of lockfiles (`package-lock.json`, `yarn.lock`).
|
|
29
|
-
- Checking for insecure registry URLs (HTTP).
|
|
30
|
-
|
|
31
|
-
### A04:2025 - Cryptographic Failures
|
|
32
|
-
- Detecting weak hashing (MD5, SHA1).
|
|
33
|
-
- Checking for insecure randomness (`Math.random()`).
|
|
34
|
-
|
|
35
|
-
### A05:2025 - Injection
|
|
36
|
-
- Expanded detection for OS commands (`child_process.exec`), SQL injection, and NoSQL injection.
|
|
37
|
-
|
|
38
|
-
### A06:2025 - Insecure Design
|
|
39
|
-
- Documentation on secure design principles (e.g., Fail Secure, Least Privilege).
|
|
40
|
-
|
|
41
|
-
### A07:2025 - Authentication Failures
|
|
42
|
-
- Checking for insecure cookies (`httpOnly: false`).
|
|
43
|
-
- Hardcoded credentials and weak session management.
|
|
44
|
-
|
|
45
|
-
### A08:2025 - Software or Data Integrity Failures
|
|
46
|
-
- Detecting unsafe deserialization (`unserialize`, `JSON.parse` of untrusted input).
|
|
47
|
-
|
|
48
|
-
### A09:2025 - Logging & Alerting Failures
|
|
49
|
-
- Identifying lack of security logging.
|
|
50
|
-
- Empty catch blocks that swallow security errors.
|
|
51
|
-
|
|
52
|
-
### A10:2025 - Mishandling of Exceptional Conditions
|
|
53
|
-
- **NEW**: Identifying insecure error handling.
|
|
54
|
-
- Detecting empty `catch` blocks and `console.log(err)` in critical paths.
|
|
55
|
-
|
|
56
|
-
## Usage
|
|
57
|
-
|
|
58
|
-
### Run OWASP 2025 Security Scan
|
|
59
|
-
The primary method for automated security verification is the `verify-security.sh` script. This script executes multiple scanning phases (SAST, Audit, Secret Scanning) and maps all findings directly to OWASP 2025 categories.
|
|
60
|
-
|
|
61
|
-
Run the scan from the project root:
|
|
62
|
-
```bash
|
|
63
|
-
/d/Code/agents/skills/js-ts-security-skill/scripts/verify-security.sh
|
|
64
|
-
```
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# JS/TS Security Verification Script (OWASP Top 10 2025)
|
|
4
|
-
# This script performs a series of security checks on a JavaScript/TypeScript project.
|
|
5
|
-
|
|
6
|
-
RED='\033[0;31m'
|
|
7
|
-
GREEN='\033[0;32m'
|
|
8
|
-
YELLOW='\033[1;33m'
|
|
9
|
-
CYAN='\033[0;36m'
|
|
10
|
-
NC='\033[0m' # No Color
|
|
11
|
-
|
|
12
|
-
echo -e "${CYAN}====================================================${NC}"
|
|
13
|
-
echo -e "${CYAN} JS/TS Security Audit - OWASP Top 10 2025 ${NC}"
|
|
14
|
-
echo -e "${CYAN}====================================================${NC}\n"
|
|
15
|
-
|
|
16
|
-
# A03:2025 - Software Supply Chain Failures
|
|
17
|
-
echo -e "${YELLOW}[1/5] A03:2025 - Software Supply Chain Failures${NC}"
|
|
18
|
-
SUPPLY_CHAIN_ISSUES=0
|
|
19
|
-
if [ ! -f "package-lock.json" ] && [ ! -f "yarn.lock" ] && [ ! -f "pnpm-lock.yaml" ]; then
|
|
20
|
-
echo -e "${RED}✗ CRITICAL: No lockfile found (package-lock.json, yarn.lock, or pnpm-lock.yaml).${NC}"
|
|
21
|
-
echo " Impact: Non-deterministic builds increase supply chain vulnerability."
|
|
22
|
-
SUPPLY_CHAIN_ISSUES=$((SUPPLY_CHAIN_ISSUES + 1))
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
HTTP_REGISTRY=$(grep -r "http://" package.json 2>/dev/null)
|
|
26
|
-
if [ ! -z "$HTTP_REGISTRY" ]; then
|
|
27
|
-
echo -e "${RED}✗ WARNING: Insecure registry found in package.json (using HTTP instead of HTTPS).${NC}"
|
|
28
|
-
echo "$HTTP_REGISTRY"
|
|
29
|
-
SUPPLY_CHAIN_ISSUES=$((SUPPLY_CHAIN_ISSUES + 1))
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
if [ $SUPPLY_CHAIN_ISSUES -eq 0 ]; then
|
|
33
|
-
echo -e "${GREEN}✓ No immediate supply chain issues found.${NC}\n"
|
|
34
|
-
else
|
|
35
|
-
echo -e "${RED}✗ Total supply chain issues: $SUPPLY_CHAIN_ISSUES${NC}\n"
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
# A03:2025 / A06:2021 - Dependency Audit
|
|
39
|
-
echo -e "${YELLOW}[2/5] A03:2025 - Vulnerable Components (Audit)${NC}"
|
|
40
|
-
if [ -f "package-lock.json" ]; then
|
|
41
|
-
npm audit --audit-level=high
|
|
42
|
-
AUDIT_EXIT=$?
|
|
43
|
-
elif [ -f "yarn.lock" ]; then
|
|
44
|
-
yarn audit --level high
|
|
45
|
-
AUDIT_EXIT=$?
|
|
46
|
-
else
|
|
47
|
-
echo -e "${YELLOW} Skipping dependency audit: No lockfile found.${NC}"
|
|
48
|
-
AUDIT_EXIT=0
|
|
49
|
-
fi
|
|
50
|
-
|
|
51
|
-
if [ $AUDIT_EXIT -eq 0 ]; then
|
|
52
|
-
echo -e "${GREEN}✓ No high-severity vulnerabilities in dependencies.${NC}\n"
|
|
53
|
-
else
|
|
54
|
-
echo -e "${RED}✗ Vulnerabilities found. Run 'npm audit fix'.${NC}\n"
|
|
55
|
-
fi
|
|
56
|
-
|
|
57
|
-
# A01/A04/A05/A08 - Static Analysis (SAST)
|
|
58
|
-
echo -e "${YELLOW}[3/5] Static Analysis (OWASP A01, A04, A05, A08)${NC}"
|
|
59
|
-
declare -A DANGEROUS_PATTERNS
|
|
60
|
-
DANGEROUS_PATTERNS["A01: SSRF/Access Control"]="fetch\(\`|axios\.get\(\`|http\.get\(\`"
|
|
61
|
-
DANGEROUS_PATTERNS["A05: Injection"]="eval\(|new Function\(|child_process\.exec\(|require\('child_process'\)\.exec"
|
|
62
|
-
DANGEROUS_PATTERNS["A04: Cryptographic Failures"]="crypto\.createHash\('md5'\)|crypto\.createHash\('sha1'\)|Math\.random\(\)"
|
|
63
|
-
DANGEROUS_PATTERNS["A08: Software/Data Integrity"]="unserialize\(|JSON\.parse\("
|
|
64
|
-
DANGEROUS_PATTERNS["A07: Authentication Failures"]="res\.cookie\(.*httpOnly: false|res\.cookie\(.*secure: false"
|
|
65
|
-
|
|
66
|
-
FOUND_ISSUES=0
|
|
67
|
-
for cat in "A01: SSRF/Access Control" "A05: Injection" "A04: Cryptographic Failures" "A08: Software/Data Integrity" "A07: Authentication Failures"; do
|
|
68
|
-
pattern=${DANGEROUS_PATTERNS[$cat]}
|
|
69
|
-
MATCHES=$(grep -rnE "$pattern" --include="*.js" --include="*.ts" --exclude-dir=node_modules . 2>/dev/null)
|
|
70
|
-
if [ ! -z "$MATCHES" ]; then
|
|
71
|
-
echo -e "${RED}✗ Found Risk: [$cat]${NC}"
|
|
72
|
-
echo "$MATCHES" | sed 's/^/ /'
|
|
73
|
-
FOUND_ISSUES=$((FOUND_ISSUES + 1))
|
|
74
|
-
fi
|
|
75
|
-
done
|
|
76
|
-
|
|
77
|
-
if [ $FOUND_ISSUES -eq 0 ]; then
|
|
78
|
-
echo -e "${GREEN}✓ No dangerous patterns detected via SAST.${NC}\n"
|
|
79
|
-
else
|
|
80
|
-
echo -e "${RED}✗ Total dangerous patterns: $FOUND_ISSUES${NC}\n"
|
|
81
|
-
fi
|
|
82
|
-
|
|
83
|
-
# A10:2025 - Mishandling of Exceptional Conditions
|
|
84
|
-
echo -e "${YELLOW}[4/5] A10:2025 - Mishandling of Exceptional Conditions${NC}"
|
|
85
|
-
EMPTY_CATCH=$(grep -rnE "catch\s*\(\w*\)\s*\{\s*\}" --include="*.js" --include="*.ts" --exclude-dir=node_modules . 2>/dev/null)
|
|
86
|
-
FOUND_EXCEPTION_ISSUES=0
|
|
87
|
-
if [ ! -z "$EMPTY_CATCH" ]; then
|
|
88
|
-
echo -e "${RED}✗ Found Risk: Empty catch blocks (Swallowing exceptions)${NC}"
|
|
89
|
-
echo "$EMPTY_CATCH" | sed 's/^/ /'
|
|
90
|
-
FOUND_EXCEPTION_ISSUES=$((FOUND_EXCEPTION_ISSUES + 1))
|
|
91
|
-
fi
|
|
92
|
-
|
|
93
|
-
if [ $FOUND_EXCEPTION_ISSUES -eq 0 ]; then
|
|
94
|
-
echo -e "${GREEN}✓ Exception handling patterns appear secure.${NC}\n"
|
|
95
|
-
else
|
|
96
|
-
echo -e "${RED}✗ Total exception handling issues: $FOUND_EXCEPTION_ISSUES${NC}\n"
|
|
97
|
-
fi
|
|
98
|
-
|
|
99
|
-
# Secret Detection (A01/A07)
|
|
100
|
-
echo -e "${YELLOW}[5/5] A01/A07 - Hardcoded Secrets Scanning${NC}"
|
|
101
|
-
SECRET_PATTERNS=("AIza[0-9A-Za-z-_]{35}" "sk_live_[0-9a-zA-Z]{24}" "xox[pb]-[0-9]{12}-[0-9]{12}-[0-9]{12}-[a-z0-9]{32}" "-----BEGIN RSA PRIVATE KEY-----")
|
|
102
|
-
|
|
103
|
-
FOUND_SECRETS=0
|
|
104
|
-
for pattern in "${SECRET_PATTERNS[@]}"; do
|
|
105
|
-
MATCHES=$(grep -rnE "$pattern" --include="*.js" --include="*.ts" --include="*.env" --exclude-dir=node_modules . 2>/dev/null)
|
|
106
|
-
if [ ! -z "$MATCHES" ]; then
|
|
107
|
-
echo -e "${RED}✗ Found Risk: Potential secret leakage ($pattern)${NC}"
|
|
108
|
-
echo "$MATCHES" | sed 's/^/ /'
|
|
109
|
-
FOUND_SECRETS=$((FOUND_SECRETS + 1))
|
|
110
|
-
fi
|
|
111
|
-
done
|
|
112
|
-
|
|
113
|
-
if [ $FOUND_SECRETS -eq 0 ]; then
|
|
114
|
-
echo -e "${GREEN}✓ No hardcoded secrets detected.${NC}\n"
|
|
115
|
-
else
|
|
116
|
-
echo -e "${RED}✗ Total secrets found: $FOUND_SECRETS${NC}\n"
|
|
117
|
-
fi
|
|
118
|
-
|
|
119
|
-
# Summary
|
|
120
|
-
echo -e "${CYAN}----------------------------------------------------${NC}"
|
|
121
|
-
echo -e "${CYAN} OWASP 2025 Audit Summary ${NC}"
|
|
122
|
-
echo -e "${CYAN}----------------------------------------------------${NC}"
|
|
123
|
-
[ $SUPPLY_CHAIN_ISSUES -eq 0 ] && echo -e "A03: Supply Chain - ${GREEN}PASS${NC}" || echo -e "A03: Supply Chain - ${RED}FAIL${NC}"
|
|
124
|
-
[ $AUDIT_EXIT -eq 0 ] && echo -e "A03: Vulnerabilities - ${GREEN}PASS${NC}" || echo -e "A03: Vulnerabilities - ${RED}FAIL${NC}"
|
|
125
|
-
[ $FOUND_ISSUES -eq 0 ] && echo -e "A01/04/05/08: Code Patterns - ${GREEN}PASS${NC}" || echo -e "A01/04/05/08: Code Patterns - ${RED}FAIL${NC}"
|
|
126
|
-
[ $FOUND_EXCEPTION_ISSUES -eq 0 ] && echo -e "A10: Exception Handling - ${GREEN}PASS${NC}" || echo -e "A10: Exception Handling - ${RED}FAIL${NC}"
|
|
127
|
-
[ $FOUND_SECRETS -eq 0 ] && echo -e "A01/A07: Secrets - ${GREEN}PASS${NC}" || echo -e "A01/A07: Secrets - ${RED}FAIL${NC}"
|
|
128
|
-
echo -e "${CYAN}----------------------------------------------------${NC}"
|
|
129
|
-
|
|
130
|
-
if [ $AUDIT_EXIT -eq 0 ] && [ $FOUND_ISSUES -eq 0 ] && [ $FOUND_SECRETS -eq 0 ] && [ $SUPPLY_CHAIN_ISSUES -eq 0 ] && [ $FOUND_EXCEPTION_ISSUES -eq 0 ]; then
|
|
131
|
-
echo -e "${GREEN}Final Result: SECURE${NC}"
|
|
132
|
-
exit 0
|
|
133
|
-
else
|
|
134
|
-
echo -e "${RED}Final Result: VULNERABLE${NC}"
|
|
135
|
-
exit 1
|
|
136
|
-
fi
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Logging Best Practices
|
|
3
|
-
description: Standardizes structured logging across Backend, Frontend, Realtime, and Algorithmic domains with mandatory exception handling.
|
|
4
|
-
---
|
|
5
|
-
# Logging Best Practices
|
|
6
|
-
|
|
7
|
-
Enforce structured, context-rich logging according to market standards (OpenTelemetry) across all application domains.
|
|
8
|
-
|
|
9
|
-
## Policy
|
|
10
|
-
|
|
11
|
-
**All logs must be structured (preferably JSON) and include mandatory context. Every exception MUST be logged with its full stack trace.**
|
|
12
|
-
|
|
13
|
-
## Core Mandatory Fields
|
|
14
|
-
|
|
15
|
-
Every log entry must contain:
|
|
16
|
-
- `datetime`: ISO 8601 timestamp with timezone.
|
|
17
|
-
- `severity`: Standard level (DEBUG, INFO, WARN, ERROR, CRITICAL).
|
|
18
|
-
- `message`: Clear, concise description of the event.
|
|
19
|
-
- `placement`: File name and line number where the log was triggered.
|
|
20
|
-
- `process_name`: Name of the service or application.
|
|
21
|
-
- `container_id`: (If applicable) Docker/K8s container identifier.
|
|
22
|
-
- `trace_id` / `span_id`: For distributed tracing and request correlation.
|
|
23
|
-
|
|
24
|
-
## Domain-Specific Requirements
|
|
25
|
-
|
|
26
|
-
### 1. Backend Systems
|
|
27
|
-
- **Log**: Incoming/outgoing requests (method, status, duration).
|
|
28
|
-
- **Log**: Database query latencies and connection states.
|
|
29
|
-
- **Mandatory**: Full exception details in catch blocks.
|
|
30
|
-
|
|
31
|
-
### 2. Frontend Applications
|
|
32
|
-
- **Log**: Client-side errors (JS runtime, UI crashes).
|
|
33
|
-
- **Log**: User interaction context (last clicked component, breadcrumbs).
|
|
34
|
-
- **Context**: Browser version, OS, Resolution.
|
|
35
|
-
|
|
36
|
-
### 3. Realtime & Algorithmic Work
|
|
37
|
-
- **Log**: Iteration throughput and step-by-step latency.
|
|
38
|
-
- **Log**: Mathematical anomalies or convergence failures.
|
|
39
|
-
- **Mandatory**: Timeout exceptions and resource exhaustion warnings.
|
|
40
|
-
|
|
41
|
-
## Rules
|
|
42
|
-
|
|
43
|
-
- **No PII/Secrets**: Never log passwords, keys, or private user data.
|
|
44
|
-
- **Asynchronous**: Prefer non-blocking logging to maintain performance.
|
|
45
|
-
- **Traceability**: Always include `trace_id` in logs that are part of a request flow.
|
|
46
|
-
- **Exception Policy**: Use the `ERROR` level for caught exceptions that affect flow, and `CRITICAL` for system-wide failures.
|
|
47
|
-
|
|
48
|
-
## Reference
|
|
49
|
-
|
|
50
|
-
See [logging-standards.md](./references/logging-standards.md) for detailed field definitions and level guidance.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# C++ Logging Examples
|
|
2
|
-
|
|
3
|
-
## Structured Logging with `spdlog`
|
|
4
|
-
|
|
5
|
-
```cpp
|
|
6
|
-
#include "spdlog/spdlog.h"
|
|
7
|
-
#include "spdlog/sinks/stdout_color_sinks.h"
|
|
8
|
-
#include <exception>
|
|
9
|
-
|
|
10
|
-
void run_realtime_loop() {
|
|
11
|
-
auto logger = spdlog::get("realtime_logger");
|
|
12
|
-
|
|
13
|
-
try {
|
|
14
|
-
// Realtime/Algorithmic domain logging
|
|
15
|
-
logger->info("Computation step started. Input size: {}. Placement: {}:{}",
|
|
16
|
-
1024, __FILE__, __LINE__);
|
|
17
|
-
|
|
18
|
-
if (check_anomaly()) {
|
|
19
|
-
logger->warn("Numerical anomaly detected! Severity: WARN");
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
} catch (const std::exception& e) {
|
|
23
|
-
// Mandatory Exception Logging
|
|
24
|
-
logger->critical("Critical failure in realtime loop! Error: {}. File: {}. Line: {}",
|
|
25
|
-
e.what(), __FILE__, __LINE__);
|
|
26
|
-
throw;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Global setup for JSON output
|
|
31
|
-
void setup_logging() {
|
|
32
|
-
// Note: spdlog requires a custom formatter or sink for pure JSON output
|
|
33
|
-
// to match OTel standards perfectly.
|
|
34
|
-
spdlog::set_pattern("{\"datetime\":\"%Y-%m-%dT%H:%M:%SZ\",\"severity\":\"%l\",\"message\":\"%v\",\"process_name\":\"engine_v1\"}");
|
|
35
|
-
}
|
|
36
|
-
```
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# C# Logging Examples
|
|
2
|
-
|
|
3
|
-
## Structured Logging with Serilog
|
|
4
|
-
|
|
5
|
-
```csharp
|
|
6
|
-
using Serilog;
|
|
7
|
-
using System;
|
|
8
|
-
|
|
9
|
-
public class DataService
|
|
10
|
-
{
|
|
11
|
-
private readonly ILogger _logger = Log.ForContext<DataService>();
|
|
12
|
-
|
|
13
|
-
public void ProcessAlgorithm(double[] data)
|
|
14
|
-
{
|
|
15
|
-
try
|
|
16
|
-
{
|
|
17
|
-
_logger.Information("Algorithm iteration started. Data points: {Count}. Placement: {Placement}",
|
|
18
|
-
data.Length, "DataService.cs:45");
|
|
19
|
-
|
|
20
|
-
// Realtime/Algorithmic specific logging
|
|
21
|
-
var startTime = DateTime.UtcNow;
|
|
22
|
-
RunComplexMath(data);
|
|
23
|
-
var duration = (DateTime.UtcNow - startTime).TotalMilliseconds;
|
|
24
|
-
|
|
25
|
-
_logger.Information("Iteration complete. Latency: {Latency}ms", duration);
|
|
26
|
-
}
|
|
27
|
-
catch (Exception ex)
|
|
28
|
-
{
|
|
29
|
-
// Mandatory Exception Logging
|
|
30
|
-
_logger.Error(ex, "Algorithm execution failed at {Placement}. Container: {ContainerId}",
|
|
31
|
-
"DataService.cs:55", Environment.GetEnvironmentVariable("HOSTNAME"));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Microsoft.Extensions.Logging (JSON Console)
|
|
38
|
-
|
|
39
|
-
```csharp
|
|
40
|
-
// In Program.cs
|
|
41
|
-
builder.Logging.AddJsonConsole(options => {
|
|
42
|
-
options.TimestampFormat = "yyyy-MM-ddTHH:mm:ssZ ";
|
|
43
|
-
options.JsonWriterOptions = new JsonWriterOptions { Indented = true };
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// Usage
|
|
47
|
-
_logger.LogError(exception, "Request failed at {Placement}. TraceId: {TraceId}",
|
|
48
|
-
"OrderController.cs:120", HttpContext.TraceIdentifier);
|
|
49
|
-
```
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# JavaScript/TypeScript Logging Examples
|
|
2
|
-
|
|
3
|
-
## Backend (Node.js with `pino` or `winston`)
|
|
4
|
-
|
|
5
|
-
```typescript
|
|
6
|
-
import pino from 'pino';
|
|
7
|
-
|
|
8
|
-
const logger = pino({
|
|
9
|
-
level: process.env.LOG_LEVEL || 'info',
|
|
10
|
-
formatters: {
|
|
11
|
-
level: (label) => {
|
|
12
|
-
return { severity: label.toUpperCase() };
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
base: {
|
|
16
|
-
process_name: 'api-gateway',
|
|
17
|
-
container_id: process.env.HOSTNAME || 'unknown'
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
async function handleRequest(req, res) {
|
|
22
|
-
const traceId = req.headers['x-trace-id'];
|
|
23
|
-
try {
|
|
24
|
-
logger.info({
|
|
25
|
-
msg: 'Handling incoming request',
|
|
26
|
-
trace_id: traceId,
|
|
27
|
-
path: req.path,
|
|
28
|
-
placement: 'router.ts:12'
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
// ... logic
|
|
32
|
-
} catch (error) {
|
|
33
|
-
// Mandatory Exception Logging
|
|
34
|
-
logger.error({
|
|
35
|
-
msg: 'Request handler failed',
|
|
36
|
-
trace_id: traceId,
|
|
37
|
-
err: error, // Pino automatically formats the stack trace
|
|
38
|
-
severity: 'ERROR',
|
|
39
|
-
placement: 'router.ts:25'
|
|
40
|
-
});
|
|
41
|
-
res.status(500).send('Internal Server Error');
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Frontend (Browser)
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
const logToServer = async (logEntry) => {
|
|
50
|
-
try {
|
|
51
|
-
await fetch('/api/logs', {
|
|
52
|
-
method: 'POST',
|
|
53
|
-
body: JSON.stringify({
|
|
54
|
-
...logEntry,
|
|
55
|
-
datetime: new Date().toISOString(),
|
|
56
|
-
browser: navigator.userAgent,
|
|
57
|
-
process_name: 'frontend-spa'
|
|
58
|
-
})
|
|
59
|
-
});
|
|
60
|
-
} catch (e) {
|
|
61
|
-
console.error('Failed to ship logs', e);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// Global error handler
|
|
66
|
-
window.onerror = function(msg, url, lineNo, columnNo, error) {
|
|
67
|
-
logToServer({
|
|
68
|
-
severity: 'ERROR',
|
|
69
|
-
message: msg,
|
|
70
|
-
placement: `${url}:${lineNo}`,
|
|
71
|
-
exception: {
|
|
72
|
-
message: error?.message,
|
|
73
|
-
stack: error?.stack
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
```
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Python Logging Examples
|
|
2
|
-
|
|
3
|
-
## Structured Logging with `structlog`
|
|
4
|
-
|
|
5
|
-
```python
|
|
6
|
-
import structlog
|
|
7
|
-
import os
|
|
8
|
-
|
|
9
|
-
logger = structlog.get_logger()
|
|
10
|
-
|
|
11
|
-
def process_data(data):
|
|
12
|
-
try:
|
|
13
|
-
# Algorithmic step logging
|
|
14
|
-
logger.info("calculation_step_started",
|
|
15
|
-
step="matrix_multiplication",
|
|
16
|
-
data_size=len(data),
|
|
17
|
-
placement="processor.py:45")
|
|
18
|
-
|
|
19
|
-
result = perform_complex_math(data)
|
|
20
|
-
return result
|
|
21
|
-
except Exception as e:
|
|
22
|
-
# Mandatory Exception Logging
|
|
23
|
-
logger.error("calculation_failed",
|
|
24
|
-
exception_type=type(e).__name__,
|
|
25
|
-
exception_msg=str(e),
|
|
26
|
-
stack_trace=True, # structlog captures this
|
|
27
|
-
severity="ERROR",
|
|
28
|
-
placement="processor.py:52",
|
|
29
|
-
container_id=os.getenv("HOSTNAME"))
|
|
30
|
-
raise
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Standard Library with JSON Formatter
|
|
34
|
-
|
|
35
|
-
```python
|
|
36
|
-
import logging
|
|
37
|
-
import json
|
|
38
|
-
from datetime import datetime
|
|
39
|
-
|
|
40
|
-
class JsonFormatter(logging.Formatter):
|
|
41
|
-
def format(self, record):
|
|
42
|
-
log_entry = {
|
|
43
|
-
"datetime": datetime.utcnow().isoformat(),
|
|
44
|
-
"severity": record.levelname,
|
|
45
|
-
"message": record.getMessage(),
|
|
46
|
-
"placement": f"{record.filename}:{record.lineno}",
|
|
47
|
-
"process_name": record.processName,
|
|
48
|
-
"trace_id": getattr(record, 'trace_id', 'none')
|
|
49
|
-
}
|
|
50
|
-
if record.exc_info:
|
|
51
|
-
log_entry["exception"] = self.formatException(record.exc_info)
|
|
52
|
-
return json.dumps(log_entry)
|
|
53
|
-
|
|
54
|
-
# usage
|
|
55
|
-
logger = logging.getLogger("backend_service")
|
|
56
|
-
logger.error("Database connection failed", exc_info=True)
|
|
57
|
-
```
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Logging Standards Reference
|
|
2
|
-
|
|
3
|
-
This document defines the semantic conventions and levels used in the Logging Best Practices skill.
|
|
4
|
-
|
|
5
|
-
## Log Levels
|
|
6
|
-
|
|
7
|
-
| Level | Usage |
|
|
8
|
-
| :--- | :--- |
|
|
9
|
-
| **TRACE** | Fine-grained informational events (mostly for debugging logic flows). |
|
|
10
|
-
| **DEBUG** | Detailed information for developer troubleshooting. |
|
|
11
|
-
| **INFO** | Regular operational events (startup, shutdown, successful requests). |
|
|
12
|
-
| **WARN** | Potential issues or degraded states that don't stop the service. |
|
|
13
|
-
| **ERROR** | Operational failures that affect a specific request or operation. |
|
|
14
|
-
| **CRITICAL** | System-wide failures requiring immediate attention. |
|
|
15
|
-
|
|
16
|
-
## OpenTelemetry Semantic Conventions
|
|
17
|
-
|
|
18
|
-
To ensure interoperability, use the following field names where possible:
|
|
19
|
-
|
|
20
|
-
- `timestamp`: The time when the event occurred.
|
|
21
|
-
- `severity_text`: The string representation of the log level.
|
|
22
|
-
- `body`: The primary log message.
|
|
23
|
-
- `attributes.service.name`: The value of `process_name`.
|
|
24
|
-
- `attributes.container.id`: The value of `container_id`.
|
|
25
|
-
- `attributes.code.filepath`: Path to the source file.
|
|
26
|
-
- `attributes.code.lineno`: Line number in the source file.
|
|
27
|
-
- `attributes.exception.type`: Class name of the exception.
|
|
28
|
-
- `attributes.exception.message`: Message from the exception.
|
|
29
|
-
- `attributes.exception.stacktrace`: Full stack trace.
|
|
File without changes
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mil498-ocd
|
|
3
|
-
description: Generate MIL-STD-498 Operational Concept Description (OCD)
|
|
4
|
-
type: complex-workflow
|
|
5
|
-
triggers:
|
|
6
|
-
- "generate OCD"
|
|
7
|
-
- "create operational concept description"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# MIL-498: Operational Concept Description (OCD)
|
|
11
|
-
|
|
12
|
-
> MIL-STD-498 Data Item Description: DI-IPSC-81430
|
|
13
|
-
|
|
14
|
-
## Workflow
|
|
15
|
-
|
|
16
|
-
This workflow generates a MIL-STD-498 OCD document through progressive steps.
|
|
17
|
-
The OCD describes the system from the user's and stakeholder's perspective, extracting operational concepts from existing project artifacts.
|
|
18
|
-
|
|
19
|
-
### Steps
|
|
20
|
-
|
|
21
|
-
1. [Discover Project Artifacts](prompts/01-discover-project-artifacts.md)
|
|
22
|
-
2. [Load Template](prompts/02-load-template.md)
|
|
23
|
-
3. [Generate Document](prompts/03-generate-document.md)
|
|
24
|
-
4. [Validate](prompts/04-validate.md)
|
|
25
|
-
5. [Review](prompts/05-review.md)
|
|
26
|
-
6. [Save](prompts/06-save.md)
|
|
27
|
-
|
|
28
|
-
### Template
|
|
29
|
-
|
|
30
|
-
Output template: [template.md](template.md)
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|
-
| Recommended | Architecture | `**/architecture.md`, `**/architecture-*.md` |
|
|
9
|
-
| Recommended | UX Designs | `**/ux-design*.md`, `**/ux-*.md` |
|
|
10
|
-
| Optional | Product Brief | `**/product-brief*.md` |
|
|
11
|
-
| Optional | Epics & Stories | `**/epics*.md`, `**/stories/*.md` |
|
|
12
|
-
|
|
13
|
-
If the **PRD** is missing, warn the user and ask whether to proceed with available data or stop.
|
|
14
|
-
|
|
15
|
-
## Document Dependencies
|
|
16
|
-
|
|
17
|
-
The OCD is the **first document** in the MIL-STD-498 generation chain. It has no MIL-STD-498 predecessor documents — it draws from project artifacts (PRD, Product Brief, UX Designs) only.
|
|
18
|
-
|
|
19
|
-
**Note**: The OCD feeds into the SSS and other downstream documents. Ensure the operational scenarios and user descriptions are thorough, as they will be referenced by:
|
|
20
|
-
- **SSS** — for deriving system requirements from operational needs
|
|
21
|
-
- **SSDD** — for understanding operational context behind design decisions
|
|
22
|
-
- **SDP** — for understanding the operational environment
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
**CONFIRMATION GATE**: Present the list of discovered artifacts to the user. Wait for the user to confirm before proceeding to the next step.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# Step 2 — Load Template
|
|
2
|
-
|
|
3
|
-
Read the OCD 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 document generation.
|