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.
Files changed (826) hide show
  1. package/AiAudit.md +7 -0
  2. package/README.md +78 -29
  3. package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +237 -0
  4. package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +339 -0
  5. package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +348 -0
  6. package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +383 -0
  7. package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +348 -0
  8. package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +385 -0
  9. package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +362 -0
  10. package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +477 -0
  11. package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +377 -0
  12. package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +301 -0
  13. package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +508 -0
  14. package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +455 -0
  15. package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +325 -0
  16. package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +403 -0
  17. package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +344 -0
  18. package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +279 -0
  19. package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +173 -0
  20. package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +129 -0
  21. package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +274 -0
  22. package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +186 -0
  23. package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +144 -0
  24. package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +132 -0
  25. package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +119 -0
  26. package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +162 -0
  27. package/_bmad-output/implementation-artifacts/deferred-work.md +9 -0
  28. package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +200 -0
  29. package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +172 -0
  30. package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +102 -0
  31. package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +119 -0
  32. package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +132 -0
  33. package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +111 -0
  34. package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +126 -0
  35. package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +137 -0
  36. package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +127 -0
  37. package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +129 -0
  38. package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +179 -0
  39. package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +138 -0
  40. package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +150 -0
  41. package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +128 -0
  42. package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +118 -0
  43. package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +132 -0
  44. package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +174 -0
  45. package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +183 -0
  46. package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +252 -0
  47. package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +232 -0
  48. package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +163 -0
  49. package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +133 -0
  50. package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +172 -0
  51. package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +342 -0
  52. package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +223 -0
  53. package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +180 -0
  54. package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +136 -0
  55. package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +137 -0
  56. package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +79 -0
  57. package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +110 -0
  58. package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +116 -0
  59. package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +109 -0
  60. package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +97 -0
  61. package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +125 -0
  62. package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +322 -0
  63. package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +264 -0
  64. package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +208 -0
  65. package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +209 -0
  66. package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +221 -0
  67. package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +273 -0
  68. package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +235 -0
  69. package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +285 -0
  70. package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +188 -0
  71. package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +211 -0
  72. package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +189 -0
  73. package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +184 -0
  74. package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +178 -0
  75. package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +136 -0
  76. package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +141 -0
  77. package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +145 -0
  78. package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +188 -0
  79. package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +219 -0
  80. package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +234 -0
  81. package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +274 -0
  82. package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +173 -0
  83. package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +131 -0
  84. package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +124 -0
  85. package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +187 -0
  86. package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +102 -0
  87. package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +126 -0
  88. package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +101 -0
  89. package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +73 -0
  90. package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +91 -0
  91. package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +113 -0
  92. package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +90 -0
  93. package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +53 -0
  94. package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +287 -0
  95. package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +49 -0
  96. package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +230 -0
  97. package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +37 -0
  98. package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +140 -0
  99. package/_bmad-output/implementation-artifacts/sprint-status.yaml +83 -0
  100. package/_bmad-output/methodology/BMAD_AI_Development_Training.pptx +0 -0
  101. package/_bmad-output/methodology/version.json +7 -0
  102. package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +508 -0
  103. package/_bmad-output/planning-artifacts/architecture.md +1619 -0
  104. package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +295 -0
  105. package/_bmad-output/planning-artifacts/epics.md +3287 -0
  106. package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +290 -0
  107. package/_bmad-output/planning-artifacts/prd.md +684 -0
  108. package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +214 -0
  109. package/_bmad-output/planning-artifacts/sprint-status-schema.md +506 -0
  110. package/_bmad-output/project-context.md +47 -0
  111. package/lib/bmad-extension/module-help.csv +26 -4
  112. package/lib/bmad-extension/skills/add-sprint/SKILL.md +126 -72
  113. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +124 -96
  114. package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-dev-story}/bmad-skill-manifest.yaml +1 -1
  115. package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/checklist.md +13 -13
  116. package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/workflow.md +103 -44
  117. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +2 -1
  118. package/lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md +6 -0
  119. package/lib/bmad-extension/skills/bmad-sprint-planning/bmad-skill-manifest.yaml +3 -0
  120. package/lib/bmad-extension/skills/bmad-sprint-planning/checklist.md +74 -0
  121. package/lib/bmad-extension/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
  122. package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +372 -0
  123. package/lib/bmad-extension/skills/bmad-sprint-status/SKILL.md +6 -0
  124. package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/bmad-sprint-status}/bmad-skill-manifest.yaml +1 -1
  125. package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +434 -0
  126. package/lib/bmad-extension/skills/cleanup-done/SKILL.md +215 -0
  127. package/lib/bmad-extension/skills/close-sprint/SKILL.md +379 -0
  128. package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/close-sprint}/bmad-skill-manifest.yaml +1 -1
  129. package/lib/bmad-extension/skills/generate-backlog/SKILL.md +195 -0
  130. package/lib/bmad-extension/skills/mil498-requirement-quality/SKILL.md +105 -0
  131. package/lib/bmad-extension/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
  132. package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +4 -0
  133. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +227 -175
  134. package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +217 -0
  135. package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +184 -0
  136. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +165 -190
  137. package/lib/bmad-extension/workflows/add-sprint/workflow.md +125 -71
  138. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +123 -95
  139. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -176
  140. package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
  141. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +162 -189
  142. package/mil498/README.md +4 -0
  143. package/out.txt +0 -0
  144. package/package.json +1 -1
  145. package/skills/add-sprint/SKILL.md +165 -0
  146. package/skills/add-sprint/skill.json +7 -0
  147. package/skills/add-to-sprint/SKILL.md +231 -0
  148. package/skills/add-to-sprint/skill.json +7 -0
  149. package/skills/bmad-sprint-planning/SKILL.md +321 -0
  150. package/skills/bmad-sprint-planning/skill.json +7 -0
  151. package/skills/bmad-sprint-status/SKILL.md +273 -0
  152. package/skills/bmad-sprint-status/skill.json +7 -0
  153. package/skills/cleanup-done/SKILL.md +203 -0
  154. package/skills/cleanup-done/skill.json +7 -0
  155. package/skills/close-sprint/SKILL.md +370 -0
  156. package/skills/close-sprint/skill.json +7 -0
  157. package/skills/generate-backlog/SKILL.md +178 -0
  158. package/skills/generate-backlog/skill.json +7 -0
  159. package/skills/modify-sprint/SKILL.md +302 -0
  160. package/skills/modify-sprint/skill.json +7 -0
  161. package/skills/prioritize-backlog/SKILL.md +203 -0
  162. package/skills/prioritize-backlog/skill.json +7 -0
  163. package/skills/remove-from-sprint/SKILL.md +174 -0
  164. package/skills/remove-from-sprint/skill.json +7 -0
  165. package/skills/sprint-status-view/SKILL.md +173 -0
  166. package/skills/sprint-status-view/skill.json +7 -0
  167. package/skills/story-status-lookup/SKILL.md +21 -6
  168. package/skills/story-status-lookup/skill.json +2 -2
  169. package/test/extension-module-restructure.test.js +12 -11
  170. package/test/migration-validation.test.js +10 -10
  171. package/.opencode/skills/.ma-agents.json +0 -241
  172. package/.opencode/skills/MANIFEST.yaml +0 -254
  173. package/.opencode/skills/add-sprint/SKILL.md +0 -207
  174. package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
  175. package/.opencode/skills/ai-audit-trail/SKILL.md +0 -23
  176. package/.opencode/skills/auto-bug-detection/SKILL.md +0 -169
  177. package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +0 -137
  178. package/.opencode/skills/bmad-advanced-elicitation/methods.csv +0 -51
  179. package/.opencode/skills/bmad-agent-analyst/SKILL.md +0 -56
  180. package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
  181. package/.opencode/skills/bmad-agent-architect/SKILL.md +0 -52
  182. package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
  183. package/.opencode/skills/bmad-agent-dev/SKILL.md +0 -62
  184. package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
  185. package/.opencode/skills/bmad-agent-pm/SKILL.md +0 -57
  186. package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
  187. package/.opencode/skills/bmad-agent-qa/SKILL.md +0 -59
  188. package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +0 -11
  189. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +0 -51
  190. package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +0 -11
  191. package/.opencode/skills/bmad-agent-sm/SKILL.md +0 -53
  192. package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +0 -11
  193. package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +0 -55
  194. package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
  195. package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +0 -20
  196. package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +0 -20
  197. package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +0 -19
  198. package/.opencode/skills/bmad-agent-tech-writer/write-document.md +0 -20
  199. package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +0 -53
  200. package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
  201. package/.opencode/skills/bmad-brainstorming/SKILL.md +0 -6
  202. package/.opencode/skills/bmad-brainstorming/brain-methods.csv +0 -62
  203. package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +0 -214
  204. package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +0 -124
  205. package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +0 -229
  206. package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -239
  207. package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +0 -211
  208. package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -266
  209. package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +0 -401
  210. package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +0 -305
  211. package/.opencode/skills/bmad-brainstorming/template.md +0 -15
  212. package/.opencode/skills/bmad-brainstorming/workflow.md +0 -53
  213. package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +0 -6
  214. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -179
  215. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -168
  216. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -169
  217. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -129
  218. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -241
  219. package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -126
  220. package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -4
  221. package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +0 -49
  222. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +0 -6
  223. package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
  224. package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +0 -31
  225. package/.opencode/skills/bmad-cis-design-thinking/template.md +0 -111
  226. package/.opencode/skills/bmad-cis-design-thinking/workflow.md +0 -242
  227. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +0 -6
  228. package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
  229. package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -31
  230. package/.opencode/skills/bmad-cis-innovation-strategy/template.md +0 -189
  231. package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +0 -315
  232. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +0 -6
  233. package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
  234. package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +0 -31
  235. package/.opencode/skills/bmad-cis-problem-solving/template.md +0 -165
  236. package/.opencode/skills/bmad-cis-problem-solving/workflow.md +0 -291
  237. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +0 -6
  238. package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
  239. package/.opencode/skills/bmad-cis-storytelling/story-types.csv +0 -26
  240. package/.opencode/skills/bmad-cis-storytelling/template.md +0 -113
  241. package/.opencode/skills/bmad-cis-storytelling/workflow.md +0 -321
  242. package/.opencode/skills/bmad-code-review/SKILL.md +0 -6
  243. package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +0 -62
  244. package/.opencode/skills/bmad-code-review/steps/step-02-review.md +0 -34
  245. package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +0 -49
  246. package/.opencode/skills/bmad-code-review/steps/step-04-present.md +0 -129
  247. package/.opencode/skills/bmad-code-review/workflow.md +0 -55
  248. package/.opencode/skills/bmad-correct-course/SKILL.md +0 -6
  249. package/.opencode/skills/bmad-correct-course/checklist.md +0 -288
  250. package/.opencode/skills/bmad-correct-course/workflow.md +0 -267
  251. package/.opencode/skills/bmad-create-architecture/SKILL.md +0 -6
  252. package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +0 -12
  253. package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +0 -13
  254. package/.opencode/skills/bmad-create-architecture/data/project-types.csv +0 -7
  255. package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +0 -153
  256. package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +0 -173
  257. package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +0 -224
  258. package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +0 -329
  259. package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +0 -318
  260. package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +0 -359
  261. package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +0 -379
  262. package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +0 -359
  263. package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +0 -76
  264. package/.opencode/skills/bmad-create-architecture/workflow.md +0 -38
  265. package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +0 -6
  266. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -255
  267. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -212
  268. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -255
  269. package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -131
  270. package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +0 -61
  271. package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +0 -53
  272. package/.opencode/skills/bmad-create-prd/SKILL.md +0 -6
  273. package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +0 -15
  274. package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +0 -197
  275. package/.opencode/skills/bmad-create-prd/data/project-types.csv +0 -11
  276. package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +0 -178
  277. package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
  278. package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +0 -208
  279. package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
  280. package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
  281. package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +0 -214
  282. package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
  283. package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +0 -194
  284. package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
  285. package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
  286. package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +0 -216
  287. package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +0 -219
  288. package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
  289. package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +0 -221
  290. package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +0 -115
  291. package/.opencode/skills/bmad-create-prd/templates/prd-template.md +0 -10
  292. package/.opencode/skills/bmad-create-prd/workflow.md +0 -62
  293. package/.opencode/skills/bmad-create-story/SKILL.md +0 -6
  294. package/.opencode/skills/bmad-create-story/checklist.md +0 -357
  295. package/.opencode/skills/bmad-create-story/discover-inputs.md +0 -88
  296. package/.opencode/skills/bmad-create-story/template.md +0 -49
  297. package/.opencode/skills/bmad-create-story/workflow.md +0 -380
  298. package/.opencode/skills/bmad-create-ux-design/SKILL.md +0 -6
  299. package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +0 -135
  300. package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +0 -127
  301. package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +0 -190
  302. package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +0 -217
  303. package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -220
  304. package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +0 -235
  305. package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +0 -253
  306. package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -255
  307. package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -225
  308. package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +0 -225
  309. package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -242
  310. package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -249
  311. package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -238
  312. package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -265
  313. package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +0 -171
  314. package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +0 -13
  315. package/.opencode/skills/bmad-create-ux-design/workflow.md +0 -36
  316. package/.opencode/skills/bmad-distillator/SKILL.md +0 -178
  317. package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +0 -116
  318. package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +0 -68
  319. package/.opencode/skills/bmad-distillator/resources/compression-rules.md +0 -51
  320. package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +0 -227
  321. package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +0 -78
  322. package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +0 -300
  323. package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -204
  324. package/.opencode/skills/bmad-document-project/SKILL.md +0 -6
  325. package/.opencode/skills/bmad-document-project/checklist.md +0 -245
  326. package/.opencode/skills/bmad-document-project/documentation-requirements.csv +0 -12
  327. package/.opencode/skills/bmad-document-project/instructions.md +0 -128
  328. package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +0 -345
  329. package/.opencode/skills/bmad-document-project/templates/index-template.md +0 -169
  330. package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +0 -103
  331. package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +0 -160
  332. package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +0 -135
  333. package/.opencode/skills/bmad-document-project/workflow.md +0 -27
  334. package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +0 -299
  335. package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +0 -34
  336. package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +0 -1107
  337. package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +0 -34
  338. package/.opencode/skills/bmad-domain-research/SKILL.md +0 -6
  339. package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +0 -137
  340. package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
  341. package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
  342. package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
  343. package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
  344. package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -444
  345. package/.opencode/skills/bmad-domain-research/research.template.md +0 -29
  346. package/.opencode/skills/bmad-domain-research/workflow.md +0 -49
  347. package/.opencode/skills/bmad-edit-prd/SKILL.md +0 -6
  348. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
  349. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
  350. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
  351. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
  352. package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
  353. package/.opencode/skills/bmad-edit-prd/workflow.md +0 -63
  354. package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +0 -86
  355. package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +0 -179
  356. package/.opencode/skills/bmad-generate-project-context/SKILL.md +0 -6
  357. package/.opencode/skills/bmad-generate-project-context/project-context-template.md +0 -21
  358. package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +0 -186
  359. package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +0 -321
  360. package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +0 -278
  361. package/.opencode/skills/bmad-generate-project-context/workflow.md +0 -43
  362. package/.opencode/skills/bmad-help/SKILL.md +0 -73
  363. package/.opencode/skills/bmad-index-docs/SKILL.md +0 -66
  364. package/.opencode/skills/bmad-init/SKILL.md +0 -100
  365. package/.opencode/skills/bmad-init/resources/core-module.yaml +0 -25
  366. package/.opencode/skills/bmad-init/scripts/bmad_init.py +0 -593
  367. package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +0 -329
  368. package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +0 -49
  369. package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +0 -11
  370. package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +0 -49
  371. package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +0 -11
  372. package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +0 -53
  373. package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
  374. package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +0 -59
  375. package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
  376. package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +0 -49
  377. package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +0 -11
  378. package/.opencode/skills/bmad-market-research/SKILL.md +0 -6
  379. package/.opencode/skills/bmad-market-research/research.template.md +0 -29
  380. package/.opencode/skills/bmad-market-research/steps/step-01-init.md +0 -184
  381. package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
  382. package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
  383. package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
  384. package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
  385. package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +0 -478
  386. package/.opencode/skills/bmad-market-research/workflow.md +0 -49
  387. package/.opencode/skills/bmad-party-mode/SKILL.md +0 -6
  388. package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +0 -138
  389. package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -187
  390. package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +0 -167
  391. package/.opencode/skills/bmad-party-mode/workflow.md +0 -190
  392. package/.opencode/skills/bmad-product-brief/SKILL.md +0 -87
  393. package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +0 -60
  394. package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
  395. package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
  396. package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +0 -49
  397. package/.opencode/skills/bmad-product-brief/bmad-manifest.json +0 -17
  398. package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +0 -57
  399. package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +0 -86
  400. package/.opencode/skills/bmad-product-brief/prompts/finalize.md +0 -75
  401. package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +0 -70
  402. package/.opencode/skills/bmad-product-brief/resources/brief-template.md +0 -60
  403. package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +0 -6
  404. package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +0 -33
  405. package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +0 -136
  406. package/.opencode/skills/bmad-quick-dev/SKILL.md +0 -6
  407. package/.opencode/skills/bmad-quick-dev/spec-template.md +0 -88
  408. package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +0 -64
  409. package/.opencode/skills/bmad-quick-dev/step-02-plan.md +0 -35
  410. package/.opencode/skills/bmad-quick-dev/step-03-implement.md +0 -37
  411. package/.opencode/skills/bmad-quick-dev/step-04-review.md +0 -49
  412. package/.opencode/skills/bmad-quick-dev/step-05-present.md +0 -63
  413. package/.opencode/skills/bmad-quick-dev/step-oneshot.md +0 -49
  414. package/.opencode/skills/bmad-quick-dev/workflow.md +0 -79
  415. package/.opencode/skills/bmad-retrospective/SKILL.md +0 -6
  416. package/.opencode/skills/bmad-retrospective/workflow.md +0 -1479
  417. package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +0 -37
  418. package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +0 -67
  419. package/.opencode/skills/bmad-shard-doc/SKILL.md +0 -105
  420. package/.opencode/skills/bmad-sprint-planning/SKILL.md +0 -6
  421. package/.opencode/skills/bmad-sprint-planning/checklist.md +0 -33
  422. package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +0 -56
  423. package/.opencode/skills/bmad-sprint-planning/workflow.md +0 -263
  424. package/.opencode/skills/bmad-sprint-status/SKILL.md +0 -6
  425. package/.opencode/skills/bmad-sprint-status/workflow.md +0 -261
  426. package/.opencode/skills/bmad-technical-research/SKILL.md +0 -6
  427. package/.opencode/skills/bmad-technical-research/research.template.md +0 -29
  428. package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +0 -137
  429. package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
  430. package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
  431. package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
  432. package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
  433. package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -487
  434. package/.opencode/skills/bmad-technical-research/workflow.md +0 -50
  435. package/.opencode/skills/bmad-validate-prd/SKILL.md +0 -6
  436. package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +0 -15
  437. package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +0 -197
  438. package/.opencode/skills/bmad-validate-prd/data/project-types.csv +0 -11
  439. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
  440. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
  441. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
  442. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
  443. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
  444. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
  445. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
  446. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
  447. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
  448. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
  449. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
  450. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
  451. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
  452. package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -229
  453. package/.opencode/skills/bmad-validate-prd/workflow.md +0 -62
  454. package/.opencode/skills/cleanup-done/SKILL.md +0 -159
  455. package/.opencode/skills/cmake-best-practices/SKILL.md +0 -64
  456. package/.opencode/skills/cmake-best-practices/examples/cmake.md +0 -59
  457. package/.opencode/skills/code-documentation/SKILL.md +0 -57
  458. package/.opencode/skills/code-documentation/examples/cpp.md +0 -29
  459. package/.opencode/skills/code-documentation/examples/csharp.md +0 -28
  460. package/.opencode/skills/code-documentation/examples/javascript_typescript.md +0 -28
  461. package/.opencode/skills/code-documentation/examples/python.md +0 -57
  462. package/.opencode/skills/code-review/SKILL.md +0 -43
  463. package/.opencode/skills/commit-message/SKILL.md +0 -79
  464. package/.opencode/skills/cpp-best-practices/SKILL.md +0 -234
  465. package/.opencode/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
  466. package/.opencode/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
  467. package/.opencode/skills/cpp-concurrency-safety/SKILL.md +0 -60
  468. package/.opencode/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  469. package/.opencode/skills/cpp-const-correctness/SKILL.md +0 -63
  470. package/.opencode/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  471. package/.opencode/skills/cpp-memory-handling/SKILL.md +0 -42
  472. package/.opencode/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  473. package/.opencode/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  474. package/.opencode/skills/cpp-modern-composition/SKILL.md +0 -64
  475. package/.opencode/skills/cpp-modern-composition/examples/composition.md +0 -51
  476. package/.opencode/skills/cpp-robust-interfaces/SKILL.md +0 -55
  477. package/.opencode/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  478. package/.opencode/skills/create-bug-story/SKILL.md +0 -263
  479. package/.opencode/skills/create-hardened-docker-skill/SKILL.md +0 -637
  480. package/.opencode/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  481. package/.opencode/skills/csharp-best-practices/SKILL.md +0 -278
  482. package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
  483. package/.opencode/skills/cyber-generate-certs/SKILL.md +0 -27
  484. package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +0 -3
  485. package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
  486. package/.opencode/skills/cyber-immunity-estimation/SKILL.md +0 -29
  487. package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +0 -3
  488. package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
  489. package/.opencode/skills/cyber-security-audit/SKILL.md +0 -27
  490. package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +0 -3
  491. package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
  492. package/.opencode/skills/cyber-vault-secrets/SKILL.md +0 -28
  493. package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +0 -3
  494. package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
  495. package/.opencode/skills/cyber-verify-docker-users/SKILL.md +0 -23
  496. package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +0 -3
  497. package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
  498. package/.opencode/skills/cyber-verify-image-signature/SKILL.md +0 -22
  499. package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +0 -3
  500. package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  501. package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +0 -28
  502. package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +0 -3
  503. package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
  504. package/.opencode/skills/devops-configure-infrastructure/SKILL.md +0 -27
  505. package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +0 -3
  506. package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
  507. package/.opencode/skills/devops-disconnected-deployment/SKILL.md +0 -27
  508. package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +0 -3
  509. package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
  510. package/.opencode/skills/devops-docker-compose-setup/SKILL.md +0 -26
  511. package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +0 -3
  512. package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
  513. package/.opencode/skills/devops-manage-helm/SKILL.md +0 -28
  514. package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +0 -3
  515. package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
  516. package/.opencode/skills/devops-sign-docker-image/SKILL.md +0 -24
  517. package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +0 -3
  518. package/.opencode/skills/docker-hardening-verification/SKILL.md +0 -28
  519. package/.opencode/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  520. package/.opencode/skills/docker-image-signing/SKILL.md +0 -28
  521. package/.opencode/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  522. package/.opencode/skills/document-revision-history/SKILL.md +0 -104
  523. package/.opencode/skills/generate-backlog/.gitkeep +0 -0
  524. package/.opencode/skills/generate-backlog/SKILL.md +0 -183
  525. package/.opencode/skills/git-workflow-skill/SKILL.md +0 -194
  526. package/.opencode/skills/git-workflow-skill/hooks/commit-msg +0 -61
  527. package/.opencode/skills/git-workflow-skill/hooks/pre-commit +0 -38
  528. package/.opencode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  529. package/.opencode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  530. package/.opencode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  531. package/.opencode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  532. package/.opencode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  533. package/.opencode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  534. package/.opencode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  535. package/.opencode/skills/js-ts-security-skill/SKILL.md +0 -64
  536. package/.opencode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  537. package/.opencode/skills/logging-best-practices/SKILL.md +0 -50
  538. package/.opencode/skills/logging-best-practices/examples/cpp.md +0 -36
  539. package/.opencode/skills/logging-best-practices/examples/csharp.md +0 -49
  540. package/.opencode/skills/logging-best-practices/examples/javascript.md +0 -77
  541. package/.opencode/skills/logging-best-practices/examples/python.md +0 -57
  542. package/.opencode/skills/logging-best-practices/references/logging-standards.md +0 -29
  543. package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
  544. package/.opencode/skills/mil498-ocd/SKILL.md +0 -30
  545. package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +0 -5
  546. package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +0 -26
  547. package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +0 -10
  548. package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +0 -90
  549. package/.opencode/skills/mil498-ocd/prompts/04-validate.md +0 -14
  550. package/.opencode/skills/mil498-ocd/prompts/05-review.md +0 -15
  551. package/.opencode/skills/mil498-ocd/prompts/06-save.md +0 -15
  552. package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
  553. package/.opencode/skills/mil498-sdd/SKILL.md +0 -30
  554. package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +0 -5
  555. package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +0 -50
  556. package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +0 -10
  557. package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +0 -98
  558. package/.opencode/skills/mil498-sdd/prompts/04-validate.md +0 -16
  559. package/.opencode/skills/mil498-sdd/prompts/05-review.md +0 -15
  560. package/.opencode/skills/mil498-sdd/prompts/06-save.md +0 -19
  561. package/.opencode/skills/mil498-sdd/template.md +0 -163
  562. package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
  563. package/.opencode/skills/mil498-sdp/SKILL.md +0 -30
  564. package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +0 -5
  565. package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +0 -32
  566. package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +0 -10
  567. package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +0 -187
  568. package/.opencode/skills/mil498-sdp/prompts/04-validate.md +0 -13
  569. package/.opencode/skills/mil498-sdp/prompts/05-review.md +0 -15
  570. package/.opencode/skills/mil498-sdp/prompts/06-save.md +0 -14
  571. package/.opencode/skills/mil498-srs/.gitkeep +0 -0
  572. package/.opencode/skills/mil498-srs/SKILL.md +0 -30
  573. package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +0 -5
  574. package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +0 -42
  575. package/.opencode/skills/mil498-srs/prompts/02-load-template.md +0 -10
  576. package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +0 -100
  577. package/.opencode/skills/mil498-srs/prompts/04-validate.md +0 -16
  578. package/.opencode/skills/mil498-srs/prompts/05-review.md +0 -15
  579. package/.opencode/skills/mil498-srs/prompts/06-save.md +0 -18
  580. package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
  581. package/.opencode/skills/mil498-ssdd/SKILL.md +0 -32
  582. package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +0 -5
  583. package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +0 -32
  584. package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +0 -10
  585. package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +0 -43
  586. package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +0 -96
  587. package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +0 -14
  588. package/.opencode/skills/mil498-ssdd/prompts/06-review.md +0 -16
  589. package/.opencode/skills/mil498-ssdd/prompts/07-save.md +0 -16
  590. package/.opencode/skills/mil498-sss/.gitkeep +0 -0
  591. package/.opencode/skills/mil498-sss/SKILL.md +0 -31
  592. package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +0 -5
  593. package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +0 -31
  594. package/.opencode/skills/mil498-sss/prompts/02-load-template.md +0 -10
  595. package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +0 -108
  596. package/.opencode/skills/mil498-sss/prompts/04-validate.md +0 -16
  597. package/.opencode/skills/mil498-sss/prompts/05-review.md +0 -15
  598. package/.opencode/skills/mil498-sss/prompts/06-save.md +0 -15
  599. package/.opencode/skills/mil498-std/.gitkeep +0 -0
  600. package/.opencode/skills/mil498-std/SKILL.md +0 -30
  601. package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +0 -5
  602. package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +0 -42
  603. package/.opencode/skills/mil498-std/prompts/02-load-template.md +0 -10
  604. package/.opencode/skills/mil498-std/prompts/03-generate-document.md +0 -117
  605. package/.opencode/skills/mil498-std/prompts/04-validate.md +0 -15
  606. package/.opencode/skills/mil498-std/prompts/05-review.md +0 -15
  607. package/.opencode/skills/mil498-std/prompts/06-save.md +0 -15
  608. package/.opencode/skills/ml-advise/.gitkeep +0 -0
  609. package/.opencode/skills/ml-advise/SKILL.md +0 -76
  610. package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
  611. package/.opencode/skills/ml-advise/skill.json +0 -7
  612. package/.opencode/skills/ml-analysis/.gitkeep +0 -0
  613. package/.opencode/skills/ml-analysis/SKILL.md +0 -60
  614. package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
  615. package/.opencode/skills/ml-analysis/skill.json +0 -7
  616. package/.opencode/skills/ml-architecture/.gitkeep +0 -0
  617. package/.opencode/skills/ml-architecture/SKILL.md +0 -55
  618. package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
  619. package/.opencode/skills/ml-architecture/skill.json +0 -7
  620. package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
  621. package/.opencode/skills/ml-detailed-design/SKILL.md +0 -67
  622. package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
  623. package/.opencode/skills/ml-detailed-design/skill.json +0 -7
  624. package/.opencode/skills/ml-eda/.gitkeep +0 -0
  625. package/.opencode/skills/ml-eda/SKILL.md +0 -56
  626. package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
  627. package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +0 -522
  628. package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
  629. package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +0 -383
  630. package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +0 -654
  631. package/.opencode/skills/ml-eda/skill.json +0 -7
  632. package/.opencode/skills/ml-experiment/.gitkeep +0 -0
  633. package/.opencode/skills/ml-experiment/SKILL.md +0 -74
  634. package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
  635. package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
  636. package/.opencode/skills/ml-experiment/assets/template_datamodule.py +0 -219
  637. package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +0 -341
  638. package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +0 -158
  639. package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
  640. package/.opencode/skills/ml-experiment/skill.json +0 -7
  641. package/.opencode/skills/ml-hparam/.gitkeep +0 -0
  642. package/.opencode/skills/ml-hparam/SKILL.md +0 -81
  643. package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
  644. package/.opencode/skills/ml-hparam/skill.json +0 -7
  645. package/.opencode/skills/ml-ideation/.gitkeep +0 -0
  646. package/.opencode/skills/ml-ideation/SKILL.md +0 -50
  647. package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
  648. package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
  649. package/.opencode/skills/ml-ideation/skill.json +0 -7
  650. package/.opencode/skills/ml-infra/.gitkeep +0 -0
  651. package/.opencode/skills/ml-infra/SKILL.md +0 -58
  652. package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
  653. package/.opencode/skills/ml-infra/skill.json +0 -7
  654. package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
  655. package/.opencode/skills/ml-retrospective/SKILL.md +0 -63
  656. package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
  657. package/.opencode/skills/ml-retrospective/skill.json +0 -7
  658. package/.opencode/skills/ml-revision/.gitkeep +0 -0
  659. package/.opencode/skills/ml-revision/SKILL.md +0 -82
  660. package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
  661. package/.opencode/skills/ml-revision/skill.json +0 -7
  662. package/.opencode/skills/ml-techspec/.gitkeep +0 -0
  663. package/.opencode/skills/ml-techspec/SKILL.md +0 -80
  664. package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
  665. package/.opencode/skills/ml-techspec/skill.json +0 -7
  666. package/.opencode/skills/modify-sprint/.gitkeep +0 -0
  667. package/.opencode/skills/modify-sprint/SKILL.md +0 -322
  668. package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +0 -3
  669. package/.opencode/skills/open-presentation/SKILL.md +0 -35
  670. package/.opencode/skills/opentelemetry-best-practices/SKILL.md +0 -34
  671. package/.opencode/skills/opentelemetry-best-practices/examples/go.md +0 -32
  672. package/.opencode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  673. package/.opencode/skills/opentelemetry-best-practices/examples/python.md +0 -37
  674. package/.opencode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  675. package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
  676. package/.opencode/skills/prioritize-backlog/SKILL.md +0 -195
  677. package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
  678. package/.opencode/skills/project-context-expansion/SKILL.md +0 -238
  679. package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +0 -3
  680. package/.opencode/skills/python-best-practices/SKILL.md +0 -385
  681. package/.opencode/skills/python-dependency-mgmt/SKILL.md +0 -42
  682. package/.opencode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  683. package/.opencode/skills/python-security-skill/SKILL.md +0 -56
  684. package/.opencode/skills/python-security-skill/examples/security.md +0 -56
  685. package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
  686. package/.opencode/skills/remove-from-sprint/SKILL.md +0 -163
  687. package/.opencode/skills/self-signed-cert/SKILL.md +0 -42
  688. package/.opencode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  689. package/.opencode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  690. package/.opencode/skills/skill-creator/SKILL.md +0 -196
  691. package/.opencode/skills/skill-creator/references/output-patterns.md +0 -82
  692. package/.opencode/skills/skill-creator/references/workflows.md +0 -28
  693. package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -208
  694. package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -99
  695. package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -113
  696. package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
  697. package/.opencode/skills/sprint-status-view/SKILL.md +0 -263
  698. package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +0 -3
  699. package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
  700. package/.opencode/skills/sre-check-deployment-status/SKILL.md +0 -32
  701. package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +0 -3
  702. package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
  703. package/.opencode/skills/sre-check-secrets/SKILL.md +0 -23
  704. package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +0 -3
  705. package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
  706. package/.opencode/skills/sre-check-system-status/SKILL.md +0 -27
  707. package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +0 -3
  708. package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
  709. package/.opencode/skills/sre-day-2-ops/SKILL.md +0 -26
  710. package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +0 -3
  711. package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
  712. package/.opencode/skills/sre-deployment-strategies/SKILL.md +0 -28
  713. package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +0 -3
  714. package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
  715. package/.opencode/skills/sre-fix-deployments/SKILL.md +0 -25
  716. package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +0 -3
  717. package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
  718. package/.opencode/skills/sre-gitops-status/SKILL.md +0 -25
  719. package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +0 -3
  720. package/.opencode/skills/story-status-lookup/SKILL.md +0 -78
  721. package/.opencode/skills/test-accompanied-development/SKILL.md +0 -50
  722. package/.opencode/skills/test-generator/SKILL.md +0 -65
  723. package/.opencode/skills/vercel-react-best-practices/SKILL.md +0 -109
  724. package/.opencode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  725. package/.opencode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  726. package/.roo/rules/00-ma-agents.md +0 -13
  727. package/.roo/skills/.ma-agents.json +0 -241
  728. package/.roo/skills/MANIFEST.yaml +0 -254
  729. package/.roo/skills/ai-audit-trail/SKILL.md +0 -23
  730. package/.roo/skills/auto-bug-detection/SKILL.md +0 -169
  731. package/.roo/skills/cmake-best-practices/SKILL.md +0 -64
  732. package/.roo/skills/cmake-best-practices/examples/cmake.md +0 -59
  733. package/.roo/skills/code-documentation/SKILL.md +0 -57
  734. package/.roo/skills/code-documentation/examples/cpp.md +0 -29
  735. package/.roo/skills/code-documentation/examples/csharp.md +0 -28
  736. package/.roo/skills/code-documentation/examples/javascript_typescript.md +0 -28
  737. package/.roo/skills/code-documentation/examples/python.md +0 -57
  738. package/.roo/skills/code-review/SKILL.md +0 -43
  739. package/.roo/skills/commit-message/SKILL.md +0 -79
  740. package/.roo/skills/cpp-best-practices/SKILL.md +0 -234
  741. package/.roo/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
  742. package/.roo/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
  743. package/.roo/skills/cpp-concurrency-safety/SKILL.md +0 -60
  744. package/.roo/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  745. package/.roo/skills/cpp-const-correctness/SKILL.md +0 -63
  746. package/.roo/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  747. package/.roo/skills/cpp-memory-handling/SKILL.md +0 -42
  748. package/.roo/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  749. package/.roo/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  750. package/.roo/skills/cpp-modern-composition/SKILL.md +0 -64
  751. package/.roo/skills/cpp-modern-composition/examples/composition.md +0 -51
  752. package/.roo/skills/cpp-robust-interfaces/SKILL.md +0 -55
  753. package/.roo/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  754. package/.roo/skills/create-hardened-docker-skill/SKILL.md +0 -637
  755. package/.roo/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  756. package/.roo/skills/csharp-best-practices/SKILL.md +0 -278
  757. package/.roo/skills/docker-hardening-verification/SKILL.md +0 -28
  758. package/.roo/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  759. package/.roo/skills/docker-image-signing/SKILL.md +0 -28
  760. package/.roo/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  761. package/.roo/skills/document-revision-history/SKILL.md +0 -104
  762. package/.roo/skills/git-workflow-skill/SKILL.md +0 -194
  763. package/.roo/skills/git-workflow-skill/hooks/commit-msg +0 -61
  764. package/.roo/skills/git-workflow-skill/hooks/pre-commit +0 -38
  765. package/.roo/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  766. package/.roo/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  767. package/.roo/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  768. package/.roo/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  769. package/.roo/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  770. package/.roo/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  771. package/.roo/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  772. package/.roo/skills/js-ts-security-skill/SKILL.md +0 -64
  773. package/.roo/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  774. package/.roo/skills/logging-best-practices/SKILL.md +0 -50
  775. package/.roo/skills/logging-best-practices/examples/cpp.md +0 -36
  776. package/.roo/skills/logging-best-practices/examples/csharp.md +0 -49
  777. package/.roo/skills/logging-best-practices/examples/javascript.md +0 -77
  778. package/.roo/skills/logging-best-practices/examples/python.md +0 -57
  779. package/.roo/skills/logging-best-practices/references/logging-standards.md +0 -29
  780. package/.roo/skills/open-presentation/SKILL.md +0 -35
  781. package/.roo/skills/opentelemetry-best-practices/SKILL.md +0 -34
  782. package/.roo/skills/opentelemetry-best-practices/examples/go.md +0 -32
  783. package/.roo/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  784. package/.roo/skills/opentelemetry-best-practices/examples/python.md +0 -37
  785. package/.roo/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  786. package/.roo/skills/python-best-practices/SKILL.md +0 -385
  787. package/.roo/skills/python-dependency-mgmt/SKILL.md +0 -42
  788. package/.roo/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  789. package/.roo/skills/python-security-skill/SKILL.md +0 -56
  790. package/.roo/skills/python-security-skill/examples/security.md +0 -56
  791. package/.roo/skills/self-signed-cert/SKILL.md +0 -42
  792. package/.roo/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  793. package/.roo/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  794. package/.roo/skills/skill-creator/SKILL.md +0 -196
  795. package/.roo/skills/skill-creator/references/output-patterns.md +0 -82
  796. package/.roo/skills/skill-creator/references/workflows.md +0 -28
  797. package/.roo/skills/skill-creator/scripts/init_skill.py +0 -208
  798. package/.roo/skills/skill-creator/scripts/package_skill.py +0 -99
  799. package/.roo/skills/skill-creator/scripts/quick_validate.py +0 -113
  800. package/.roo/skills/story-status-lookup/SKILL.md +0 -78
  801. package/.roo/skills/test-accompanied-development/SKILL.md +0 -50
  802. package/.roo/skills/test-generator/SKILL.md +0 -65
  803. package/.roo/skills/vercel-react-best-practices/SKILL.md +0 -109
  804. package/.roo/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  805. package/.roo/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  806. package/opencode.json +0 -5
  807. /package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/bmad-dev-story}/.gitkeep +0 -0
  808. /package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/SKILL.md +0 -0
  809. /package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-sprint-planning}/.gitkeep +0 -0
  810. /package/{.opencode/skills/bmad-ma-agent-cyber → lib/bmad-extension/skills/bmad-sprint-status}/.gitkeep +0 -0
  811. /package/{.opencode/skills/bmad-ma-agent-devops → lib/bmad-extension/skills/cleanup-done}/.gitkeep +0 -0
  812. /package/{.opencode → lib/bmad-extension}/skills/cleanup-done/bmad-skill-manifest.yaml +0 -0
  813. /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
  814. /package/{.opencode/skills/bmad-ma-agent-ml → lib/bmad-extension/skills/generate-backlog}/.gitkeep +0 -0
  815. /package/{.opencode → lib/bmad-extension}/skills/generate-backlog/bmad-skill-manifest.yaml +0 -0
  816. /package/{.opencode/skills/bmad-ma-agent-sre → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
  817. /package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/prioritize-backlog}/.gitkeep +0 -0
  818. /package/{.opencode → lib/bmad-extension}/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -0
  819. /package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/remove-from-sprint}/.gitkeep +0 -0
  820. /package/{.opencode → lib/bmad-extension}/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -0
  821. /package/{.opencode/skills/mil498-ocd/template.md → mil498/OCD.md} +0 -0
  822. /package/{.opencode/skills/mil498-sdp/template.md → mil498/SDP.md} +0 -0
  823. /package/{.opencode/skills/mil498-srs/template.md → mil498/SRS.md} +0 -0
  824. /package/{.opencode/skills/mil498-ssdd/template.md → mil498/SSDD.md} +0 -0
  825. /package/{.opencode/skills/mil498-sss/template.md → mil498/SSS.md} +0 -0
  826. /package/{.opencode/skills/mil498-std/template.md → mil498/STD.md} +0 -0
@@ -1,102 +0,0 @@
1
- # Naming and Organization Examples
2
-
3
- ## Naming Conventions
4
-
5
- ```cpp
6
- // File: user_account.h
7
- #pragma once
8
-
9
- #include <string>
10
- #include <string_view>
11
- #include <optional>
12
-
13
- namespace myapp::domain {
14
-
15
- // Types use PascalCase
16
- class UserAccount {
17
- public:
18
- // Constants use UPPER_SNAKE_CASE
19
- static constexpr int MAX_NAME_LENGTH = 128;
20
-
21
- // Constructors and methods use camelCase
22
- explicit UserAccount(std::string_view userName, int accountId);
23
-
24
- // Const member function — does not modify the object
25
- [[nodiscard]] std::string_view getUserName() const;
26
- [[nodiscard]] int getAccountId() const;
27
-
28
- // Mutating method
29
- void setUserName(std::string_view newName);
30
-
31
- private:
32
- // Private members use camelCase with trailing underscore
33
- std::string userName_;
34
- int accountId_;
35
- };
36
-
37
- } // namespace myapp::domain
38
- ```
39
-
40
- ## Header Organization
41
-
42
- ```cpp
43
- // File: connection_pool.cpp
44
-
45
- // 1. Project headers first
46
- #include "connection_pool.h"
47
- #include "network/socket.h"
48
-
49
- // 2. Third-party headers
50
- #include <boost/asio.hpp>
51
-
52
- // 3. Standard library
53
- #include <algorithm>
54
- #include <chrono>
55
- #include <memory>
56
- #include <vector>
57
-
58
- namespace myapp::network {
59
- // ...
60
- } // namespace myapp::network
61
- ```
62
-
63
- ## Forward Declarations to Reduce Coupling
64
-
65
- ```cpp
66
- // File: request_handler.h
67
- #pragma once
68
-
69
- // Forward declare instead of including the full header
70
- namespace myapp::domain {
71
- class UserAccount;
72
- }
73
-
74
- namespace myapp::network {
75
-
76
- class RequestHandler {
77
- public:
78
- // Only a reference/pointer is needed here — forward declaration is sufficient
79
- void handle(const myapp::domain::UserAccount& user);
80
- };
81
-
82
- } // namespace myapp::network
83
- ```
84
-
85
- ## Namespace Usage
86
-
87
- ```cpp
88
- // Good: deeply nested namespace matching directory structure
89
- namespace myapp::network::http {
90
-
91
- class Client {
92
- // ...
93
- };
94
-
95
- } // namespace myapp::network::http
96
-
97
- // Avoid in headers — pollutes every translation unit that includes this header:
98
- // using namespace std; // BAD in headers
99
-
100
- // OK in .cpp files, restricted to file scope:
101
- // using namespace myapp::network::http;
102
- ```
@@ -1,60 +0,0 @@
1
- ---
2
- name: C++ Safety-First Concurrency
3
- description: Enforce safe multi-threading patterns using RAII locking and task-based parallelism (C++14+).
4
- ---
5
- # C++ Safety-First Concurrency (Core Guidelines Section CP)
6
-
7
- This skill prevents common multi-threading defects like data races, deadlocks, and shared-state corruption.
8
-
9
- ## Policies
10
-
11
- ### 1. RAII Locking Only
12
- * **Rule**: Never call `mutex.lock()` or `mutex.unlock()` manually.
13
- * **Action**:
14
- - Use `std::lock_guard` for single mutexes.
15
- - Use `std::unique_lock` if you need deferred locking or condition variables.
16
- - Use `std::scoped_lock` (C++17) for multiple mutexes to avoid deadlocks.
17
- * **Rationale**: Ensures locks are released even if an exception is thrown.
18
-
19
- ### 2. Task-Based Parallelism
20
- * **Rule**: Prefer tasks (`std::async`, `std::packaged_task`, `std::future`) over raw threads (`std::thread`).
21
- * **Action**: Use `auto result = std::async(std::launch::async, func, args...);`
22
- * **Rationale**: Automates thread management and handles value return/exception propagation naturally.
23
-
24
- ### 3. Minimize Shared Mutable State
25
- * **Rule**: Data should ideally be either "Thread-Local" or "Read-Only".
26
- * **Action**:
27
- - Pass data to threads by value where possible.
28
- - Use `const` for data shared between threads.
29
- - Group mutexes with the data they protect (e.g., in a struct).
30
- * **Rationale**: If data isn't shared or isn't mutable, it cannot have a race condition.
31
-
32
- ### 4. Never Sleep/Wait without a Condition
33
- * **Rule**: Avoid `std::this_thread::sleep_for` for synchronization.
34
- * **Action**: Use `std::condition_variable` with a predicate to wait for work.
35
- * **Rationale**: Sleeping is inefficient and bug-prone; condition variables are precise and responsive.
36
-
37
- ## Examples
38
-
39
- ### Before (Dangerous Concurrency)
40
- ```cpp
41
- std::mutex mtx;
42
- int sharedData = 0;
43
-
44
- void worker() {
45
- mtx.lock();
46
- sharedData++;
47
- mtx.unlock(); // What if an exception happened above?
48
- }
49
- ```
50
-
51
- ### After (Safe Concurrency)
52
- ```cpp
53
- std::mutex mtx;
54
- int sharedData = 0;
55
-
56
- void worker() {
57
- std::lock_guard<std::mutex> lock(mtx);
58
- sharedData++;
59
- } // Lock automatically released here
60
- ```
@@ -1,73 +0,0 @@
1
- # Concurrency Safety Examples (C++14+)
2
-
3
- ### 1. Task-Based Parallelism (Async)
4
- Avoids manual thread joining and handles return values safely.
5
-
6
- ```cpp
7
- #include <future>
8
- #include <vector>
9
- #include <numeric>
10
-
11
- int computeLargeSum(const std::vector<int>& data) {
12
- auto part1 = std::async(std::launch::async, [&data]() {
13
- return std::accumulate(data.begin(), data.begin() + data.size()/2, 0);
14
- });
15
-
16
- auto part2 = std::accumulate(data.begin() + data.size()/2, data.end(), 0);
17
-
18
- return part1.get() + part2;
19
- }
20
- ```
21
-
22
- ### 2. Multi-Lock Safety (C++17 scoped_lock)
23
- Prevents deadlocks when acquiring multiple resources.
24
-
25
- ```cpp
26
- #include <mutex>
27
-
28
- struct Account {
29
- std::mutex mtx;
30
- double balance;
31
- };
32
-
33
- void transfer(Account& from, Account& to, double amount) {
34
- // Acquire both locks simultaneously in a deadlock-free manner
35
- std::scoped_lock lock(from.mtx, to.mtx);
36
-
37
- if (from.balance >= amount) {
38
- from.balance -= amount;
39
- to.balance += amount;
40
- }
41
- }
42
- ```
43
-
44
- ### 3. Condition Variables with Predicates
45
- Always use a predicate to protect against "spurious wakeups."
46
-
47
- ```cpp
48
- #include <mutex>
49
- #include <condition_variable>
50
- #include <queue>
51
-
52
- std::queue<int> workQueue;
53
- std::mutex workMtx;
54
- std::condition_variable workCv;
55
- bool finished = false;
56
-
57
- void consumer() {
58
- while (true) {
59
- std::unique_lock<std::mutex> lock(workMtx);
60
-
61
- // Wait until there is work OR we are finished
62
- workCv.wait(lock, []{ return !workQueue.empty() || finished; });
63
-
64
- if (workQueue.empty() && finished) break;
65
-
66
- int task = workQueue.front();
67
- workQueue.pop();
68
- lock.unlock(); // Release lock before processing
69
-
70
- process(task);
71
- }
72
- }
73
- ```
@@ -1,63 +0,0 @@
1
- ---
2
- name: C++ Const-Correctness & Logic
3
- description: Enforce immutability-by-default and push logic to compile-time using constexpr (C++14+).
4
- ---
5
- # C++ Const-Correctness & Logic (Core Guidelines Section Con & ES)
6
-
7
- This skill ensures that C++ code is "immutable by default," reducing side effects and enabling better compiler optimizations.
8
-
9
- ## Policies
10
-
11
- ### 1. By Default, Make Objects Immutable
12
- * **Rule**: Declare all variables `const` unless they *must* be modified.
13
- * **Action**:
14
- - Use `const auto x = ...;` instead of `auto x = ...;`.
15
- - Use `const` for function results that won't be modified.
16
- * **Rationale**: Prevents accidental state mutation and improves code reasoning.
17
-
18
- ### 2. Const Member Functions
19
- * **Rule**: Any member function that does not modify the object's observable state must be `const`.
20
- * **Action**: Append `const` to the function signature: `T getValue() const { ... }`.
21
- * **Rationale**: Necessary for calling functions on `const` objects and `const&` parameters.
22
-
23
- ### 3. Compute at Compile-Time (`constexpr`)
24
- * **Rule**: Prefer `constexpr` for any value or simple logic that *can* be computed at compile-time.
25
- * **Action**:
26
- - Use `constexpr` for constants.
27
- - Declare mathematical or configuration functions as `constexpr` (C++14 allows complex logic in `constexpr`).
28
- * **Rationale**: Moves work from runtime to compile-time, reducing binary size and execution time.
29
-
30
- ### 4. Consistent Parameter Logic
31
- * **Rule**: Avoid passing by value for large types; avoid passing by non-const reference unless it's an "out" or "in-out" parameter.
32
- * **Action**:
33
- - **In parameters**: Pass cheap types (int, double, pointers, `string_view`) by value. Pass large types by `const&`.
34
- - **Out/In-out parameters**: Pass by `T&`.
35
- - **Sinks**: Pass by `T&&` (rvalue reference).
36
-
37
- ## Examples
38
-
39
- ### Before (Mutable/Runtime Logic)
40
- ```cpp
41
- int getMultiplier(int x) {
42
- return x * 10;
43
- }
44
-
45
- void process() {
46
- auto data = loadData();
47
- auto mult = getMultiplier(5); // mutable by accident
48
- data.apply(mult);
49
- }
50
- ```
51
-
52
- ### After (Const/Compile-time Logic)
53
- ```cpp
54
- constexpr int getMultiplier(int x) {
55
- return x * 10;
56
- }
57
-
58
- void process() {
59
- const auto data = loadData(); // data won't change
60
- constexpr auto mult = getMultiplier(5); // computed at compile time
61
- data.apply(mult);
62
- }
63
- ```
@@ -1,54 +0,0 @@
1
- # Const-Correctness Examples (C++14+)
2
-
3
- ### 1. Complex Const Initialization (Lambda)
4
- Sometimes you need to conditionally initialize a variable, but you want it to be `const` afterward.
5
-
6
- **Modern (C++14):**
7
- ```cpp
8
- const auto path = []() {
9
- if (auto env = std::getenv("APP_PATH")) {
10
- return std::string(env);
11
- }
12
- return std::string("/default/path");
13
- }(); // Immediately invoked lambda
14
- ```
15
-
16
- ### 2. Const-Correct Member Functions
17
- Ensure getters and inspectors are `const`.
18
-
19
- ```cpp
20
- class Config {
21
- int timeout = 30;
22
- public:
23
- // This is an inspector, must be const
24
- int getTimeout() const { return timeout; }
25
-
26
- // This is a mutator, cannot be const
27
- void setTimeout(int t) { timeout = t; }
28
- };
29
- ```
30
-
31
- ### 3. C++14 constexpr Logic
32
- C++14 expanded `constexpr` significantly (loops, branches allowed).
33
-
34
- ```cpp
35
- constexpr int fibonacci(int n) {
36
- if (n <= 1) return n;
37
- int a = 0, b = 1;
38
- for (int i = 2; i <= n; ++i) {
39
- int next = a + b;
40
- a = b;
41
- b = next;
42
- }
43
- return b;
44
- }
45
-
46
- // Result is computed by the compiler
47
- constexpr int fib10 = fibonacci(10);
48
- ```
49
-
50
- ### 4. Parameter Passing Guide
51
- - `void f(int)` : Fast to copy (Value)
52
- - `void f(const LargeObject&)` : Expensive to copy (Const Ref)
53
- - `void f(LargeObject&)` : I will modify this (Ref)
54
- - `void f(LargeObject&&)` : I will MOVE/OWN this (Rvalue Ref)
@@ -1,42 +0,0 @@
1
- ---
2
- name: C++ Safe Memory Handling
3
- description: Enforces Modern C++ practices (RAII, Smart Pointers) to prevent memory leaks, dangling pointers, and buffer overflows.
4
- ---
5
- # C++ Safe Memory Handling
6
-
7
- Guidelines for writing robust, memory-safe C++ code by leveraging Modern C++ features and RAII principles.
8
-
9
- ## Mandatory Policies
10
-
11
- ### 1. Smart Pointers by Default
12
- You MUST use smart pointers for all heap allocations.
13
- - Use `std::unique_ptr` for exclusive ownership. This is the preferred default.
14
- - Use `std::shared_ptr` only when multiple objects share ownership of a resource.
15
- - Use `std::weak_ptr` to break circular dependencies or for non-owning references that must be checked for validity.
16
-
17
- ### 2. Forbid raw new/delete
18
- You MUST NOT use raw `new` and `delete` operators.
19
- - Use `std::make_unique` (C++14+) or `std::make_shared` to allocate objects on the heap.
20
- - Exceptions are only allowed within low-level custom container implementations, which must be encapsulated.
21
-
22
- ### 3. Prefer Value Semantics
23
- Always prefer stack-allocated objects and value semantics over pointer-based indirection unless heap allocation is strictly necessary (e.g., polymorphism, very large objects, or dynamic lifetimes).
24
-
25
- ### 4. RAII for All Resources
26
- Every resource (file handles, sockets, mutexes, memory) MUST be managed by an object whose constructor acquires the resource and destructor releases it. Never rely on manual cleanup blocks.
27
-
28
- ### 5. Standard Containers
29
- NEVER use raw buffers or manually managed arrays.
30
- - Use `std::vector` for dynamic arrays.
31
- - Use `std::string` for text.
32
- - Use `std::array` (C++11) for fixed-size stack arrays.
33
- - Access elements using `.at()` if bounds checking is required for security-critical logic.
34
-
35
- ## Critical Rules
36
- - **No Dangling Pointers**: Never return a pointer or reference to a local stack-allocated variable.
37
- - **Rule of Zero/Five**: Follow the "Rule of Zero" (prefer components that handle their own resource management). If manual management is needed, correctly implement the "Rule of Five".
38
- - **Nullable Checks**: Always check pointers (even smart ones) for `nullptr` before dereferencing if there is any chance they could be empty.
39
-
40
- ## Resources
41
- - [Modern C++ Examples](file:///skills/cpp-memory-handling/examples/modern-cpp.md)
42
- - [Smart Pointer Reference](file:///skills/cpp-memory-handling/examples/smart-pointers.md)
@@ -1,49 +0,0 @@
1
- # Modern C++ Safe Memory Examples
2
-
3
- Demonstrating RAII and safe resource management in modern C++.
4
-
5
- ## RAII Resource Management
6
-
7
- ```cpp
8
- #include <iostream>
9
- #include <fstream>
10
- #include <vector>
11
- #include <memory>
12
-
13
- class FileHandler {
14
- public:
15
- FileHandler(const std::string& filename) : file(filename) {
16
- if (!file.is_open()) throw std::runtime_error("Could not open file");
17
- }
18
- // Destructor automatically closes the file
19
- ~FileHandler() { if (file.is_open()) file.close(); }
20
-
21
- void write(const std::string& data) { file << data; }
22
-
23
- private:
24
- std::ofstream file;
25
- };
26
-
27
- void log_data(const std::string& message) {
28
- // RAII handles lifetime. No manual close needed.
29
- FileHandler handler("app.log");
30
- handler.write(message);
31
- }
32
- ```
33
-
34
- ## Vector vs Raw Arrays
35
-
36
- ```cpp
37
- // BAD: Manual memory management
38
- void bad_array() {
39
- int* arr = new int[100];
40
- // ... logic ...
41
- delete[] arr; // Manual cleanup is error-prone
42
- }
43
-
44
- // GOOD: Automatic memory management
45
- void safe_vector() {
46
- std::vector<int> arr(100);
47
- // Vector manages its own heap memory. RAII cleans up at scope exit.
48
- }
49
- ```
@@ -1,46 +0,0 @@
1
- # C++ Smart Pointer Reference
2
-
3
- Guidelines for selecting and using smart pointers correctly.
4
-
5
- ## unique_ptr (Preferred Default)
6
- - Represents **exclusive ownership**.
7
- - Zero runtime overhead compared to raw pointers.
8
-
9
- ```cpp
10
- #include <memory>
11
-
12
- class Widget { /* ... */ };
13
-
14
- void exclusive_use() {
15
- // Use make_unique for safety and efficiency
16
- auto widget = std::make_unique<Widget>();
17
-
18
- // Ownership can be moved but not copied
19
- std::unique_ptr<Widget> other = std::move(widget);
20
- }
21
- ```
22
-
23
- ## shared_ptr (For Shared Ownership)
24
- - Use only when **multiple** owners truly exist.
25
- - Reference counting has small overhead.
26
-
27
- ```cpp
28
- void shared_use() {
29
- auto shared_widget = std::make_shared<Widget>();
30
-
31
- auto owner1 = shared_widget; // Count = 2
32
- auto owner2 = shared_widget; // Count = 3
33
- }
34
- ```
35
-
36
- ## weak_ptr (Breaking Cycles)
37
- - Non-owning reference. Must be locked before use.
38
-
39
- ```cpp
40
- void weak_use(std::weak_ptr<Widget> weak_widget) {
41
- if (auto shared = weak_widget.lock()) {
42
- // Resource is still alive
43
- shared->do_something();
44
- }
45
- }
46
- ```
@@ -1,64 +0,0 @@
1
- ---
2
- name: C++ Modern Composition
3
- description: Replace legacy C patterns with STL, Ranges, and modern C++ abstractions (C++14+).
4
- ---
5
- # C++ Modern Composition (Core Guidelines Section STL, CPL, ES)
6
-
7
- This skill forces the transition from legacy "C-style" C++ to modern, declarative, and safer C++ idioms.
8
-
9
- ## Policies
10
-
11
- ### 1. STL Algorithms over Manual Loops
12
- * **Rule**: Never write a raw `for` or `while` loop for operations supported by `<algorithm>` or `<numeric>`.
13
- * **Action**:
14
- - Use `std::any_of`, `std::all_of`, `std::find_if`, `std::transform`, `std::accumulate`.
15
- - In C++20 projects, prefer `std::ranges` versions.
16
- * **Rationale**: Reduces "off-by-one" errors and improves intent readability.
17
-
18
- ### 2. Eradicate C-style Casts and Macros
19
- * **Rule**: Ban `(type)value` and `#define` for logic/constants.
20
- * **Action**:
21
- - Use `static_cast`, `reinterpret_cast`, or `const_cast`.
22
- - Replace macros with `constexpr` variables or `inline` functions/templates.
23
- * **Rationale**: Named casts are searchable and safer; `constexpr` respects namespaces and scopes.
24
-
25
- ### 3. Universal Initialization
26
- * **Rule**: Prefer `{}` initialization to avoid the "Most Vexing Parse".
27
- * **Action**: Use `auto x = Type{args...};` or `Type x{args...};`.
28
- * **Rationale**: Prevents narrowing conversions (e.g., `int x{3.5}` is a compiler error, while `int x = 3.5` is not).
29
-
30
- ### 4. Zero Raw Memory Manipulation
31
- * **Rule**: Ban `memset`, `memcpy`, and `malloc`.
32
- * **Action**:
33
- - Use `std::fill`, `std::copy`, or `container.assign()`.
34
- - Use `std::vector` or `std::array` instead of raw arrays.
35
- * **Rationale**: Standard containers are bounds-checked (via `.at()`) and manage their own memory.
36
-
37
- ## Examples
38
-
39
- ### Before (C-style C++)
40
- ```cpp
41
- #define MAX_BUFFER 1024
42
- int arr[MAX_BUFFER];
43
- memset(arr, 0, sizeof(arr));
44
-
45
- bool found = false;
46
- for (int i = 0; i < MAX_BUFFER; ++i) {
47
- if (arr[i] == (int)someFloat) {
48
- found = true;
49
- break;
50
- }
51
- }
52
- ```
53
-
54
- ### After (Modern C++)
55
- ```cpp
56
- constexpr size_t MaxBuffer = 1024;
57
- std::array<int, MaxBuffer> arr;
58
- arr.fill(0);
59
-
60
- auto target = static_cast<int>(someFloat);
61
- bool found = std::any_of(arr.begin(), arr.end(), [target](int v) {
62
- return v == target;
63
- });
64
- ```
@@ -1,51 +0,0 @@
1
- # Modern Composition Examples (C++14+)
2
-
3
- ### 1. Data Transformation (Transform)
4
- **Legacy:**
5
- ```cpp
6
- std::vector<int> inputs = {1, 2, 3};
7
- std::vector<int> outputs;
8
- for (size_t i = 0; i < inputs.size(); ++i) {
9
- outputs.push_back(inputs[i] * 2);
10
- }
11
- ```
12
-
13
- **Modern (C++14):**
14
- ```cpp
15
- std::vector<int> inputs = {1, 2, 3};
16
- std::vector<int> outputs;
17
- outputs.reserve(inputs.size());
18
- std::transform(inputs.begin(), inputs.end(), std::back_inserter(outputs),
19
- [](int n) { return n * 2; });
20
- ```
21
-
22
- ### 2. Summation and Reduction (Accumulate)
23
- **Modern (C++14):**
24
- ```cpp
25
- #include <numeric>
26
-
27
- std::vector<double> prices = {10.5, 20.0, 5.25};
28
- double total = std::accumulate(prices.begin(), prices.end(), 0.0);
29
- ```
30
-
31
- ### 3. Safe Narrowing Protection
32
- **Logic:**
33
- ```cpp
34
- double d = 7.9;
35
- // int i{d}; // Error: narrowing conversion from 'double' to 'int'
36
- int i = static_cast<int>(d); // Explicit and safe
37
- ```
38
-
39
- ### 4. Replacing Function Macros
40
- **Legacy:**
41
- ```cpp
42
- #define SQUARE(x) ((x)*(x))
43
- ```
44
-
45
- **Modern (C++14):**
46
- ```cpp
47
- template<typename T>
48
- constexpr T square(T t) {
49
- return t * t;
50
- }
51
- ```
@@ -1,55 +0,0 @@
1
- ---
2
- name: C++ Robust Interfaces
3
- description: Enforce contract-based design and strong typing in C++ interfaces (C++14+).
4
- ---
5
- # C++ Robust Interfaces (Core Guidelines Section I & E)
6
-
7
- This skill ensures that C++ interfaces follow contract-based design principles to improve safety, clarity, and maintainability.
8
-
9
- ## Policies
10
-
11
- ### 1. Make Interfaces Explicit
12
- * **Rule**: Functions must explicitly state their requirements (pre-conditions) and guarantees (post-conditions).
13
- * **Action**: Use `Expects()` and `Ensures()` (from GSL) or standardized comments if GSL is unavailable.
14
- * **Rationale**: Detects integration bugs at the call site rather than deep in the implementation.
15
-
16
- ### 2. Strong Typing over Primitive Types
17
- * **Rule**: Avoid "Boolean Blindness" and `void*`.
18
- * **Action**:
19
- - Use `enum class` for options instead of `bool`.
20
- - Use `std::chrono` for time instead of `int`.
21
- - Use specific types/structs instead of a long list of primitive arguments.
22
-
23
- ### 3. Clear Ownership and Lifetime
24
- * **Rule**: A raw pointer (`T*`) in an interface **must never** represent ownership.
25
- * **Action**:
26
- - Use `gsl::not_null<T*>` for pointers that cannot be null.
27
- - Use `std::unique_ptr` or `std::shared_ptr` ONLY if the function is participating in ownership/lifetime management.
28
- - Prefer `T&` for arguments that must exist and aren't owned by the callee.
29
-
30
- ### 4. Sequence Safety
31
- * **Rule**: Never pass an array as a raw pointer + size.
32
- * **Action**:
33
- - Use `gsl::span<T>` (C++14/17 via GSL) or `std::span<T>` (C++20).
34
- - Use `std::string_view` for read-only strings.
35
-
36
- ## Examples
37
-
38
- ### Before (Fragile Interface)
39
- ```cpp
40
- // What does 'flag' mean? Is data allowed to be null? Is it an array?
41
- void processData(char* data, int size, bool flag);
42
- ```
43
-
44
- ### After (Robust Interface)
45
- ```cpp
46
- #include <gsl/gsl>
47
-
48
- enum class ProcessingMode { Fast, Thorough };
49
-
50
- // Explicit contract: data must not be null, size is handled by span
51
- void processData(gsl::span<const char> data, ProcessingMode mode) {
52
- Expects(!data.empty());
53
- // ...
54
- }
55
- ```