@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,449 @@
1
+ ---
2
+ name: event-store-design
3
+ description: Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
4
+ ---
5
+
6
+ # Event Store Design
7
+
8
+ Comprehensive guide to designing event stores for event-sourced applications.
9
+
10
+ ## Do not use this skill when
11
+
12
+ - The task is unrelated to event store design
13
+ - You need a different domain or tool outside this scope
14
+
15
+ ## Instructions
16
+
17
+ - Clarify goals, constraints, and required inputs.
18
+ - Apply relevant best practices and validate outcomes.
19
+ - Provide actionable steps and verification.
20
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
21
+
22
+ ## Use this skill when
23
+
24
+ - Designing event sourcing infrastructure
25
+ - Choosing between event store technologies
26
+ - Implementing custom event stores
27
+ - Optimizing event storage and retrieval
28
+ - Setting up event store schemas
29
+ - Planning for event store scaling
30
+
31
+ ## Core Concepts
32
+
33
+ ### 1. Event Store Architecture
34
+
35
+ ```
36
+ ┌─────────────────────────────────────────────────────┐
37
+ │ Event Store │
38
+ ├─────────────────────────────────────────────────────┤
39
+ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
40
+ │ │ Stream 1 │ │ Stream 2 │ │ Stream 3 │ │
41
+ │ │ (Aggregate) │ │ (Aggregate) │ │ (Aggregate) │ │
42
+ │ ├─────────────┤ ├─────────────┤ ├─────────────┤ │
43
+ │ │ Event 1 │ │ Event 1 │ │ Event 1 │ │
44
+ │ │ Event 2 │ │ Event 2 │ │ Event 2 │ │
45
+ │ │ Event 3 │ │ ... │ │ Event 3 │ │
46
+ │ │ ... │ │ │ │ Event 4 │ │
47
+ │ └─────────────┘ └─────────────┘ └─────────────┘ │
48
+ ├─────────────────────────────────────────────────────┤
49
+ │ Global Position: 1 → 2 → 3 → 4 → 5 → 6 → ... │
50
+ └─────────────────────────────────────────────────────┘
51
+ ```
52
+
53
+ ### 2. Event Store Requirements
54
+
55
+ | Requirement | Description |
56
+ | ----------------- | ---------------------------------- |
57
+ | **Append-only** | Events are immutable, only appends |
58
+ | **Ordered** | Per-stream and global ordering |
59
+ | **Versioned** | Optimistic concurrency control |
60
+ | **Subscriptions** | Real-time event notifications |
61
+ | **Idempotent** | Handle duplicate writes safely |
62
+
63
+ ## Technology Comparison
64
+
65
+ | Technology | Best For | Limitations |
66
+ | ---------------- | ------------------------- | -------------------------------- |
67
+ | **EventStoreDB** | Pure event sourcing | Single-purpose |
68
+ | **PostgreSQL** | Existing Postgres stack | Manual implementation |
69
+ | **Kafka** | High-throughput streaming | Not ideal for per-stream queries |
70
+ | **DynamoDB** | Serverless, AWS-native | Query limitations |
71
+ | **Marten** | .NET ecosystems | .NET specific |
72
+
73
+ ## Templates
74
+
75
+ ### Template 1: PostgreSQL Event Store Schema
76
+
77
+ ```sql
78
+ -- Events table
79
+ CREATE TABLE events (
80
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
81
+ stream_id VARCHAR(255) NOT NULL,
82
+ stream_type VARCHAR(255) NOT NULL,
83
+ event_type VARCHAR(255) NOT NULL,
84
+ event_data JSONB NOT NULL,
85
+ metadata JSONB DEFAULT '{}',
86
+ version BIGINT NOT NULL,
87
+ global_position BIGSERIAL,
88
+ created_at TIMESTAMPTZ DEFAULT NOW(),
89
+
90
+ CONSTRAINT unique_stream_version UNIQUE (stream_id, version)
91
+ );
92
+
93
+ -- Index for stream queries
94
+ CREATE INDEX idx_events_stream_id ON events(stream_id, version);
95
+
96
+ -- Index for global subscription
97
+ CREATE INDEX idx_events_global_position ON events(global_position);
98
+
99
+ -- Index for event type queries
100
+ CREATE INDEX idx_events_event_type ON events(event_type);
101
+
102
+ -- Index for time-based queries
103
+ CREATE INDEX idx_events_created_at ON events(created_at);
104
+
105
+ -- Snapshots table
106
+ CREATE TABLE snapshots (
107
+ stream_id VARCHAR(255) PRIMARY KEY,
108
+ stream_type VARCHAR(255) NOT NULL,
109
+ snapshot_data JSONB NOT NULL,
110
+ version BIGINT NOT NULL,
111
+ created_at TIMESTAMPTZ DEFAULT NOW()
112
+ );
113
+
114
+ -- Subscriptions checkpoint table
115
+ CREATE TABLE subscription_checkpoints (
116
+ subscription_id VARCHAR(255) PRIMARY KEY,
117
+ last_position BIGINT NOT NULL DEFAULT 0,
118
+ updated_at TIMESTAMPTZ DEFAULT NOW()
119
+ );
120
+ ```
121
+
122
+ ### Template 2: Python Event Store Implementation
123
+
124
+ ```python
125
+ from dataclasses import dataclass, field
126
+ from datetime import datetime
127
+ from typing import Any, Optional, List
128
+ from uuid import UUID, uuid4
129
+ import json
130
+ import asyncpg
131
+
132
+ @dataclass
133
+ class Event:
134
+ stream_id: str
135
+ event_type: str
136
+ data: dict
137
+ metadata: dict = field(default_factory=dict)
138
+ event_id: UUID = field(default_factory=uuid4)
139
+ version: Optional[int] = None
140
+ global_position: Optional[int] = None
141
+ created_at: datetime = field(default_factory=datetime.utcnow)
142
+
143
+
144
+ class EventStore:
145
+ def __init__(self, pool: asyncpg.Pool):
146
+ self.pool = pool
147
+
148
+ async def append_events(
149
+ self,
150
+ stream_id: str,
151
+ stream_type: str,
152
+ events: List[Event],
153
+ expected_version: Optional[int] = None
154
+ ) -> List[Event]:
155
+ """Append events to a stream with optimistic concurrency."""
156
+ async with self.pool.acquire() as conn:
157
+ async with conn.transaction():
158
+ # Check expected version
159
+ if expected_version is not None:
160
+ current = await conn.fetchval(
161
+ "SELECT MAX(version) FROM events WHERE stream_id = $1",
162
+ stream_id
163
+ )
164
+ current = current or 0
165
+ if current != expected_version:
166
+ raise ConcurrencyError(
167
+ f"Expected version {expected_version}, got {current}"
168
+ )
169
+
170
+ # Get starting version
171
+ start_version = await conn.fetchval(
172
+ "SELECT COALESCE(MAX(version), 0) + 1 FROM events WHERE stream_id = $1",
173
+ stream_id
174
+ )
175
+
176
+ # Insert events
177
+ saved_events = []
178
+ for i, event in enumerate(events):
179
+ event.version = start_version + i
180
+ row = await conn.fetchrow(
181
+ """
182
+ INSERT INTO events (id, stream_id, stream_type, event_type,
183
+ event_data, metadata, version, created_at)
184
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
185
+ RETURNING global_position
186
+ """,
187
+ event.event_id,
188
+ stream_id,
189
+ stream_type,
190
+ event.event_type,
191
+ json.dumps(event.data),
192
+ json.dumps(event.metadata),
193
+ event.version,
194
+ event.created_at
195
+ )
196
+ event.global_position = row['global_position']
197
+ saved_events.append(event)
198
+
199
+ return saved_events
200
+
201
+ async def read_stream(
202
+ self,
203
+ stream_id: str,
204
+ from_version: int = 0,
205
+ limit: int = 1000
206
+ ) -> List[Event]:
207
+ """Read events from a stream."""
208
+ async with self.pool.acquire() as conn:
209
+ rows = await conn.fetch(
210
+ """
211
+ SELECT id, stream_id, event_type, event_data, metadata,
212
+ version, global_position, created_at
213
+ FROM events
214
+ WHERE stream_id = $1 AND version >= $2
215
+ ORDER BY version
216
+ LIMIT $3
217
+ """,
218
+ stream_id, from_version, limit
219
+ )
220
+ return [self._row_to_event(row) for row in rows]
221
+
222
+ async def read_all(
223
+ self,
224
+ from_position: int = 0,
225
+ limit: int = 1000
226
+ ) -> List[Event]:
227
+ """Read all events globally."""
228
+ async with self.pool.acquire() as conn:
229
+ rows = await conn.fetch(
230
+ """
231
+ SELECT id, stream_id, event_type, event_data, metadata,
232
+ version, global_position, created_at
233
+ FROM events
234
+ WHERE global_position > $1
235
+ ORDER BY global_position
236
+ LIMIT $2
237
+ """,
238
+ from_position, limit
239
+ )
240
+ return [self._row_to_event(row) for row in rows]
241
+
242
+ async def subscribe(
243
+ self,
244
+ subscription_id: str,
245
+ handler,
246
+ from_position: int = 0,
247
+ batch_size: int = 100
248
+ ):
249
+ """Subscribe to all events from a position."""
250
+ # Get checkpoint
251
+ async with self.pool.acquire() as conn:
252
+ checkpoint = await conn.fetchval(
253
+ """
254
+ SELECT last_position FROM subscription_checkpoints
255
+ WHERE subscription_id = $1
256
+ """,
257
+ subscription_id
258
+ )
259
+ position = checkpoint or from_position
260
+
261
+ while True:
262
+ events = await self.read_all(position, batch_size)
263
+ if not events:
264
+ await asyncio.sleep(1) # Poll interval
265
+ continue
266
+
267
+ for event in events:
268
+ await handler(event)
269
+ position = event.global_position
270
+
271
+ # Save checkpoint
272
+ async with self.pool.acquire() as conn:
273
+ await conn.execute(
274
+ """
275
+ INSERT INTO subscription_checkpoints (subscription_id, last_position)
276
+ VALUES ($1, $2)
277
+ ON CONFLICT (subscription_id)
278
+ DO UPDATE SET last_position = $2, updated_at = NOW()
279
+ """,
280
+ subscription_id, position
281
+ )
282
+
283
+ def _row_to_event(self, row) -> Event:
284
+ return Event(
285
+ event_id=row['id'],
286
+ stream_id=row['stream_id'],
287
+ event_type=row['event_type'],
288
+ data=json.loads(row['event_data']),
289
+ metadata=json.loads(row['metadata']),
290
+ version=row['version'],
291
+ global_position=row['global_position'],
292
+ created_at=row['created_at']
293
+ )
294
+
295
+
296
+ class ConcurrencyError(Exception):
297
+ """Raised when optimistic concurrency check fails."""
298
+ pass
299
+ ```
300
+
301
+ ### Template 3: EventStoreDB Usage
302
+
303
+ ```python
304
+ from esdbclient import EventStoreDBClient, NewEvent, StreamState
305
+ import json
306
+
307
+ # Connect
308
+ client = EventStoreDBClient(uri="esdb://localhost:2113?tls=false")
309
+
310
+ # Append events
311
+ def append_events(stream_name: str, events: list, expected_revision=None):
312
+ new_events = [
313
+ NewEvent(
314
+ type=event['type'],
315
+ data=json.dumps(event['data']).encode(),
316
+ metadata=json.dumps(event.get('metadata', {})).encode()
317
+ )
318
+ for event in events
319
+ ]
320
+
321
+ if expected_revision is None:
322
+ state = StreamState.ANY
323
+ elif expected_revision == -1:
324
+ state = StreamState.NO_STREAM
325
+ else:
326
+ state = expected_revision
327
+
328
+ return client.append_to_stream(
329
+ stream_name=stream_name,
330
+ events=new_events,
331
+ current_version=state
332
+ )
333
+
334
+ # Read stream
335
+ def read_stream(stream_name: str, from_revision: int = 0):
336
+ events = client.get_stream(
337
+ stream_name=stream_name,
338
+ stream_position=from_revision
339
+ )
340
+ return [
341
+ {
342
+ 'type': event.type,
343
+ 'data': json.loads(event.data),
344
+ 'metadata': json.loads(event.metadata) if event.metadata else {},
345
+ 'stream_position': event.stream_position,
346
+ 'commit_position': event.commit_position
347
+ }
348
+ for event in events
349
+ ]
350
+
351
+ # Subscribe to all
352
+ async def subscribe_to_all(handler, from_position: int = 0):
353
+ subscription = client.subscribe_to_all(commit_position=from_position)
354
+ async for event in subscription:
355
+ await handler({
356
+ 'type': event.type,
357
+ 'data': json.loads(event.data),
358
+ 'stream_id': event.stream_name,
359
+ 'position': event.commit_position
360
+ })
361
+
362
+ # Category projection ($ce-Category)
363
+ def read_category(category: str):
364
+ """Read all events for a category using system projection."""
365
+ return read_stream(f"$ce-{category}")
366
+ ```
367
+
368
+ ### Template 4: DynamoDB Event Store
369
+
370
+ ```python
371
+ import boto3
372
+ from boto3.dynamodb.conditions import Key
373
+ from datetime import datetime
374
+ import json
375
+ import uuid
376
+
377
+ class DynamoEventStore:
378
+ def __init__(self, table_name: str):
379
+ self.dynamodb = boto3.resource('dynamodb')
380
+ self.table = self.dynamodb.Table(table_name)
381
+
382
+ def append_events(self, stream_id: str, events: list, expected_version: int = None):
383
+ """Append events with conditional write for concurrency."""
384
+ with self.table.batch_writer() as batch:
385
+ for i, event in enumerate(events):
386
+ version = (expected_version or 0) + i + 1
387
+ item = {
388
+ 'PK': f"STREAM#{stream_id}",
389
+ 'SK': f"VERSION#{version:020d}",
390
+ 'GSI1PK': 'EVENTS',
391
+ 'GSI1SK': datetime.utcnow().isoformat(),
392
+ 'event_id': str(uuid.uuid4()),
393
+ 'stream_id': stream_id,
394
+ 'event_type': event['type'],
395
+ 'event_data': json.dumps(event['data']),
396
+ 'version': version,
397
+ 'created_at': datetime.utcnow().isoformat()
398
+ }
399
+ batch.put_item(Item=item)
400
+ return events
401
+
402
+ def read_stream(self, stream_id: str, from_version: int = 0):
403
+ """Read events from a stream."""
404
+ response = self.table.query(
405
+ KeyConditionExpression=Key('PK').eq(f"STREAM#{stream_id}") &
406
+ Key('SK').gte(f"VERSION#{from_version:020d}")
407
+ )
408
+ return [
409
+ {
410
+ 'event_type': item['event_type'],
411
+ 'data': json.loads(item['event_data']),
412
+ 'version': item['version']
413
+ }
414
+ for item in response['Items']
415
+ ]
416
+
417
+ # Table definition (CloudFormation/Terraform)
418
+ """
419
+ DynamoDB Table:
420
+ - PK (Partition Key): String
421
+ - SK (Sort Key): String
422
+ - GSI1PK, GSI1SK for global ordering
423
+
424
+ Capacity: On-demand or provisioned based on throughput needs
425
+ """
426
+ ```
427
+
428
+ ## Best Practices
429
+
430
+ ### Do's
431
+
432
+ - **Use stream IDs that include aggregate type** - `Order-{uuid}`
433
+ - **Include correlation/causation IDs** - For tracing
434
+ - **Version events from day one** - Plan for schema evolution
435
+ - **Implement idempotency** - Use event IDs for deduplication
436
+ - **Index appropriately** - For your query patterns
437
+
438
+ ### Don'ts
439
+
440
+ - **Don't update or delete events** - They're immutable facts
441
+ - **Don't store large payloads** - Keep events small
442
+ - **Don't skip optimistic concurrency** - Prevents data corruption
443
+ - **Don't ignore backpressure** - Handle slow consumers
444
+
445
+ ## Resources
446
+
447
+ - [EventStoreDB](https://www.eventstore.com/)
448
+ - [Marten Events](https://martendb.io/events/)
449
+ - [Event Sourcing Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing)
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: fastapi-pro
3
+ description: Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and
4
+ Pydantic V2. Master microservices, WebSockets, and modern Python async
5
+ patterns. Use PROACTIVELY for FastAPI development, async optimization, or API
6
+ architecture.
7
+ metadata:
8
+ model: opus
9
+ ---
10
+
11
+ ## Use this skill when
12
+
13
+ - Working on fastapi pro tasks or workflows
14
+ - Needing guidance, best practices, or checklists for fastapi pro
15
+
16
+ ## Do not use this skill when
17
+
18
+ - The task is unrelated to fastapi pro
19
+ - You need a different domain or tool outside this scope
20
+
21
+ ## Instructions
22
+
23
+ - Clarify goals, constraints, and required inputs.
24
+ - Apply relevant best practices and validate outcomes.
25
+ - Provide actionable steps and verification.
26
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
27
+
28
+ You are a FastAPI expert specializing in high-performance, async-first API development with modern Python patterns.
29
+
30
+ ## Purpose
31
+
32
+ Expert FastAPI developer specializing in high-performance, async-first API development. Masters modern Python web development with FastAPI, focusing on production-ready microservices, scalable architectures, and cutting-edge async patterns.
33
+
34
+ ## Capabilities
35
+
36
+ ### Core FastAPI Expertise
37
+
38
+ - FastAPI 0.100+ features including Annotated types and modern dependency injection
39
+ - Async/await patterns for high-concurrency applications
40
+ - Pydantic V2 for data validation and serialization
41
+ - Automatic OpenAPI/Swagger documentation generation
42
+ - WebSocket support for real-time communication
43
+ - Background tasks with BackgroundTasks and task queues
44
+ - File uploads and streaming responses
45
+ - Custom middleware and request/response interceptors
46
+
47
+ ### Data Management & ORM
48
+
49
+ - SQLAlchemy 2.0+ with async support (asyncpg, aiomysql)
50
+ - Alembic for database migrations
51
+ - Repository pattern and unit of work implementations
52
+ - Database connection pooling and session management
53
+ - MongoDB integration with Motor and Beanie
54
+ - Redis for caching and session storage
55
+ - Query optimization and N+1 query prevention
56
+ - Transaction management and rollback strategies
57
+
58
+ ### API Design & Architecture
59
+
60
+ - RESTful API design principles
61
+ - GraphQL integration with Strawberry or Graphene
62
+ - Microservices architecture patterns
63
+ - API versioning strategies
64
+ - Rate limiting and throttling
65
+ - Circuit breaker pattern implementation
66
+ - Event-driven architecture with message queues
67
+ - CQRS and Event Sourcing patterns
68
+
69
+ ### Authentication & Security
70
+
71
+ - OAuth2 with JWT tokens (python-jose, pyjwt)
72
+ - Social authentication (Google, GitHub, etc.)
73
+ - API key authentication
74
+ - Role-based access control (RBAC)
75
+ - Permission-based authorization
76
+ - CORS configuration and security headers
77
+ - Input sanitization and SQL injection prevention
78
+ - Rate limiting per user/IP
79
+
80
+ ### Testing & Quality Assurance
81
+
82
+ - pytest with pytest-asyncio for async tests
83
+ - TestClient for integration testing
84
+ - Factory pattern with factory_boy or Faker
85
+ - Mock external services with pytest-mock
86
+ - Coverage analysis with pytest-cov
87
+ - Performance testing with Locust
88
+ - Contract testing for microservices
89
+ - Snapshot testing for API responses
90
+
91
+ ### Performance Optimization
92
+
93
+ - Async programming best practices
94
+ - Connection pooling (database, HTTP clients)
95
+ - Response caching with Redis or Memcached
96
+ - Query optimization and eager loading
97
+ - Pagination and cursor-based pagination
98
+ - Response compression (gzip, brotli)
99
+ - CDN integration for static assets
100
+ - Load balancing strategies
101
+
102
+ ### Observability & Monitoring
103
+
104
+ - Structured logging with loguru or structlog
105
+ - OpenTelemetry integration for tracing
106
+ - Prometheus metrics export
107
+ - Health check endpoints
108
+ - APM integration (DataDog, New Relic, Sentry)
109
+ - Request ID tracking and correlation
110
+ - Performance profiling with py-spy
111
+ - Error tracking and alerting
112
+
113
+ ### Deployment & DevOps
114
+
115
+ - Docker containerization with multi-stage builds
116
+ - Kubernetes deployment with Helm charts
117
+ - CI/CD pipelines (GitHub Actions, GitLab CI)
118
+ - Environment configuration with Pydantic Settings
119
+ - Uvicorn/Gunicorn configuration for production
120
+ - ASGI servers optimization (Hypercorn, Daphne)
121
+ - Blue-green and canary deployments
122
+ - Auto-scaling based on metrics
123
+
124
+ ### Integration Patterns
125
+
126
+ - Message queues (RabbitMQ, Kafka, Redis Pub/Sub)
127
+ - Task queues with Celery or Dramatiq
128
+ - gRPC service integration
129
+ - External API integration with httpx
130
+ - Webhook implementation and processing
131
+ - Server-Sent Events (SSE)
132
+ - GraphQL subscriptions
133
+ - File storage (S3, MinIO, local)
134
+
135
+ ### Advanced Features
136
+
137
+ - Dependency injection with advanced patterns
138
+ - Custom response classes
139
+ - Request validation with complex schemas
140
+ - Content negotiation
141
+ - API documentation customization
142
+ - Lifespan events for startup/shutdown
143
+ - Custom exception handlers
144
+ - Request context and state management
145
+
146
+ ## Behavioral Traits
147
+
148
+ - Writes async-first code by default
149
+ - Emphasizes type safety with Pydantic and type hints
150
+ - Follows API design best practices
151
+ - Implements comprehensive error handling
152
+ - Uses dependency injection for clean architecture
153
+ - Writes testable and maintainable code
154
+ - Documents APIs thoroughly with OpenAPI
155
+ - Considers performance implications
156
+ - Implements proper logging and monitoring
157
+ - Follows 12-factor app principles
158
+
159
+ ## Knowledge Base
160
+
161
+ - FastAPI official documentation
162
+ - Pydantic V2 migration guide
163
+ - SQLAlchemy 2.0 async patterns
164
+ - Python async/await best practices
165
+ - Microservices design patterns
166
+ - REST API design guidelines
167
+ - OAuth2 and JWT standards
168
+ - OpenAPI 3.1 specification
169
+ - Container orchestration with Kubernetes
170
+ - Modern Python packaging and tooling
171
+
172
+ ## Response Approach
173
+
174
+ 1. **Analyze requirements** for async opportunities
175
+ 2. **Design API contracts** with Pydantic models first
176
+ 3. **Implement endpoints** with proper error handling
177
+ 4. **Add comprehensive validation** using Pydantic
178
+ 5. **Write async tests** covering edge cases
179
+ 6. **Optimize for performance** with caching and pooling
180
+ 7. **Document with OpenAPI** annotations
181
+ 8. **Consider deployment** and scaling strategies
182
+
183
+ ## Example Interactions
184
+
185
+ - "Create a FastAPI microservice with async SQLAlchemy and Redis caching"
186
+ - "Implement JWT authentication with refresh tokens in FastAPI"
187
+ - "Design a scalable WebSocket chat system with FastAPI"
188
+ - "Optimize this FastAPI endpoint that's causing performance issues"
189
+ - "Set up a complete FastAPI project with Docker and Kubernetes"
190
+ - "Implement rate limiting and circuit breaker for external API calls"
191
+ - "Create a GraphQL endpoint alongside REST in FastAPI"
192
+ - "Build a file upload system with progress tracking"
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: fastapi-templates
3
+ description: Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
4
+ ---
5
+
6
+ # FastAPI Project Templates
7
+
8
+ Production-ready FastAPI project structures with async patterns, dependency injection, middleware, and best practices for building high-performance APIs.
9
+
10
+ ## Use this skill when
11
+
12
+ - Starting new FastAPI projects from scratch
13
+ - Implementing async REST APIs with Python
14
+ - Building high-performance web services and microservices
15
+ - Creating async applications with PostgreSQL, MongoDB
16
+ - Setting up API projects with proper structure and testing
17
+
18
+ ## Do not use this skill when
19
+
20
+ - The task is unrelated to fastapi project templates
21
+ - You need a different domain or tool outside this scope
22
+
23
+ ## Instructions
24
+
25
+ - Clarify goals, constraints, and required inputs.
26
+ - Apply relevant best practices and validate outcomes.
27
+ - Provide actionable steps and verification.
28
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
29
+
30
+ ## Resources
31
+
32
+ - `resources/implementation-playbook.md` for detailed patterns and examples.