@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,655 @@
1
+ # STRIDE Analysis Patterns Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # STRIDE Analysis Patterns
6
+
7
+ Systematic threat identification using the STRIDE methodology.
8
+
9
+ ## When to Use This Skill
10
+
11
+ - Starting new threat modeling sessions
12
+ - Analyzing existing system architecture
13
+ - Reviewing security design decisions
14
+ - Creating threat documentation
15
+ - Training teams on threat identification
16
+ - Compliance and audit preparation
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. STRIDE Categories
21
+
22
+ ```
23
+ S - Spoofing → Authentication threats
24
+ T - Tampering → Integrity threats
25
+ R - Repudiation → Non-repudiation threats
26
+ I - Information → Confidentiality threats
27
+ Disclosure
28
+ D - Denial of → Availability threats
29
+ Service
30
+ E - Elevation of → Authorization threats
31
+ Privilege
32
+ ```
33
+
34
+ ### 2. Threat Analysis Matrix
35
+
36
+ | Category | Question | Control Family |
37
+ |----------|----------|----------------|
38
+ | **Spoofing** | Can attacker pretend to be someone else? | Authentication |
39
+ | **Tampering** | Can attacker modify data in transit/rest? | Integrity |
40
+ | **Repudiation** | Can attacker deny actions? | Logging/Audit |
41
+ | **Info Disclosure** | Can attacker access unauthorized data? | Encryption |
42
+ | **DoS** | Can attacker disrupt availability? | Rate limiting |
43
+ | **Elevation** | Can attacker gain higher privileges? | Authorization |
44
+
45
+ ## Templates
46
+
47
+ ### Template 1: STRIDE Threat Model Document
48
+
49
+ ```markdown
50
+ # Threat Model: [System Name]
51
+
52
+ ## 1. System Overview
53
+
54
+ ### 1.1 Description
55
+ [Brief description of the system and its purpose]
56
+
57
+ ### 1.2 Data Flow Diagram
58
+ ```
59
+ [User] --> [Web App] --> [API Gateway] --> [Backend Services]
60
+ |
61
+ v
62
+ [Database]
63
+ ```
64
+
65
+ ### 1.3 Trust Boundaries
66
+ - **External Boundary**: Internet to DMZ
67
+ - **Internal Boundary**: DMZ to Internal Network
68
+ - **Data Boundary**: Application to Database
69
+
70
+ ## 2. Assets
71
+
72
+ | Asset | Sensitivity | Description |
73
+ |-------|-------------|-------------|
74
+ | User Credentials | High | Authentication tokens, passwords |
75
+ | Personal Data | High | PII, financial information |
76
+ | Session Data | Medium | Active user sessions |
77
+ | Application Logs | Medium | System activity records |
78
+ | Configuration | High | System settings, secrets |
79
+
80
+ ## 3. STRIDE Analysis
81
+
82
+ ### 3.1 Spoofing Threats
83
+
84
+ | ID | Threat | Target | Impact | Likelihood |
85
+ |----|--------|--------|--------|------------|
86
+ | S1 | Session hijacking | User sessions | High | Medium |
87
+ | S2 | Token forgery | JWT tokens | High | Low |
88
+ | S3 | Credential stuffing | Login endpoint | High | High |
89
+
90
+ **Mitigations:**
91
+ - [ ] Implement MFA
92
+ - [ ] Use secure session management
93
+ - [ ] Implement account lockout policies
94
+
95
+ ### 3.2 Tampering Threats
96
+
97
+ | ID | Threat | Target | Impact | Likelihood |
98
+ |----|--------|--------|--------|------------|
99
+ | T1 | SQL injection | Database queries | Critical | Medium |
100
+ | T2 | Parameter manipulation | API requests | High | High |
101
+ | T3 | File upload abuse | File storage | High | Medium |
102
+
103
+ **Mitigations:**
104
+ - [ ] Input validation on all endpoints
105
+ - [ ] Parameterized queries
106
+ - [ ] File type validation
107
+
108
+ ### 3.3 Repudiation Threats
109
+
110
+ | ID | Threat | Target | Impact | Likelihood |
111
+ |----|--------|--------|--------|------------|
112
+ | R1 | Transaction denial | Financial ops | High | Medium |
113
+ | R2 | Access log tampering | Audit logs | Medium | Low |
114
+ | R3 | Action attribution | User actions | Medium | Medium |
115
+
116
+ **Mitigations:**
117
+ - [ ] Comprehensive audit logging
118
+ - [ ] Log integrity protection
119
+ - [ ] Digital signatures for critical actions
120
+
121
+ ### 3.4 Information Disclosure Threats
122
+
123
+ | ID | Threat | Target | Impact | Likelihood |
124
+ |----|--------|--------|--------|------------|
125
+ | I1 | Data breach | User PII | Critical | Medium |
126
+ | I2 | Error message leakage | System info | Low | High |
127
+ | I3 | Insecure transmission | Network traffic | High | Medium |
128
+
129
+ **Mitigations:**
130
+ - [ ] Encryption at rest and in transit
131
+ - [ ] Sanitize error messages
132
+ - [ ] Implement TLS 1.3
133
+
134
+ ### 3.5 Denial of Service Threats
135
+
136
+ | ID | Threat | Target | Impact | Likelihood |
137
+ |----|--------|--------|--------|------------|
138
+ | D1 | Resource exhaustion | API servers | High | High |
139
+ | D2 | Database overload | Database | Critical | Medium |
140
+ | D3 | Bandwidth saturation | Network | High | Medium |
141
+
142
+ **Mitigations:**
143
+ - [ ] Rate limiting
144
+ - [ ] Auto-scaling
145
+ - [ ] DDoS protection
146
+
147
+ ### 3.6 Elevation of Privilege Threats
148
+
149
+ | ID | Threat | Target | Impact | Likelihood |
150
+ |----|--------|--------|--------|------------|
151
+ | E1 | IDOR vulnerabilities | User resources | High | High |
152
+ | E2 | Role manipulation | Admin access | Critical | Low |
153
+ | E3 | JWT claim tampering | Authorization | High | Medium |
154
+
155
+ **Mitigations:**
156
+ - [ ] Proper authorization checks
157
+ - [ ] Principle of least privilege
158
+ - [ ] Server-side role validation
159
+
160
+ ## 4. Risk Assessment
161
+
162
+ ### 4.1 Risk Matrix
163
+
164
+ ```
165
+ IMPACT
166
+ Low Med High Crit
167
+ Low 1 2 3 4
168
+ L Med 2 4 6 8
169
+ I High 3 6 9 12
170
+ K Crit 4 8 12 16
171
+ ```
172
+
173
+ ### 4.2 Prioritized Risks
174
+
175
+ | Rank | Threat | Risk Score | Priority |
176
+ |------|--------|------------|----------|
177
+ | 1 | SQL Injection (T1) | 12 | Critical |
178
+ | 2 | IDOR (E1) | 9 | High |
179
+ | 3 | Credential Stuffing (S3) | 9 | High |
180
+ | 4 | Data Breach (I1) | 8 | High |
181
+
182
+ ## 5. Recommendations
183
+
184
+ ### Immediate Actions
185
+ 1. Implement input validation framework
186
+ 2. Add rate limiting to authentication endpoints
187
+ 3. Enable comprehensive audit logging
188
+
189
+ ### Short-term (30 days)
190
+ 1. Deploy WAF with OWASP ruleset
191
+ 2. Implement MFA for sensitive operations
192
+ 3. Encrypt all PII at rest
193
+
194
+ ### Long-term (90 days)
195
+ 1. Security awareness training
196
+ 2. Penetration testing
197
+ 3. Bug bounty program
198
+ ```
199
+
200
+ ### Template 2: STRIDE Analysis Code
201
+
202
+ ```python
203
+ from dataclasses import dataclass, field
204
+ from enum import Enum
205
+ from typing import List, Dict, Optional
206
+ import json
207
+
208
+ class StrideCategory(Enum):
209
+ SPOOFING = "S"
210
+ TAMPERING = "T"
211
+ REPUDIATION = "R"
212
+ INFORMATION_DISCLOSURE = "I"
213
+ DENIAL_OF_SERVICE = "D"
214
+ ELEVATION_OF_PRIVILEGE = "E"
215
+
216
+
217
+ class Impact(Enum):
218
+ LOW = 1
219
+ MEDIUM = 2
220
+ HIGH = 3
221
+ CRITICAL = 4
222
+
223
+
224
+ class Likelihood(Enum):
225
+ LOW = 1
226
+ MEDIUM = 2
227
+ HIGH = 3
228
+ CRITICAL = 4
229
+
230
+
231
+ @dataclass
232
+ class Threat:
233
+ id: str
234
+ category: StrideCategory
235
+ title: str
236
+ description: str
237
+ target: str
238
+ impact: Impact
239
+ likelihood: Likelihood
240
+ mitigations: List[str] = field(default_factory=list)
241
+ status: str = "open"
242
+
243
+ @property
244
+ def risk_score(self) -> int:
245
+ return self.impact.value * self.likelihood.value
246
+
247
+ @property
248
+ def risk_level(self) -> str:
249
+ score = self.risk_score
250
+ if score >= 12:
251
+ return "Critical"
252
+ elif score >= 6:
253
+ return "High"
254
+ elif score >= 3:
255
+ return "Medium"
256
+ return "Low"
257
+
258
+
259
+ @dataclass
260
+ class Asset:
261
+ name: str
262
+ sensitivity: str
263
+ description: str
264
+ data_classification: str
265
+
266
+
267
+ @dataclass
268
+ class TrustBoundary:
269
+ name: str
270
+ description: str
271
+ from_zone: str
272
+ to_zone: str
273
+
274
+
275
+ @dataclass
276
+ class ThreatModel:
277
+ name: str
278
+ version: str
279
+ description: str
280
+ assets: List[Asset] = field(default_factory=list)
281
+ boundaries: List[TrustBoundary] = field(default_factory=list)
282
+ threats: List[Threat] = field(default_factory=list)
283
+
284
+ def add_threat(self, threat: Threat) -> None:
285
+ self.threats.append(threat)
286
+
287
+ def get_threats_by_category(self, category: StrideCategory) -> List[Threat]:
288
+ return [t for t in self.threats if t.category == category]
289
+
290
+ def get_critical_threats(self) -> List[Threat]:
291
+ return [t for t in self.threats if t.risk_level in ("Critical", "High")]
292
+
293
+ def generate_report(self) -> Dict:
294
+ """Generate threat model report."""
295
+ return {
296
+ "summary": {
297
+ "name": self.name,
298
+ "version": self.version,
299
+ "total_threats": len(self.threats),
300
+ "critical_threats": len([t for t in self.threats if t.risk_level == "Critical"]),
301
+ "high_threats": len([t for t in self.threats if t.risk_level == "High"]),
302
+ },
303
+ "by_category": {
304
+ cat.name: len(self.get_threats_by_category(cat))
305
+ for cat in StrideCategory
306
+ },
307
+ "top_risks": [
308
+ {
309
+ "id": t.id,
310
+ "title": t.title,
311
+ "risk_score": t.risk_score,
312
+ "risk_level": t.risk_level
313
+ }
314
+ for t in sorted(self.threats, key=lambda x: x.risk_score, reverse=True)[:10]
315
+ ]
316
+ }
317
+
318
+
319
+ class StrideAnalyzer:
320
+ """Automated STRIDE analysis helper."""
321
+
322
+ STRIDE_QUESTIONS = {
323
+ StrideCategory.SPOOFING: [
324
+ "Can an attacker impersonate a legitimate user?",
325
+ "Are authentication tokens properly validated?",
326
+ "Can session identifiers be predicted or stolen?",
327
+ "Is multi-factor authentication available?",
328
+ ],
329
+ StrideCategory.TAMPERING: [
330
+ "Can data be modified in transit?",
331
+ "Can data be modified at rest?",
332
+ "Are input validation controls sufficient?",
333
+ "Can an attacker manipulate application logic?",
334
+ ],
335
+ StrideCategory.REPUDIATION: [
336
+ "Are all security-relevant actions logged?",
337
+ "Can logs be tampered with?",
338
+ "Is there sufficient attribution for actions?",
339
+ "Are timestamps reliable and synchronized?",
340
+ ],
341
+ StrideCategory.INFORMATION_DISCLOSURE: [
342
+ "Is sensitive data encrypted at rest?",
343
+ "Is sensitive data encrypted in transit?",
344
+ "Can error messages reveal sensitive information?",
345
+ "Are access controls properly enforced?",
346
+ ],
347
+ StrideCategory.DENIAL_OF_SERVICE: [
348
+ "Are rate limits implemented?",
349
+ "Can resources be exhausted by malicious input?",
350
+ "Is there protection against amplification attacks?",
351
+ "Are there single points of failure?",
352
+ ],
353
+ StrideCategory.ELEVATION_OF_PRIVILEGE: [
354
+ "Are authorization checks performed consistently?",
355
+ "Can users access other users' resources?",
356
+ "Can privilege escalation occur through parameter manipulation?",
357
+ "Is the principle of least privilege followed?",
358
+ ],
359
+ }
360
+
361
+ def generate_questionnaire(self, component: str) -> List[Dict]:
362
+ """Generate STRIDE questionnaire for a component."""
363
+ questionnaire = []
364
+ for category, questions in self.STRIDE_QUESTIONS.items():
365
+ for q in questions:
366
+ questionnaire.append({
367
+ "component": component,
368
+ "category": category.name,
369
+ "question": q,
370
+ "answer": None,
371
+ "notes": ""
372
+ })
373
+ return questionnaire
374
+
375
+ def suggest_mitigations(self, category: StrideCategory) -> List[str]:
376
+ """Suggest common mitigations for a STRIDE category."""
377
+ mitigations = {
378
+ StrideCategory.SPOOFING: [
379
+ "Implement multi-factor authentication",
380
+ "Use secure session management",
381
+ "Implement account lockout policies",
382
+ "Use cryptographically secure tokens",
383
+ "Validate authentication at every request",
384
+ ],
385
+ StrideCategory.TAMPERING: [
386
+ "Implement input validation",
387
+ "Use parameterized queries",
388
+ "Apply integrity checks (HMAC, signatures)",
389
+ "Implement Content Security Policy",
390
+ "Use immutable infrastructure",
391
+ ],
392
+ StrideCategory.REPUDIATION: [
393
+ "Enable comprehensive audit logging",
394
+ "Protect log integrity",
395
+ "Implement digital signatures",
396
+ "Use centralized, tamper-evident logging",
397
+ "Maintain accurate timestamps",
398
+ ],
399
+ StrideCategory.INFORMATION_DISCLOSURE: [
400
+ "Encrypt data at rest and in transit",
401
+ "Implement proper access controls",
402
+ "Sanitize error messages",
403
+ "Use secure defaults",
404
+ "Implement data classification",
405
+ ],
406
+ StrideCategory.DENIAL_OF_SERVICE: [
407
+ "Implement rate limiting",
408
+ "Use auto-scaling",
409
+ "Deploy DDoS protection",
410
+ "Implement circuit breakers",
411
+ "Set resource quotas",
412
+ ],
413
+ StrideCategory.ELEVATION_OF_PRIVILEGE: [
414
+ "Implement proper authorization",
415
+ "Follow principle of least privilege",
416
+ "Validate permissions server-side",
417
+ "Use role-based access control",
418
+ "Implement security boundaries",
419
+ ],
420
+ }
421
+ return mitigations.get(category, [])
422
+ ```
423
+
424
+ ### Template 3: Data Flow Diagram Analysis
425
+
426
+ ```python
427
+ from dataclasses import dataclass
428
+ from typing import List, Set, Tuple
429
+ from enum import Enum
430
+
431
+ class ElementType(Enum):
432
+ EXTERNAL_ENTITY = "external"
433
+ PROCESS = "process"
434
+ DATA_STORE = "datastore"
435
+ DATA_FLOW = "dataflow"
436
+
437
+
438
+ @dataclass
439
+ class DFDElement:
440
+ id: str
441
+ name: str
442
+ type: ElementType
443
+ trust_level: int # 0 = untrusted, higher = more trusted
444
+ description: str = ""
445
+
446
+
447
+ @dataclass
448
+ class DataFlow:
449
+ id: str
450
+ name: str
451
+ source: str
452
+ destination: str
453
+ data_type: str
454
+ protocol: str
455
+ encrypted: bool = False
456
+
457
+
458
+ class DFDAnalyzer:
459
+ """Analyze Data Flow Diagrams for STRIDE threats."""
460
+
461
+ def __init__(self):
462
+ self.elements: Dict[str, DFDElement] = {}
463
+ self.flows: List[DataFlow] = []
464
+
465
+ def add_element(self, element: DFDElement) -> None:
466
+ self.elements[element.id] = element
467
+
468
+ def add_flow(self, flow: DataFlow) -> None:
469
+ self.flows.append(flow)
470
+
471
+ def find_trust_boundary_crossings(self) -> List[Tuple[DataFlow, int]]:
472
+ """Find data flows that cross trust boundaries."""
473
+ crossings = []
474
+ for flow in self.flows:
475
+ source = self.elements.get(flow.source)
476
+ dest = self.elements.get(flow.destination)
477
+ if source and dest and source.trust_level != dest.trust_level:
478
+ trust_diff = abs(source.trust_level - dest.trust_level)
479
+ crossings.append((flow, trust_diff))
480
+ return sorted(crossings, key=lambda x: x[1], reverse=True)
481
+
482
+ def identify_threats_per_element(self) -> Dict[str, List[StrideCategory]]:
483
+ """Map applicable STRIDE categories to element types."""
484
+ threat_mapping = {
485
+ ElementType.EXTERNAL_ENTITY: [
486
+ StrideCategory.SPOOFING,
487
+ StrideCategory.REPUDIATION,
488
+ ],
489
+ ElementType.PROCESS: [
490
+ StrideCategory.SPOOFING,
491
+ StrideCategory.TAMPERING,
492
+ StrideCategory.REPUDIATION,
493
+ StrideCategory.INFORMATION_DISCLOSURE,
494
+ StrideCategory.DENIAL_OF_SERVICE,
495
+ StrideCategory.ELEVATION_OF_PRIVILEGE,
496
+ ],
497
+ ElementType.DATA_STORE: [
498
+ StrideCategory.TAMPERING,
499
+ StrideCategory.REPUDIATION,
500
+ StrideCategory.INFORMATION_DISCLOSURE,
501
+ StrideCategory.DENIAL_OF_SERVICE,
502
+ ],
503
+ ElementType.DATA_FLOW: [
504
+ StrideCategory.TAMPERING,
505
+ StrideCategory.INFORMATION_DISCLOSURE,
506
+ StrideCategory.DENIAL_OF_SERVICE,
507
+ ],
508
+ }
509
+
510
+ result = {}
511
+ for elem_id, elem in self.elements.items():
512
+ result[elem_id] = threat_mapping.get(elem.type, [])
513
+ return result
514
+
515
+ def analyze_unencrypted_flows(self) -> List[DataFlow]:
516
+ """Find unencrypted data flows crossing trust boundaries."""
517
+ risky_flows = []
518
+ for flow in self.flows:
519
+ if not flow.encrypted:
520
+ source = self.elements.get(flow.source)
521
+ dest = self.elements.get(flow.destination)
522
+ if source and dest and source.trust_level != dest.trust_level:
523
+ risky_flows.append(flow)
524
+ return risky_flows
525
+
526
+ def generate_threat_enumeration(self) -> List[Dict]:
527
+ """Generate comprehensive threat enumeration."""
528
+ threats = []
529
+ element_threats = self.identify_threats_per_element()
530
+
531
+ for elem_id, categories in element_threats.items():
532
+ elem = self.elements[elem_id]
533
+ for category in categories:
534
+ threats.append({
535
+ "element_id": elem_id,
536
+ "element_name": elem.name,
537
+ "element_type": elem.type.value,
538
+ "stride_category": category.name,
539
+ "description": f"{category.name} threat against {elem.name}",
540
+ "trust_level": elem.trust_level
541
+ })
542
+
543
+ return threats
544
+ ```
545
+
546
+ ### Template 4: STRIDE per Interaction
547
+
548
+ ```python
549
+ from typing import List, Dict, Optional
550
+ from dataclasses import dataclass
551
+
552
+ @dataclass
553
+ class Interaction:
554
+ """Represents an interaction between two components."""
555
+ id: str
556
+ source: str
557
+ target: str
558
+ action: str
559
+ data: str
560
+ protocol: str
561
+
562
+
563
+ class StridePerInteraction:
564
+ """Apply STRIDE to each interaction in the system."""
565
+
566
+ INTERACTION_THREATS = {
567
+ # Source type -> Target type -> Applicable threats
568
+ ("external", "process"): {
569
+ "S": "External entity spoofing identity to process",
570
+ "T": "Tampering with data sent to process",
571
+ "R": "External entity denying sending data",
572
+ "I": "Data exposure during transmission",
573
+ "D": "Flooding process with requests",
574
+ "E": "Exploiting process to gain privileges",
575
+ },
576
+ ("process", "datastore"): {
577
+ "T": "Process tampering with stored data",
578
+ "R": "Process denying data modifications",
579
+ "I": "Unauthorized data access by process",
580
+ "D": "Process exhausting storage resources",
581
+ },
582
+ ("process", "process"): {
583
+ "S": "Process spoofing another process",
584
+ "T": "Tampering with inter-process data",
585
+ "I": "Data leakage between processes",
586
+ "D": "One process overwhelming another",
587
+ "E": "Process gaining elevated access",
588
+ },
589
+ }
590
+
591
+ def analyze_interaction(
592
+ self,
593
+ interaction: Interaction,
594
+ source_type: str,
595
+ target_type: str
596
+ ) -> List[Dict]:
597
+ """Analyze a single interaction for STRIDE threats."""
598
+ threats = []
599
+ key = (source_type, target_type)
600
+
601
+ applicable_threats = self.INTERACTION_THREATS.get(key, {})
602
+
603
+ for stride_code, description in applicable_threats.items():
604
+ threats.append({
605
+ "interaction_id": interaction.id,
606
+ "source": interaction.source,
607
+ "target": interaction.target,
608
+ "stride_category": stride_code,
609
+ "threat_description": description,
610
+ "context": f"{interaction.action} - {interaction.data}",
611
+ })
612
+
613
+ return threats
614
+
615
+ def generate_threat_matrix(
616
+ self,
617
+ interactions: List[Interaction],
618
+ element_types: Dict[str, str]
619
+ ) -> List[Dict]:
620
+ """Generate complete threat matrix for all interactions."""
621
+ all_threats = []
622
+
623
+ for interaction in interactions:
624
+ source_type = element_types.get(interaction.source, "unknown")
625
+ target_type = element_types.get(interaction.target, "unknown")
626
+
627
+ threats = self.analyze_interaction(
628
+ interaction, source_type, target_type
629
+ )
630
+ all_threats.extend(threats)
631
+
632
+ return all_threats
633
+ ```
634
+
635
+ ## Best Practices
636
+
637
+ ### Do's
638
+ - **Involve stakeholders** - Security, dev, and ops perspectives
639
+ - **Be systematic** - Cover all STRIDE categories
640
+ - **Prioritize realistically** - Focus on high-impact threats
641
+ - **Update regularly** - Threat models are living documents
642
+ - **Use visual aids** - DFDs help communication
643
+
644
+ ### Don'ts
645
+ - **Don't skip categories** - Each reveals different threats
646
+ - **Don't assume security** - Question every component
647
+ - **Don't work in isolation** - Collaborative modeling is better
648
+ - **Don't ignore low-probability** - High-impact threats matter
649
+ - **Don't stop at identification** - Follow through with mitigations
650
+
651
+ ## Resources
652
+
653
+ - [Microsoft STRIDE Documentation](https://docs.microsoft.com/en-us/azure/security/develop/threat-modeling-tool-threats)
654
+ - [OWASP Threat Modeling](https://owasp.org/www-community/Threat_Modeling)
655
+ - [Threat Modeling: Designing for Security](https://www.wiley.com/en-us/Threat+Modeling%3A+Designing+for+Security-p-9781118809990)