@ruaruababa/vibe-kit 1.0.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 (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,744 @@
1
+ # Threat Mitigation Mapping Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Threat Mitigation Mapping
6
+
7
+ Connect threats to controls for effective security planning.
8
+
9
+ ## When to Use This Skill
10
+
11
+ - Prioritizing security investments
12
+ - Creating remediation roadmaps
13
+ - Validating control coverage
14
+ - Designing defense-in-depth
15
+ - Security architecture review
16
+ - Risk treatment planning
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. Control Categories
21
+
22
+ ```
23
+ Preventive ────► Stop attacks before they occur
24
+ │ (Firewall, Input validation)
25
+
26
+ Detective ─────► Identify attacks in progress
27
+ │ (IDS, Log monitoring)
28
+
29
+ Corrective ────► Respond and recover from attacks
30
+ (Incident response, Backup restore)
31
+ ```
32
+
33
+ ### 2. Control Layers
34
+
35
+ | Layer | Examples |
36
+ |-------|----------|
37
+ | **Network** | Firewall, WAF, DDoS protection |
38
+ | **Application** | Input validation, authentication |
39
+ | **Data** | Encryption, access controls |
40
+ | **Endpoint** | EDR, patch management |
41
+ | **Process** | Security training, incident response |
42
+
43
+ ### 3. Defense in Depth
44
+
45
+ ```
46
+ ┌──────────────────────┐
47
+ │ Perimeter │ ← Firewall, WAF
48
+ │ ┌──────────────┐ │
49
+ │ │ Network │ │ ← Segmentation, IDS
50
+ │ │ ┌────────┐ │ │
51
+ │ │ │ Host │ │ │ ← EDR, Hardening
52
+ │ │ │ ┌────┐ │ │ │
53
+ │ │ │ │App │ │ │ │ ← Auth, Validation
54
+ │ │ │ │Data│ │ │ │ ← Encryption
55
+ │ │ │ └────┘ │ │ │
56
+ │ │ └────────┘ │ │
57
+ │ └──────────────┘ │
58
+ └──────────────────────┘
59
+ ```
60
+
61
+ ## Templates
62
+
63
+ ### Template 1: Mitigation Model
64
+
65
+ ```python
66
+ from dataclasses import dataclass, field
67
+ from enum import Enum
68
+ from typing import List, Dict, Optional, Set
69
+ from datetime import datetime
70
+
71
+ class ControlType(Enum):
72
+ PREVENTIVE = "preventive"
73
+ DETECTIVE = "detective"
74
+ CORRECTIVE = "corrective"
75
+
76
+
77
+ class ControlLayer(Enum):
78
+ NETWORK = "network"
79
+ APPLICATION = "application"
80
+ DATA = "data"
81
+ ENDPOINT = "endpoint"
82
+ PROCESS = "process"
83
+ PHYSICAL = "physical"
84
+
85
+
86
+ class ImplementationStatus(Enum):
87
+ NOT_IMPLEMENTED = "not_implemented"
88
+ PARTIAL = "partial"
89
+ IMPLEMENTED = "implemented"
90
+ VERIFIED = "verified"
91
+
92
+
93
+ class Effectiveness(Enum):
94
+ NONE = 0
95
+ LOW = 1
96
+ MEDIUM = 2
97
+ HIGH = 3
98
+ VERY_HIGH = 4
99
+
100
+
101
+ @dataclass
102
+ class SecurityControl:
103
+ id: str
104
+ name: str
105
+ description: str
106
+ control_type: ControlType
107
+ layer: ControlLayer
108
+ effectiveness: Effectiveness
109
+ implementation_cost: str # Low, Medium, High
110
+ maintenance_cost: str
111
+ status: ImplementationStatus = ImplementationStatus.NOT_IMPLEMENTED
112
+ mitigates_threats: List[str] = field(default_factory=list)
113
+ dependencies: List[str] = field(default_factory=list)
114
+ technologies: List[str] = field(default_factory=list)
115
+ compliance_refs: List[str] = field(default_factory=list)
116
+
117
+ def coverage_score(self) -> float:
118
+ """Calculate coverage score based on status and effectiveness."""
119
+ status_multiplier = {
120
+ ImplementationStatus.NOT_IMPLEMENTED: 0.0,
121
+ ImplementationStatus.PARTIAL: 0.5,
122
+ ImplementationStatus.IMPLEMENTED: 0.8,
123
+ ImplementationStatus.VERIFIED: 1.0,
124
+ }
125
+ return self.effectiveness.value * status_multiplier[self.status]
126
+
127
+
128
+ @dataclass
129
+ class Threat:
130
+ id: str
131
+ name: str
132
+ category: str # STRIDE category
133
+ description: str
134
+ impact: str # Critical, High, Medium, Low
135
+ likelihood: str
136
+ risk_score: float
137
+
138
+
139
+ @dataclass
140
+ class MitigationMapping:
141
+ threat: Threat
142
+ controls: List[SecurityControl]
143
+ residual_risk: str = "Unknown"
144
+ notes: str = ""
145
+
146
+ def calculate_coverage(self) -> float:
147
+ """Calculate how well controls cover the threat."""
148
+ if not self.controls:
149
+ return 0.0
150
+
151
+ total_score = sum(c.coverage_score() for c in self.controls)
152
+ max_possible = len(self.controls) * Effectiveness.VERY_HIGH.value
153
+
154
+ return (total_score / max_possible) * 100 if max_possible > 0 else 0
155
+
156
+ def has_defense_in_depth(self) -> bool:
157
+ """Check if multiple layers are covered."""
158
+ layers = set(c.layer for c in self.controls if c.status != ImplementationStatus.NOT_IMPLEMENTED)
159
+ return len(layers) >= 2
160
+
161
+ def has_control_diversity(self) -> bool:
162
+ """Check if multiple control types are present."""
163
+ types = set(c.control_type for c in self.controls if c.status != ImplementationStatus.NOT_IMPLEMENTED)
164
+ return len(types) >= 2
165
+
166
+
167
+ @dataclass
168
+ class MitigationPlan:
169
+ name: str
170
+ threats: List[Threat] = field(default_factory=list)
171
+ controls: List[SecurityControl] = field(default_factory=list)
172
+ mappings: List[MitigationMapping] = field(default_factory=list)
173
+
174
+ def get_unmapped_threats(self) -> List[Threat]:
175
+ """Find threats without mitigations."""
176
+ mapped_ids = {m.threat.id for m in self.mappings}
177
+ return [t for t in self.threats if t.id not in mapped_ids]
178
+
179
+ def get_control_coverage(self) -> Dict[str, float]:
180
+ """Get coverage percentage for each threat."""
181
+ return {
182
+ m.threat.id: m.calculate_coverage()
183
+ for m in self.mappings
184
+ }
185
+
186
+ def get_gaps(self) -> List[Dict]:
187
+ """Identify mitigation gaps."""
188
+ gaps = []
189
+ for mapping in self.mappings:
190
+ coverage = mapping.calculate_coverage()
191
+ if coverage < 50:
192
+ gaps.append({
193
+ "threat": mapping.threat.id,
194
+ "threat_name": mapping.threat.name,
195
+ "coverage": coverage,
196
+ "issue": "Insufficient control coverage",
197
+ "recommendation": "Add more controls or improve existing ones"
198
+ })
199
+ if not mapping.has_defense_in_depth():
200
+ gaps.append({
201
+ "threat": mapping.threat.id,
202
+ "threat_name": mapping.threat.name,
203
+ "coverage": coverage,
204
+ "issue": "No defense in depth",
205
+ "recommendation": "Add controls at different layers"
206
+ })
207
+ if not mapping.has_control_diversity():
208
+ gaps.append({
209
+ "threat": mapping.threat.id,
210
+ "threat_name": mapping.threat.name,
211
+ "coverage": coverage,
212
+ "issue": "No control diversity",
213
+ "recommendation": "Add detective/corrective controls"
214
+ })
215
+ return gaps
216
+ ```
217
+
218
+ ### Template 2: Control Library
219
+
220
+ ```python
221
+ class ControlLibrary:
222
+ """Library of standard security controls."""
223
+
224
+ STANDARD_CONTROLS = {
225
+ # Authentication Controls
226
+ "AUTH-001": SecurityControl(
227
+ id="AUTH-001",
228
+ name="Multi-Factor Authentication",
229
+ description="Require MFA for all user authentication",
230
+ control_type=ControlType.PREVENTIVE,
231
+ layer=ControlLayer.APPLICATION,
232
+ effectiveness=Effectiveness.HIGH,
233
+ implementation_cost="Medium",
234
+ maintenance_cost="Low",
235
+ mitigates_threats=["SPOOFING"],
236
+ technologies=["TOTP", "WebAuthn", "SMS OTP"],
237
+ compliance_refs=["PCI-DSS 8.3", "NIST 800-63B"]
238
+ ),
239
+ "AUTH-002": SecurityControl(
240
+ id="AUTH-002",
241
+ name="Account Lockout Policy",
242
+ description="Lock accounts after failed authentication attempts",
243
+ control_type=ControlType.PREVENTIVE,
244
+ layer=ControlLayer.APPLICATION,
245
+ effectiveness=Effectiveness.MEDIUM,
246
+ implementation_cost="Low",
247
+ maintenance_cost="Low",
248
+ mitigates_threats=["SPOOFING"],
249
+ technologies=["Custom implementation"],
250
+ compliance_refs=["PCI-DSS 8.1.6"]
251
+ ),
252
+
253
+ # Input Validation Controls
254
+ "VAL-001": SecurityControl(
255
+ id="VAL-001",
256
+ name="Input Validation Framework",
257
+ description="Validate and sanitize all user input",
258
+ control_type=ControlType.PREVENTIVE,
259
+ layer=ControlLayer.APPLICATION,
260
+ effectiveness=Effectiveness.HIGH,
261
+ implementation_cost="Medium",
262
+ maintenance_cost="Medium",
263
+ mitigates_threats=["TAMPERING", "INJECTION"],
264
+ technologies=["Joi", "Yup", "Pydantic"],
265
+ compliance_refs=["OWASP ASVS V5"]
266
+ ),
267
+ "VAL-002": SecurityControl(
268
+ id="VAL-002",
269
+ name="Web Application Firewall",
270
+ description="Deploy WAF to filter malicious requests",
271
+ control_type=ControlType.PREVENTIVE,
272
+ layer=ControlLayer.NETWORK,
273
+ effectiveness=Effectiveness.MEDIUM,
274
+ implementation_cost="Medium",
275
+ maintenance_cost="Medium",
276
+ mitigates_threats=["TAMPERING", "INJECTION", "DOS"],
277
+ technologies=["AWS WAF", "Cloudflare", "ModSecurity"],
278
+ compliance_refs=["PCI-DSS 6.6"]
279
+ ),
280
+
281
+ # Encryption Controls
282
+ "ENC-001": SecurityControl(
283
+ id="ENC-001",
284
+ name="Data Encryption at Rest",
285
+ description="Encrypt sensitive data in storage",
286
+ control_type=ControlType.PREVENTIVE,
287
+ layer=ControlLayer.DATA,
288
+ effectiveness=Effectiveness.HIGH,
289
+ implementation_cost="Medium",
290
+ maintenance_cost="Low",
291
+ mitigates_threats=["INFORMATION_DISCLOSURE"],
292
+ technologies=["AES-256", "KMS", "HSM"],
293
+ compliance_refs=["PCI-DSS 3.4", "GDPR Art. 32"]
294
+ ),
295
+ "ENC-002": SecurityControl(
296
+ id="ENC-002",
297
+ name="TLS Encryption",
298
+ description="Encrypt data in transit using TLS 1.3",
299
+ control_type=ControlType.PREVENTIVE,
300
+ layer=ControlLayer.NETWORK,
301
+ effectiveness=Effectiveness.HIGH,
302
+ implementation_cost="Low",
303
+ maintenance_cost="Low",
304
+ mitigates_threats=["INFORMATION_DISCLOSURE", "TAMPERING"],
305
+ technologies=["TLS 1.3", "Certificate management"],
306
+ compliance_refs=["PCI-DSS 4.1", "HIPAA"]
307
+ ),
308
+
309
+ # Logging Controls
310
+ "LOG-001": SecurityControl(
311
+ id="LOG-001",
312
+ name="Security Event Logging",
313
+ description="Log all security-relevant events",
314
+ control_type=ControlType.DETECTIVE,
315
+ layer=ControlLayer.APPLICATION,
316
+ effectiveness=Effectiveness.MEDIUM,
317
+ implementation_cost="Low",
318
+ maintenance_cost="Medium",
319
+ mitigates_threats=["REPUDIATION"],
320
+ technologies=["ELK Stack", "Splunk", "CloudWatch"],
321
+ compliance_refs=["PCI-DSS 10.2", "SOC2"]
322
+ ),
323
+ "LOG-002": SecurityControl(
324
+ id="LOG-002",
325
+ name="Log Integrity Protection",
326
+ description="Protect logs from tampering",
327
+ control_type=ControlType.PREVENTIVE,
328
+ layer=ControlLayer.DATA,
329
+ effectiveness=Effectiveness.MEDIUM,
330
+ implementation_cost="Medium",
331
+ maintenance_cost="Low",
332
+ mitigates_threats=["REPUDIATION", "TAMPERING"],
333
+ technologies=["Immutable storage", "Log signing"],
334
+ compliance_refs=["PCI-DSS 10.5"]
335
+ ),
336
+
337
+ # Access Control
338
+ "ACC-001": SecurityControl(
339
+ id="ACC-001",
340
+ name="Role-Based Access Control",
341
+ description="Implement RBAC for authorization",
342
+ control_type=ControlType.PREVENTIVE,
343
+ layer=ControlLayer.APPLICATION,
344
+ effectiveness=Effectiveness.HIGH,
345
+ implementation_cost="Medium",
346
+ maintenance_cost="Medium",
347
+ mitigates_threats=["ELEVATION_OF_PRIVILEGE", "INFORMATION_DISCLOSURE"],
348
+ technologies=["RBAC", "ABAC", "Policy engines"],
349
+ compliance_refs=["PCI-DSS 7.1", "SOC2"]
350
+ ),
351
+
352
+ # Availability Controls
353
+ "AVL-001": SecurityControl(
354
+ id="AVL-001",
355
+ name="Rate Limiting",
356
+ description="Limit request rates to prevent abuse",
357
+ control_type=ControlType.PREVENTIVE,
358
+ layer=ControlLayer.APPLICATION,
359
+ effectiveness=Effectiveness.MEDIUM,
360
+ implementation_cost="Low",
361
+ maintenance_cost="Low",
362
+ mitigates_threats=["DENIAL_OF_SERVICE"],
363
+ technologies=["API Gateway", "Redis", "Token bucket"],
364
+ compliance_refs=["OWASP API Security"]
365
+ ),
366
+ "AVL-002": SecurityControl(
367
+ id="AVL-002",
368
+ name="DDoS Protection",
369
+ description="Deploy DDoS mitigation services",
370
+ control_type=ControlType.PREVENTIVE,
371
+ layer=ControlLayer.NETWORK,
372
+ effectiveness=Effectiveness.HIGH,
373
+ implementation_cost="High",
374
+ maintenance_cost="Medium",
375
+ mitigates_threats=["DENIAL_OF_SERVICE"],
376
+ technologies=["Cloudflare", "AWS Shield", "Akamai"],
377
+ compliance_refs=["NIST CSF"]
378
+ ),
379
+ }
380
+
381
+ def get_controls_for_threat(self, threat_category: str) -> List[SecurityControl]:
382
+ """Get all controls that mitigate a threat category."""
383
+ return [
384
+ c for c in self.STANDARD_CONTROLS.values()
385
+ if threat_category in c.mitigates_threats
386
+ ]
387
+
388
+ def get_controls_by_layer(self, layer: ControlLayer) -> List[SecurityControl]:
389
+ """Get controls for a specific layer."""
390
+ return [c for c in self.STANDARD_CONTROLS.values() if c.layer == layer]
391
+
392
+ def get_control(self, control_id: str) -> Optional[SecurityControl]:
393
+ """Get a specific control by ID."""
394
+ return self.STANDARD_CONTROLS.get(control_id)
395
+
396
+ def recommend_controls(
397
+ self,
398
+ threat: Threat,
399
+ existing_controls: List[str]
400
+ ) -> List[SecurityControl]:
401
+ """Recommend additional controls for a threat."""
402
+ available = self.get_controls_for_threat(threat.category)
403
+ return [c for c in available if c.id not in existing_controls]
404
+ ```
405
+
406
+ ### Template 3: Mitigation Analysis
407
+
408
+ ```python
409
+ class MitigationAnalyzer:
410
+ """Analyze and optimize mitigation strategies."""
411
+
412
+ def __init__(self, plan: MitigationPlan, library: ControlLibrary):
413
+ self.plan = plan
414
+ self.library = library
415
+
416
+ def calculate_overall_risk_reduction(self) -> float:
417
+ """Calculate overall risk reduction percentage."""
418
+ if not self.plan.mappings:
419
+ return 0.0
420
+
421
+ weighted_coverage = 0
422
+ total_weight = 0
423
+
424
+ for mapping in self.plan.mappings:
425
+ # Weight by threat risk score
426
+ weight = mapping.threat.risk_score
427
+ coverage = mapping.calculate_coverage()
428
+ weighted_coverage += weight * coverage
429
+ total_weight += weight
430
+
431
+ return weighted_coverage / total_weight if total_weight > 0 else 0
432
+
433
+ def get_critical_gaps(self) -> List[Dict]:
434
+ """Find critical gaps that need immediate attention."""
435
+ gaps = self.plan.get_gaps()
436
+ critical_threats = {t.id for t in self.plan.threats if t.impact == "Critical"}
437
+
438
+ return [g for g in gaps if g["threat"] in critical_threats]
439
+
440
+ def optimize_budget(
441
+ self,
442
+ budget: float,
443
+ cost_map: Dict[str, float]
444
+ ) -> List[SecurityControl]:
445
+ """Select controls that maximize risk reduction within budget."""
446
+ # Simple greedy approach - can be replaced with optimization algorithm
447
+ recommended = []
448
+ remaining_budget = budget
449
+ unmapped = self.plan.get_unmapped_threats()
450
+
451
+ # Sort controls by effectiveness/cost ratio
452
+ all_controls = list(self.library.STANDARD_CONTROLS.values())
453
+ controls_with_value = []
454
+
455
+ for control in all_controls:
456
+ if control.status == ImplementationStatus.NOT_IMPLEMENTED:
457
+ cost = cost_map.get(control.id, float('inf'))
458
+ if cost <= remaining_budget:
459
+ # Calculate value as threats covered * effectiveness / cost
460
+ threats_covered = len([
461
+ t for t in unmapped
462
+ if t.category in control.mitigates_threats
463
+ ])
464
+ if threats_covered > 0:
465
+ value = (threats_covered * control.effectiveness.value) / cost
466
+ controls_with_value.append((control, value, cost))
467
+
468
+ # Sort by value (higher is better)
469
+ controls_with_value.sort(key=lambda x: x[1], reverse=True)
470
+
471
+ for control, value, cost in controls_with_value:
472
+ if cost <= remaining_budget:
473
+ recommended.append(control)
474
+ remaining_budget -= cost
475
+
476
+ return recommended
477
+
478
+ def generate_roadmap(self) -> List[Dict]:
479
+ """Generate implementation roadmap by priority."""
480
+ roadmap = []
481
+ gaps = self.plan.get_gaps()
482
+
483
+ # Phase 1: Critical threats with low coverage
484
+ phase1 = []
485
+ for gap in gaps:
486
+ mapping = next(
487
+ (m for m in self.plan.mappings if m.threat.id == gap["threat"]),
488
+ None
489
+ )
490
+ if mapping and mapping.threat.impact == "Critical":
491
+ controls = self.library.get_controls_for_threat(mapping.threat.category)
492
+ phase1.extend([
493
+ {
494
+ "threat": gap["threat"],
495
+ "control": c.id,
496
+ "control_name": c.name,
497
+ "phase": 1,
498
+ "priority": "Critical"
499
+ }
500
+ for c in controls
501
+ if c.status == ImplementationStatus.NOT_IMPLEMENTED
502
+ ])
503
+
504
+ roadmap.extend(phase1[:5]) # Top 5 for phase 1
505
+
506
+ # Phase 2: High impact threats
507
+ phase2 = []
508
+ for gap in gaps:
509
+ mapping = next(
510
+ (m for m in self.plan.mappings if m.threat.id == gap["threat"]),
511
+ None
512
+ )
513
+ if mapping and mapping.threat.impact == "High":
514
+ controls = self.library.get_controls_for_threat(mapping.threat.category)
515
+ phase2.extend([
516
+ {
517
+ "threat": gap["threat"],
518
+ "control": c.id,
519
+ "control_name": c.name,
520
+ "phase": 2,
521
+ "priority": "High"
522
+ }
523
+ for c in controls
524
+ if c.status == ImplementationStatus.NOT_IMPLEMENTED
525
+ ])
526
+
527
+ roadmap.extend(phase2[:5]) # Top 5 for phase 2
528
+
529
+ return roadmap
530
+
531
+ def defense_in_depth_analysis(self) -> Dict[str, List[str]]:
532
+ """Analyze defense in depth coverage."""
533
+ layer_coverage = {layer.value: [] for layer in ControlLayer}
534
+
535
+ for mapping in self.plan.mappings:
536
+ for control in mapping.controls:
537
+ if control.status in [ImplementationStatus.IMPLEMENTED, ImplementationStatus.VERIFIED]:
538
+ layer_coverage[control.layer.value].append(control.id)
539
+
540
+ return layer_coverage
541
+
542
+ def generate_report(self) -> str:
543
+ """Generate comprehensive mitigation report."""
544
+ risk_reduction = self.calculate_overall_risk_reduction()
545
+ gaps = self.plan.get_gaps()
546
+ critical_gaps = self.get_critical_gaps()
547
+ layer_coverage = self.defense_in_depth_analysis()
548
+
549
+ report = f"""
550
+ # Threat Mitigation Report
551
+
552
+ ## Executive Summary
553
+ - **Overall Risk Reduction:** {risk_reduction:.1f}%
554
+ - **Total Threats:** {len(self.plan.threats)}
555
+ - **Total Controls:** {len(self.plan.controls)}
556
+ - **Identified Gaps:** {len(gaps)}
557
+ - **Critical Gaps:** {len(critical_gaps)}
558
+
559
+ ## Defense in Depth Coverage
560
+ {self._format_layer_coverage(layer_coverage)}
561
+
562
+ ## Critical Gaps Requiring Immediate Action
563
+ {self._format_gaps(critical_gaps)}
564
+
565
+ ## Recommendations
566
+ {self._format_recommendations()}
567
+
568
+ ## Implementation Roadmap
569
+ {self._format_roadmap()}
570
+ """
571
+ return report
572
+
573
+ def _format_layer_coverage(self, coverage: Dict[str, List[str]]) -> str:
574
+ lines = []
575
+ for layer, controls in coverage.items():
576
+ status = "✓" if controls else "✗"
577
+ lines.append(f"- {layer}: {status} ({len(controls)} controls)")
578
+ return "\n".join(lines)
579
+
580
+ def _format_gaps(self, gaps: List[Dict]) -> str:
581
+ if not gaps:
582
+ return "No critical gaps identified."
583
+ lines = []
584
+ for gap in gaps:
585
+ lines.append(f"- **{gap['threat_name']}**: {gap['issue']}")
586
+ lines.append(f" - Coverage: {gap['coverage']:.1f}%")
587
+ lines.append(f" - Recommendation: {gap['recommendation']}")
588
+ return "\n".join(lines)
589
+
590
+ def _format_recommendations(self) -> str:
591
+ recommendations = []
592
+ layer_coverage = self.defense_in_depth_analysis()
593
+
594
+ for layer, controls in layer_coverage.items():
595
+ if not controls:
596
+ recommendations.append(f"- Add {layer} layer controls")
597
+
598
+ gaps = self.plan.get_gaps()
599
+ if any(g["issue"] == "No control diversity" for g in gaps):
600
+ recommendations.append("- Add more detective and corrective controls")
601
+
602
+ return "\n".join(recommendations) if recommendations else "Current coverage is adequate."
603
+
604
+ def _format_roadmap(self) -> str:
605
+ roadmap = self.generate_roadmap()
606
+ if not roadmap:
607
+ return "No additional controls recommended at this time."
608
+
609
+ lines = []
610
+ current_phase = 0
611
+ for item in roadmap:
612
+ if item["phase"] != current_phase:
613
+ current_phase = item["phase"]
614
+ lines.append(f"\n### Phase {current_phase}")
615
+ lines.append(f"- [{item['priority']}] {item['control_name']} (for {item['threat']})")
616
+
617
+ return "\n".join(lines)
618
+ ```
619
+
620
+ ### Template 4: Control Effectiveness Testing
621
+
622
+ ```python
623
+ from dataclasses import dataclass
624
+ from typing import List, Callable, Any
625
+ import asyncio
626
+
627
+ @dataclass
628
+ class ControlTest:
629
+ control_id: str
630
+ test_name: str
631
+ test_function: Callable[[], bool]
632
+ expected_result: bool
633
+ description: str
634
+
635
+
636
+ class ControlTester:
637
+ """Test control effectiveness."""
638
+
639
+ def __init__(self):
640
+ self.tests: List[ControlTest] = []
641
+ self.results: List[Dict] = []
642
+
643
+ def add_test(self, test: ControlTest) -> None:
644
+ self.tests.append(test)
645
+
646
+ async def run_tests(self) -> List[Dict]:
647
+ """Run all control tests."""
648
+ self.results = []
649
+
650
+ for test in self.tests:
651
+ try:
652
+ result = test.test_function()
653
+ passed = result == test.expected_result
654
+ self.results.append({
655
+ "control_id": test.control_id,
656
+ "test_name": test.test_name,
657
+ "passed": passed,
658
+ "actual_result": result,
659
+ "expected_result": test.expected_result,
660
+ "description": test.description,
661
+ "error": None
662
+ })
663
+ except Exception as e:
664
+ self.results.append({
665
+ "control_id": test.control_id,
666
+ "test_name": test.test_name,
667
+ "passed": False,
668
+ "actual_result": None,
669
+ "expected_result": test.expected_result,
670
+ "description": test.description,
671
+ "error": str(e)
672
+ })
673
+
674
+ return self.results
675
+
676
+ def get_effectiveness_score(self, control_id: str) -> float:
677
+ """Calculate effectiveness score for a control."""
678
+ control_results = [r for r in self.results if r["control_id"] == control_id]
679
+ if not control_results:
680
+ return 0.0
681
+
682
+ passed = sum(1 for r in control_results if r["passed"])
683
+ return (passed / len(control_results)) * 100
684
+
685
+ def generate_test_report(self) -> str:
686
+ """Generate test results report."""
687
+ if not self.results:
688
+ return "No tests have been run."
689
+
690
+ total = len(self.results)
691
+ passed = sum(1 for r in self.results if r["passed"])
692
+
693
+ report = f"""
694
+ # Control Effectiveness Test Report
695
+
696
+ ## Summary
697
+ - **Total Tests:** {total}
698
+ - **Passed:** {passed}
699
+ - **Failed:** {total - passed}
700
+ - **Pass Rate:** {(passed/total)*100:.1f}%
701
+
702
+ ## Results by Control
703
+ """
704
+ # Group by control
705
+ controls = {}
706
+ for result in self.results:
707
+ cid = result["control_id"]
708
+ if cid not in controls:
709
+ controls[cid] = []
710
+ controls[cid].append(result)
711
+
712
+ for control_id, results in controls.items():
713
+ score = self.get_effectiveness_score(control_id)
714
+ report += f"\n### {control_id} (Effectiveness: {score:.1f}%)\n"
715
+ for r in results:
716
+ status = "✓" if r["passed"] else "✗"
717
+ report += f"- {status} {r['test_name']}\n"
718
+ if r["error"]:
719
+ report += f" - Error: {r['error']}\n"
720
+
721
+ return report
722
+ ```
723
+
724
+ ## Best Practices
725
+
726
+ ### Do's
727
+ - **Map all threats** - No threat should be unmapped
728
+ - **Layer controls** - Defense in depth is essential
729
+ - **Mix control types** - Preventive, detective, corrective
730
+ - **Track effectiveness** - Measure and improve
731
+ - **Review regularly** - Controls degrade over time
732
+
733
+ ### Don'ts
734
+ - **Don't rely on single controls** - Single points of failure
735
+ - **Don't ignore cost** - ROI matters
736
+ - **Don't skip testing** - Untested controls may fail
737
+ - **Don't set and forget** - Continuous improvement
738
+ - **Don't ignore people/process** - Technology alone isn't enough
739
+
740
+ ## Resources
741
+
742
+ - [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework)
743
+ - [CIS Controls](https://www.cisecurity.org/controls)
744
+ - [MITRE D3FEND](https://d3fend.mitre.org/)