ma-agents 3.4.9 → 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/lib/bmad-extension/module-help.csv +26 -4
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +126 -72
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +124 -96
- 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/lib/bmad-extension/skills/bmad-sprint-planning/bmad-skill-manifest.yaml +3 -0
- 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/create-bug-story → 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 +215 -0
- 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/generate-backlog/SKILL.md +195 -0
- 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 +227 -175
- package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +217 -0
- package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +184 -0
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +165 -190
- package/lib/bmad-extension/workflows/add-sprint/workflow.md +125 -71
- package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +123 -95
- package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -176
- package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
- package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +162 -189
- 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 -241
- package/.opencode/skills/MANIFEST.yaml +0 -254
- package/.opencode/skills/add-sprint/SKILL.md +0 -207
- package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
- package/.opencode/skills/ai-audit-trail/SKILL.md +0 -23
- package/.opencode/skills/auto-bug-detection/SKILL.md +0 -169
- 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/SKILL.md +0 -59
- package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
- 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/SKILL.md +0 -159
- 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-bug-story/SKILL.md +0 -263
- 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/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/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/.opencode/skills/generate-backlog/.gitkeep +0 -0
- package/.opencode/skills/generate-backlog/SKILL.md +0 -183
- 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/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/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 -241
- package/.roo/skills/MANIFEST.yaml +0 -254
- 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
- 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/cleanup-done}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/cleanup-done/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-ml → lib/bmad-extension/skills/generate-backlog}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/generate-backlog/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/bmad-ma-agent-sre → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
- /package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/prioritize-backlog}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/remove-from-sprint}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/remove-from-sprint/bmad-skill-manifest.yaml +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,322 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: modify-sprint
|
|
3
|
-
description: Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata
|
|
4
|
-
type: skill
|
|
5
|
-
triggers:
|
|
6
|
-
- "modify sprint"
|
|
7
|
-
- "edit sprint"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
<!-- PARTIALLY REWORKED: Item assignment is handled by /add-to-sprint (Story 17.4).
|
|
11
|
-
Item removal is handled by /remove-from-sprint (Story 17.5).
|
|
12
|
-
Sprint activation (planning -> active) is handled below (Step 3e).
|
|
13
|
-
The legacy workflow below still references old sprint-plan-{n}.yaml paths for
|
|
14
|
-
other operations. A full rework of modify-sprint is planned for a future story. -->
|
|
15
|
-
|
|
16
|
-
> **Note:** Item assignment and removal are now handled by `/add-to-sprint` and `/remove-from-sprint`. Use the **Activate Sprint** option below to transition a sprint from `planning` to `active`.
|
|
17
|
-
|
|
18
|
-
# Modify Sprint Workflow
|
|
19
|
-
|
|
20
|
-
Guided workflow to modify an existing sprint — add/remove items, change capacity, update metadata.
|
|
21
|
-
|
|
22
|
-
<workflow>
|
|
23
|
-
|
|
24
|
-
<step n="3e" goal="Activate a sprint (planning -> active)">
|
|
25
|
-
<action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover all sprint files</action>
|
|
26
|
-
<check if="no sprint files found">
|
|
27
|
-
<output>No sprints found. Run `/add-sprint` first.</output>
|
|
28
|
-
<action>Exit workflow</action>
|
|
29
|
-
</check>
|
|
30
|
-
<action>Read each sprint file; extract: id, name, status, capacity, items count</action>
|
|
31
|
-
<action>Display sprints table</action>
|
|
32
|
-
<output>
|
|
33
|
-
## Available Sprints
|
|
34
|
-
|
|
35
|
-
| # | ID | Name | Status | Items | Capacity |
|
|
36
|
-
|---|---|---|---|---|---|
|
|
37
|
-
{{#each sprints}}
|
|
38
|
-
| {{@index+1}} | {{id}} | {{name}} | {{status}} | {{items_count}} | {{capacity}} |
|
|
39
|
-
{{/each}}
|
|
40
|
-
</output>
|
|
41
|
-
<ask>Which sprint to activate? (enter number, or 'q' to cancel):</ask>
|
|
42
|
-
<check if="user enters 'q'">
|
|
43
|
-
<output>Cancelled.</output>
|
|
44
|
-
<action>Exit workflow</action>
|
|
45
|
-
</check>
|
|
46
|
-
<action>Store selected sprint as {{target_sprint}}</action>
|
|
47
|
-
|
|
48
|
-
<!-- Validate transition -->
|
|
49
|
-
<check if="target_sprint.status != 'planning'">
|
|
50
|
-
<output>Only sprints in `planning` status can be activated. Sprint "{{target_sprint.name}}" is currently `{{target_sprint.status}}`.</output>
|
|
51
|
-
<action>Exit workflow</action>
|
|
52
|
-
</check>
|
|
53
|
-
|
|
54
|
-
<!-- Check single-active constraint -->
|
|
55
|
-
<action>Check if any other sprint has status `active`</action>
|
|
56
|
-
<check if="another sprint is already active">
|
|
57
|
-
<output>Cannot activate "{{target_sprint.name}}" — sprint "{{active_sprint.name}}" ({{active_sprint.id}}) is already active. Close it first before activating another sprint.</output>
|
|
58
|
-
<action>Exit workflow</action>
|
|
59
|
-
</check>
|
|
60
|
-
|
|
61
|
-
<ask>Activate "{{target_sprint.name}}" ({{target_sprint.id}})? This will set status to `active`. [y] Yes / [n] Cancel:</ask>
|
|
62
|
-
<check if="user selects 'n'">
|
|
63
|
-
<output>Cancelled.</output>
|
|
64
|
-
<action>Exit workflow</action>
|
|
65
|
-
</check>
|
|
66
|
-
|
|
67
|
-
<action>Set target_sprint.status = "active"</action>
|
|
68
|
-
<action>Update `last_modified` to current ISO timestamp</action>
|
|
69
|
-
<action>Write updated sprint file to `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
|
|
70
|
-
<output>
|
|
71
|
-
Sprint "{{target_sprint.name}}" is now **active**.
|
|
72
|
-
|
|
73
|
-
**Next Steps:**
|
|
74
|
-
- Use `/add-to-sprint` to assign backlog items
|
|
75
|
-
- Use `/sprint-status-view` to see sprint progress
|
|
76
|
-
</output>
|
|
77
|
-
</step>
|
|
78
|
-
|
|
79
|
-
<step n="1" goal="List available sprints and select one to modify">
|
|
80
|
-
<action>Glob `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` to discover all sprint artifact files</action>
|
|
81
|
-
<check if="no sprint files found">
|
|
82
|
-
<output>❌ No sprint plans found. Run `/add-sprint` first to create a sprint.</output>
|
|
83
|
-
<action>Exit workflow</action>
|
|
84
|
-
</check>
|
|
85
|
-
<action>For each sprint file found, read and extract: sprint_number, sprint_name, capacity, assigned_items, status, last_modified</action>
|
|
86
|
-
<output>
|
|
87
|
-
## 🏃 Available Sprints
|
|
88
|
-
|
|
89
|
-
| # | Sprint | Status | Capacity | Assigned | Remaining | Last Modified |
|
|
90
|
-
|---|---|---|---|---|---|---|
|
|
91
|
-
{{#each sprints}}
|
|
92
|
-
| {{@index+1}} | {{sprint_name}} (Sprint {{sprint_number}}) | {{status}} | {{capacity}} | {{assigned_count}} | {{remaining}} | {{last_modified}} |
|
|
93
|
-
{{/each}}
|
|
94
|
-
</output>
|
|
95
|
-
<ask>Select sprint to modify (enter number):</ask>
|
|
96
|
-
<action>Store selected sprint as {{target_sprint}}</action>
|
|
97
|
-
<action>Store {{session_last_modified}} = {{target_sprint.last_modified}} for later concurrency guard check</action>
|
|
98
|
-
</step>
|
|
99
|
-
|
|
100
|
-
<step n="2" goal="Display current sprint state">
|
|
101
|
-
<action>Initialize {{working_assigned_items}} = copy of {{target_sprint.assigned_items}} — this working list accumulates all add/remove changes made during this session before the final save</action>
|
|
102
|
-
<action>Calculate remaining capacity: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
|
|
103
|
-
<output>
|
|
104
|
-
## Sprint: {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
|
|
105
|
-
|
|
106
|
-
- **Status:** {{target_sprint.status}}
|
|
107
|
-
- **Capacity:** {{target_sprint.capacity}} items
|
|
108
|
-
- **Assigned Items:** {{assigned_count}} / {{target_sprint.capacity}} ({{remaining}} remaining)
|
|
109
|
-
- **Start Context:** {{target_sprint.start_context}}
|
|
110
|
-
- **End Context:** {{target_sprint.end_context}}
|
|
111
|
-
- **Last Modified:** {{target_sprint.last_modified}}
|
|
112
|
-
|
|
113
|
-
### Assigned Items
|
|
114
|
-
{{#if assigned_items_empty}}
|
|
115
|
-
*(No items assigned yet)*
|
|
116
|
-
{{else}}
|
|
117
|
-
{{#each target_sprint.assigned_items}}
|
|
118
|
-
- {{this}}
|
|
119
|
-
{{/each}}
|
|
120
|
-
{{/if}}
|
|
121
|
-
</output>
|
|
122
|
-
</step>
|
|
123
|
-
|
|
124
|
-
<step n="3" goal="Present modification menu">
|
|
125
|
-
<ask>What would you like to modify?
|
|
126
|
-
|
|
127
|
-
1. **Add item** — assign a new backlog item to this sprint
|
|
128
|
-
2. **Remove item** — remove an assigned item from this sprint
|
|
129
|
-
3. **Change capacity** — update the sprint's maximum item capacity
|
|
130
|
-
4. **Update metadata** — change sprint name, start/end context, or status
|
|
131
|
-
5. **Done** — save all changes and exit
|
|
132
|
-
|
|
133
|
-
Choice:</ask>
|
|
134
|
-
<check if="choice == 5 or 'done'">
|
|
135
|
-
<goto step="5" />
|
|
136
|
-
</check>
|
|
137
|
-
</step>
|
|
138
|
-
|
|
139
|
-
<step n="3a" goal="Add item" if="choice == 1">
|
|
140
|
-
<action>Read `_bmad-output/implementation-artifacts/sprint-status.yaml` to get all user story keys and statuses</action>
|
|
141
|
-
<action>Glob `_bmad-output/implementation-artifacts/bug-*.md` for bug stories; parse YAML frontmatter for type, severity, title</action>
|
|
142
|
-
<action>Read ALL `_bmad-output/implementation-artifacts/sprint-plan-*.yaml` files to build {{all_assigned_items}} — flat set of every item identifier assigned to any sprint (including the current sprint's {{working_assigned_items}})</action>
|
|
143
|
-
<action>Filter user stories: exclude items whose key is in {{all_assigned_items}} (already assigned to any sprint)</action>
|
|
144
|
-
<action>Filter bug stories: exclude items whose file basename is in {{all_assigned_items}} (already assigned to any sprint)</action>
|
|
145
|
-
<action>Build {{unassigned_items}} from the filtered stories and bugs, with: id, title, type (Story/Bug), status</action>
|
|
146
|
-
<output>
|
|
147
|
-
## Unassigned Backlog Items
|
|
148
|
-
|
|
149
|
-
| # | ID / File | Title | Type | Status |
|
|
150
|
-
|---|---|---|---|---|
|
|
151
|
-
{{#each unassigned_items}}
|
|
152
|
-
| {{@index+1}} | {{id}} | {{title}} | {{type}} | {{status}} |
|
|
153
|
-
{{/each}}
|
|
154
|
-
</output>
|
|
155
|
-
<ask>Select item to add (enter number):</ask>
|
|
156
|
-
<action>Store selected item as {{item_to_add}}</action>
|
|
157
|
-
<action>Calculate: {{new_assigned_count}} = current assigned count + 1</action>
|
|
158
|
-
<check if="{{new_assigned_count}} > {{target_sprint.capacity}}">
|
|
159
|
-
<output>⚠️ **Capacity Warning:** Adding "{{item_to_add.title}}" would bring assigned items to {{new_assigned_count}}/{{target_sprint.capacity}} — exceeding capacity by {{overage}}.</output>
|
|
160
|
-
<ask>Options:
|
|
161
|
-
- [a] Add anyway (over-capacity acknowledged)
|
|
162
|
-
- [s] Skip — do not add this item
|
|
163
|
-
- [c] Change capacity first (select option 3 from menu)
|
|
164
|
-
|
|
165
|
-
Choice:</ask>
|
|
166
|
-
<check if="choice == 's'">
|
|
167
|
-
<goto step="3" />
|
|
168
|
-
</check>
|
|
169
|
-
<check if="choice == 'c'">
|
|
170
|
-
<goto step="3c" />
|
|
171
|
-
</check>
|
|
172
|
-
</check>
|
|
173
|
-
<action>Add {{item_to_add}} identifier to {{working_assigned_items}} list</action>
|
|
174
|
-
<action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
|
|
175
|
-
<output>✅ Added "{{item_to_add.title}}" to sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
|
|
176
|
-
<goto step="3" />
|
|
177
|
-
</step>
|
|
178
|
-
|
|
179
|
-
<step n="3b" goal="Remove item" if="choice == 2">
|
|
180
|
-
<check if="{{working_assigned_items}} is empty">
|
|
181
|
-
<output>ℹ️ No items are currently assigned to this sprint.</output>
|
|
182
|
-
<goto step="3" />
|
|
183
|
-
</check>
|
|
184
|
-
<action>Resolve each identifier in {{working_assigned_items}} to its display name and type:
|
|
185
|
-
- For story identifiers (matching pattern `^\d+-\d+-.+`): infer title from key by converting kebab segments to title case (e.g., `12-1-add-sprint-workflow` → "Add Sprint Workflow"); type = "Story"; look up status in sprint-status.yaml if available
|
|
186
|
-
- For bug identifiers (matching pattern `^bug-.+`): look up in bug-*.md frontmatter (re-glob if not already loaded this step) for title and severity; type = "Bug"
|
|
187
|
-
- If resolution fails for any identifier, display the raw identifier as title with type "Unknown"
|
|
188
|
-
</action>
|
|
189
|
-
<output>
|
|
190
|
-
## Currently Assigned Items
|
|
191
|
-
|
|
192
|
-
| # | ID / File | Title | Type |
|
|
193
|
-
|---|---|---|---|
|
|
194
|
-
{{#each working_assigned_items}}
|
|
195
|
-
| {{@index+1}} | {{id}} | {{title}} | {{type}} |
|
|
196
|
-
{{/each}}
|
|
197
|
-
</output>
|
|
198
|
-
<ask>Select item to remove (enter number):</ask>
|
|
199
|
-
<action>Remove selected item from {{working_assigned_items}} list</action>
|
|
200
|
-
<action>Calculate remaining: {{remaining}} = {{target_sprint.capacity}} - length({{working_assigned_items}})</action>
|
|
201
|
-
<output>✅ Removed item from sprint. Updated capacity: {{length(working_assigned_items)}}/{{target_sprint.capacity}} items ({{remaining}} remaining)</output>
|
|
202
|
-
<goto step="3" />
|
|
203
|
-
</step>
|
|
204
|
-
|
|
205
|
-
<step n="3c" goal="Change capacity" if="choice == 3">
|
|
206
|
-
<ask>Enter new capacity (positive integer — current: {{target_sprint.capacity}}):</ask>
|
|
207
|
-
<action>Validate input is a positive integer (greater than zero)</action>
|
|
208
|
-
<check if="input is NOT a positive integer">
|
|
209
|
-
<output>❌ Invalid capacity. Must be a positive integer greater than zero.</output>
|
|
210
|
-
<goto step="3c" />
|
|
211
|
-
</check>
|
|
212
|
-
<action>Store {{new_capacity}} = validated integer input</action>
|
|
213
|
-
<action>Calculate: {{new_remaining}} = {{new_capacity}} - length({{working_assigned_items}})</action>
|
|
214
|
-
<output>✅ Capacity updated: {{target_sprint.capacity}} → {{new_capacity}} ({{new_remaining}} slots remaining with current {{length(working_assigned_items)}} assigned items)</output>
|
|
215
|
-
<action>Update {{target_sprint.capacity}} = {{new_capacity}} in working state</action>
|
|
216
|
-
<goto step="3" />
|
|
217
|
-
</step>
|
|
218
|
-
|
|
219
|
-
<step n="3d" goal="Update metadata" if="choice == 4">
|
|
220
|
-
<ask>Which metadata to update?
|
|
221
|
-
1. Sprint name (current: "{{target_sprint.sprint_name}}")
|
|
222
|
-
2. Start context (current: "{{target_sprint.start_context}}")
|
|
223
|
-
3. End context (current: "{{target_sprint.end_context}}")
|
|
224
|
-
4. Status (current: {{target_sprint.status}} — options: planning / active / completed)
|
|
225
|
-
5. Back to menu
|
|
226
|
-
|
|
227
|
-
Choice:</ask>
|
|
228
|
-
<check if="choice == 1">
|
|
229
|
-
<ask>New sprint name:</ask>
|
|
230
|
-
<action>Update {{target_sprint.sprint_name}} in working state</action>
|
|
231
|
-
<output>✅ Sprint name updated.</output>
|
|
232
|
-
</check>
|
|
233
|
-
<check if="choice == 2">
|
|
234
|
-
<ask>New start context (date or milestone):</ask>
|
|
235
|
-
<action>Update {{target_sprint.start_context}} in working state</action>
|
|
236
|
-
<output>✅ Start context updated.</output>
|
|
237
|
-
</check>
|
|
238
|
-
<check if="choice == 3">
|
|
239
|
-
<ask>New end context (date or milestone):</ask>
|
|
240
|
-
<action>Update {{target_sprint.end_context}} in working state</action>
|
|
241
|
-
<output>✅ End context updated.</output>
|
|
242
|
-
</check>
|
|
243
|
-
<check if="choice == 4">
|
|
244
|
-
<ask>New status (planning / active / completed):</ask>
|
|
245
|
-
<action>Validate input is one of: planning, active, completed</action>
|
|
246
|
-
<check if="invalid status">
|
|
247
|
-
<output>❌ Invalid status. Choose: planning, active, or completed.</output>
|
|
248
|
-
</check>
|
|
249
|
-
<action>Update {{target_sprint.status}} in working state</action>
|
|
250
|
-
<output>✅ Sprint status updated.</output>
|
|
251
|
-
</check>
|
|
252
|
-
<check if="choice == 5">
|
|
253
|
-
<goto step="3" />
|
|
254
|
-
</check>
|
|
255
|
-
<goto step="3" />
|
|
256
|
-
</step>
|
|
257
|
-
|
|
258
|
-
<step n="4" goal="Concurrency guard — re-read before writing">
|
|
259
|
-
<action>Re-read the sprint artifact file: `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`</action>
|
|
260
|
-
<action>Extract the current `last_modified` timestamp from the file</action>
|
|
261
|
-
<check if="current file last_modified != {{session_last_modified}}">
|
|
262
|
-
<output>
|
|
263
|
-
⚠️ **Conflict Detected:** The sprint artifact was modified externally since this session started.
|
|
264
|
-
|
|
265
|
-
**Session started with:** `last_modified: {{session_last_modified}}`
|
|
266
|
-
**Current file has:** `last_modified: {{current_file_last_modified}}`
|
|
267
|
-
|
|
268
|
-
**Current sprint state (re-read from file):**
|
|
269
|
-
</output>
|
|
270
|
-
<action>Display the full current state of the sprint artifact (re-read content)</action>
|
|
271
|
-
<ask>The file has changed. Review the current state above and confirm how to proceed:
|
|
272
|
-
- [o] Overwrite with your changes from this session (your modifications will replace current file content)
|
|
273
|
-
- [m] Merge — restart modifications from the current file state
|
|
274
|
-
- [x] Cancel — discard all session changes
|
|
275
|
-
|
|
276
|
-
Choice:</ask>
|
|
277
|
-
<check if="choice == 'x'">
|
|
278
|
-
<output>❌ Changes discarded. Sprint file not modified.</output>
|
|
279
|
-
<action>Exit workflow</action>
|
|
280
|
-
</check>
|
|
281
|
-
<check if="choice == 'm'">
|
|
282
|
-
<action>Reload {{target_sprint}} from current file content</action>
|
|
283
|
-
<action>Update {{session_last_modified}} to current file's last_modified</action>
|
|
284
|
-
<action>Reset {{working_assigned_items}} to current file's assigned_items</action>
|
|
285
|
-
<output>🔄 Reloaded sprint from current state. Please re-apply your modifications.</output>
|
|
286
|
-
<goto step="3" />
|
|
287
|
-
</check>
|
|
288
|
-
<!-- if 'o', proceed to write with session changes -->
|
|
289
|
-
</check>
|
|
290
|
-
</step>
|
|
291
|
-
|
|
292
|
-
<step n="5" goal="Persist changes to sprint artifact">
|
|
293
|
-
<action>Invoke concurrency guard (Step 4) before writing</action>
|
|
294
|
-
<action>Get current ISO timestamp for last_modified</action>
|
|
295
|
-
<action>Write updated sprint data back to `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`:
|
|
296
|
-
- Update `sprint_name` if changed
|
|
297
|
-
- Update `capacity` if changed
|
|
298
|
-
- Update `assigned_items` with final working list
|
|
299
|
-
- Update `status` if changed
|
|
300
|
-
- Update `start_context` if changed
|
|
301
|
-
- Update `end_context` if changed
|
|
302
|
-
- Update `last_modified` to current ISO timestamp
|
|
303
|
-
- Preserve `sprint_number`, `created_date` unchanged
|
|
304
|
-
</action>
|
|
305
|
-
<action>**Do NOT modify sprint-status.yaml** — sprint membership is exclusively in sprint-plan-{n}.yaml. sprint-status.yaml is read-only from this workflow.</action>
|
|
306
|
-
<action>Calculate final remaining capacity</action>
|
|
307
|
-
<output>
|
|
308
|
-
## ✅ Sprint Updated Successfully
|
|
309
|
-
|
|
310
|
-
**Sprint:** {{target_sprint.sprint_name}} (Sprint {{target_sprint.sprint_number}})
|
|
311
|
-
**File:** `_bmad-output/implementation-artifacts/sprint-plan-{{target_sprint.sprint_number}}.yaml`
|
|
312
|
-
**Capacity:** {{final_capacity}} items ({{final_remaining}} remaining)
|
|
313
|
-
**Assigned Items:** {{final_assigned_count}}
|
|
314
|
-
**Status:** {{target_sprint.status}}
|
|
315
|
-
|
|
316
|
-
**Next Steps:**
|
|
317
|
-
- Use `/add-to-sprint` to assign more backlog items
|
|
318
|
-
- Use `/sprint-status-view` to view full sprint progress
|
|
319
|
-
</output>
|
|
320
|
-
</step>
|
|
321
|
-
|
|
322
|
-
</workflow>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Open Presentation
|
|
3
|
-
description: Opens the BMAD-METHOD AI Development Training presentation from _bmad-output/methodology/
|
|
4
|
-
---
|
|
5
|
-
# Open Presentation Skill
|
|
6
|
-
|
|
7
|
-
## Description
|
|
8
|
-
Opens the BMAD-METHOD AI Development Training presentation installed at `_bmad-output/methodology/`.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
Invoke this skill by typing `/open-presentation`.
|
|
12
|
-
|
|
13
|
-
## Instructions
|
|
14
|
-
|
|
15
|
-
When the user invokes `/open-presentation`:
|
|
16
|
-
|
|
17
|
-
1. **Locate the presentation** at `_bmad-output/methodology/BMAD_AI_Development_Training.pptx` relative to the project root.
|
|
18
|
-
|
|
19
|
-
2. **Open it** using the OS default viewer via the Bash tool:
|
|
20
|
-
- **Windows**: `start "" "_bmad-output/methodology/BMAD_AI_Development_Training.pptx"`
|
|
21
|
-
- **macOS**: `open "_bmad-output/methodology/BMAD_AI_Development_Training.pptx"`
|
|
22
|
-
- **Linux**: `xdg-open "_bmad-output/methodology/BMAD_AI_Development_Training.pptx"`
|
|
23
|
-
|
|
24
|
-
3. **If the file does not exist**, inform the user:
|
|
25
|
-
> "The methodology presentation has not been installed yet. Run `npx ma-agents install` with BMAD to deploy it to `_bmad-output/methodology/`."
|
|
26
|
-
|
|
27
|
-
4. **Detect the OS** using the Node.js `process.platform` convention or by checking which command is available, then run the appropriate open command.
|
|
28
|
-
|
|
29
|
-
## Examples
|
|
30
|
-
|
|
31
|
-
**User**: `/open-presentation`
|
|
32
|
-
**Assistant**: Opens `_bmad-output/methodology/BMAD_AI_Development_Training.pptx` in the system default PowerPoint viewer.
|
|
33
|
-
|
|
34
|
-
**User**: "open the methodology slides"
|
|
35
|
-
**Assistant**: [Treats this as /open-presentation and follows the instructions above]
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: OpenTelemetry Best Practices
|
|
3
|
-
description: Standardizes distributed tracing, metrics, and semantic conventions for high-quality system observability.
|
|
4
|
-
---
|
|
5
|
-
# OpenTelemetry Best Practices
|
|
6
|
-
|
|
7
|
-
Guidelines for implementing standardized distributed tracing and metrics using OpenTelemetry to ensure high-quality observability.
|
|
8
|
-
|
|
9
|
-
## Mandatory Policies
|
|
10
|
-
|
|
11
|
-
### 1. Semantic Conventions
|
|
12
|
-
You MUST use OpenTelemetry Semantic Conventions for all attribute names. Never invent custom names for standard concepts (e.g., use `http.method` instead of `method` or `http_method`).
|
|
13
|
-
|
|
14
|
-
### 2. Context Propagation
|
|
15
|
-
You MUST ensure trace context is propagated across asynchronous boundaries. When starting a background task or making a network call, ensure the active span is correctly parented or the context is injected into headers.
|
|
16
|
-
|
|
17
|
-
### 3. Span Granularity
|
|
18
|
-
- **Database**: Every query MUST have its own span with attributes for the statement (sanitized) and database name.
|
|
19
|
-
- **External API**: Every outgoing request MUST have a span.
|
|
20
|
-
- **Complex Logic**: Large internal computation blocks SHOULD have spans if they represent a distinct logical step.
|
|
21
|
-
|
|
22
|
-
### 4. Meaningful Metrics
|
|
23
|
-
- **Counters**: Use for discrete events (e.g., `api.requests.total`).
|
|
24
|
-
- **Histograms**: Use for durations and sizes (e.g., `api.latency`).
|
|
25
|
-
- **Attributes**: Common attributes (e.g., `status_code`, `service.name`) SHOULD be applied to both spans and metrics.
|
|
26
|
-
|
|
27
|
-
## Critical Rules
|
|
28
|
-
- **No Sensitive Data**: Never include PII, passwords, or tokens in span attributes or logs associated with spans.
|
|
29
|
-
- **Fail Gracefully**: Instrumentation should never crash the application. Use `tracer.startActiveSpan` carefully with `try...finally` to ensure spans are always ended.
|
|
30
|
-
- **Status Codes**: Always set the span status to `Error` when an exception is caught that isn't handled.
|
|
31
|
-
|
|
32
|
-
## Resources
|
|
33
|
-
- [Semantic Conventions Reference](file:///skills/opentelemetry-best-practices/references/otel-standards.md)
|
|
34
|
-
- [Example Implementations](file:///skills/opentelemetry-best-practices/examples/javascript.md)
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# OpenTelemetry Go Examples
|
|
2
|
-
|
|
3
|
-
Idiomatic usage of the OpenTelemetry Go SDK.
|
|
4
|
-
|
|
5
|
-
## Context-Aware Tracing
|
|
6
|
-
|
|
7
|
-
```go
|
|
8
|
-
import (
|
|
9
|
-
"context"
|
|
10
|
-
"go.opentelemetry.io/otel"
|
|
11
|
-
"go.opentelemetry.io/otel/attribute"
|
|
12
|
-
"go.opentelemetry.io/otel/codes"
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
var tracer = otel.Tracer("my-service")
|
|
16
|
-
|
|
17
|
-
func (s *Server) GetUser(ctx context.Context, id string) (*User, error) {
|
|
18
|
-
ctx, span := tracer.Start(ctx, "GetUser")
|
|
19
|
-
defer span.End()
|
|
20
|
-
|
|
21
|
-
span.SetAttributes(attribute.String("user.id", id))
|
|
22
|
-
|
|
23
|
-
user, err := s.db.FetchUser(ctx, id)
|
|
24
|
-
if err != nil {
|
|
25
|
-
span.RecordError(err)
|
|
26
|
-
span.SetStatus(codes.Error, err.Error())
|
|
27
|
-
return nil, err
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return user, nil
|
|
31
|
-
}
|
|
32
|
-
```
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# OpenTelemetry JavaScript (Node.js) Examples
|
|
2
|
-
|
|
3
|
-
Idiomatic usage of the OpenTelemetry SDK in Node.js applications.
|
|
4
|
-
|
|
5
|
-
## Tracing a Function
|
|
6
|
-
|
|
7
|
-
```javascript
|
|
8
|
-
const { trace } = require('@opentelemetry/api');
|
|
9
|
-
|
|
10
|
-
const tracer = trace.getTracer('my-service');
|
|
11
|
-
|
|
12
|
-
async function processOrder(orderId) {
|
|
13
|
-
// Use startActiveSpan to automatically handle context propagation
|
|
14
|
-
return tracer.startActiveSpan('process.order', async (span) => {
|
|
15
|
-
try {
|
|
16
|
-
// Set semantic attributes
|
|
17
|
-
span.setAttribute('order.id', orderId);
|
|
18
|
-
|
|
19
|
-
const result = await someDatabaseCall(orderId);
|
|
20
|
-
|
|
21
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
22
|
-
return result;
|
|
23
|
-
} catch (error) {
|
|
24
|
-
span.recordException(error);
|
|
25
|
-
span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
|
|
26
|
-
throw error;
|
|
27
|
-
} finally {
|
|
28
|
-
span.end();
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Creating Metrics
|
|
35
|
-
|
|
36
|
-
```javascript
|
|
37
|
-
const { metrics } = require('@opentelemetry/api');
|
|
38
|
-
|
|
39
|
-
const meter = metrics.getMeter('my-service');
|
|
40
|
-
|
|
41
|
-
const requestCounter = meter.createCounter('api.requests.total', {
|
|
42
|
-
description: 'Total number of API requests',
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const latencyHistogram = meter.createHistogram('api.latency', {
|
|
46
|
-
description: 'API request latency',
|
|
47
|
-
unit: 'ms',
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
function handleRequest(req) {
|
|
51
|
-
const startTime = Date.now();
|
|
52
|
-
|
|
53
|
-
// Logic...
|
|
54
|
-
|
|
55
|
-
requestCounter.add(1, { 'http.method': req.method, 'status_code': 200 });
|
|
56
|
-
latencyHistogram.record(Date.now() - startTime, { 'http.method': req.method });
|
|
57
|
-
}
|
|
58
|
-
```
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# OpenTelemetry Python Examples
|
|
2
|
-
|
|
3
|
-
Idiomatic usage of the OpenTelemetry Python SDK.
|
|
4
|
-
|
|
5
|
-
## Tracing with Decorators
|
|
6
|
-
|
|
7
|
-
```python
|
|
8
|
-
from opentelemetry import trace
|
|
9
|
-
|
|
10
|
-
tracer = trace.get_tracer(__name__)
|
|
11
|
-
|
|
12
|
-
@tracer.start_as_current_span("process_data")
|
|
13
|
-
def process_data(data):
|
|
14
|
-
span = trace.get_current_span()
|
|
15
|
-
span.set_attribute("data.size", len(data))
|
|
16
|
-
|
|
17
|
-
# Process...
|
|
18
|
-
return True
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Manual Span Management
|
|
22
|
-
|
|
23
|
-
```python
|
|
24
|
-
def fetch_external_resource(url):
|
|
25
|
-
with tracer.start_as_current_span("http_request") as span:
|
|
26
|
-
span.set_attribute("http.url", url)
|
|
27
|
-
span.set_attribute("http.method", "GET")
|
|
28
|
-
|
|
29
|
-
try:
|
|
30
|
-
response = requests.get(url)
|
|
31
|
-
span.set_attribute("http.status_code", response.status_code)
|
|
32
|
-
return response.json()
|
|
33
|
-
except Exception as e:
|
|
34
|
-
span.record_exception(e)
|
|
35
|
-
span.set_status(trace.Status(trace.StatusCode.ERROR))
|
|
36
|
-
raise
|
|
37
|
-
```
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# OpenTelemetry Standards & Semantic Conventions
|
|
2
|
-
|
|
3
|
-
This document outlines the specific attributes and naming conventions to follow when instrumenting services.
|
|
4
|
-
|
|
5
|
-
## Common Attributes
|
|
6
|
-
|
|
7
|
-
| Attribute | Description | Example |
|
|
8
|
-
|-----------|-------------|---------|
|
|
9
|
-
| `service.name` | Logical name of the service | `user-auth-service` |
|
|
10
|
-
| `service.version` | Version of the service | `1.2.3` |
|
|
11
|
-
| `deployment.environment` | Target environment | `production` |
|
|
12
|
-
|
|
13
|
-
## HTTP Semantic Conventions
|
|
14
|
-
|
|
15
|
-
| Attribute | Description | Example |
|
|
16
|
-
|-----------|-------------|---------|
|
|
17
|
-
| `http.method` | HTTP request method | `GET` |
|
|
18
|
-
| `http.status_code` | response status | `200` |
|
|
19
|
-
| `http.url` | Full request URL | `https://api.example.com/v1/users` |
|
|
20
|
-
| `http.user_agent` | User agent header | `Mozilla/5.0...` |
|
|
21
|
-
|
|
22
|
-
## Database Semantic Conventions
|
|
23
|
-
|
|
24
|
-
| Attribute | Description | Example |
|
|
25
|
-
|-----------|-------------|---------|
|
|
26
|
-
| `db.system` | Database vendor | `postgresql` |
|
|
27
|
-
| `db.statement` | Sanitized SQL/query | `SELECT * FROM users WHERE id = ?` |
|
|
28
|
-
| `db.name` | Database name | `prod_db` |
|
|
29
|
-
| `db.operation` | Operation name | `SELECT` |
|
|
30
|
-
|
|
31
|
-
## Span Status Values
|
|
32
|
-
- **Unset**: Default status.
|
|
33
|
-
- **Ok**: Explicitly marked as successful.
|
|
34
|
-
- **Error**: Encountered a failure. Describe the error in the `exception` event or attributes.
|
|
35
|
-
|
|
36
|
-
## Useful links
|
|
37
|
-
- [Official OTel Semantic Conventions](https://opentelemetry.io/docs/specs/otel/common/semantic-conventions/)
|
|
File without changes
|