@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,607 @@
1
+ # Microservices Patterns Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Microservices Patterns
6
+
7
+ Master microservices architecture patterns including service boundaries, inter-service communication, data management, and resilience patterns for building distributed systems.
8
+
9
+ ## Use this skill when
10
+
11
+ - Decomposing monoliths into microservices
12
+ - Designing service boundaries and contracts
13
+ - Implementing inter-service communication
14
+ - Managing distributed data and transactions
15
+ - Building resilient distributed systems
16
+ - Implementing service discovery and load balancing
17
+ - Designing event-driven architectures
18
+
19
+ ## Do not use this skill when
20
+
21
+ - The system is small enough for a modular monolith
22
+ - You need a quick prototype without distributed complexity
23
+ - There is no operational support for distributed systems
24
+
25
+ ## Instructions
26
+
27
+ 1. Identify domain boundaries and ownership for each service.
28
+ 2. Define contracts, data ownership, and communication patterns.
29
+ 3. Plan resilience, observability, and deployment strategy.
30
+ 4. Provide migration steps and operational guardrails.
31
+
32
+ ## Core Concepts
33
+
34
+ ### 1. Service Decomposition Strategies
35
+
36
+ **By Business Capability**
37
+
38
+ - Organize services around business functions
39
+ - Each service owns its domain
40
+ - Example: OrderService, PaymentService, InventoryService
41
+
42
+ **By Subdomain (DDD)**
43
+
44
+ - Core domain, supporting subdomains
45
+ - Bounded contexts map to services
46
+ - Clear ownership and responsibility
47
+
48
+ **Strangler Fig Pattern**
49
+
50
+ - Gradually extract from monolith
51
+ - New functionality as microservices
52
+ - Proxy routes to old/new systems
53
+
54
+ ### 2. Communication Patterns
55
+
56
+ **Synchronous (Request/Response)**
57
+
58
+ - REST APIs
59
+ - gRPC
60
+ - GraphQL
61
+
62
+ **Asynchronous (Events/Messages)**
63
+
64
+ - Event streaming (Kafka)
65
+ - Message queues (RabbitMQ, SQS)
66
+ - Pub/Sub patterns
67
+
68
+ ### 3. Data Management
69
+
70
+ **Database Per Service**
71
+
72
+ - Each service owns its data
73
+ - No shared databases
74
+ - Loose coupling
75
+
76
+ **Saga Pattern**
77
+
78
+ - Distributed transactions
79
+ - Compensating actions
80
+ - Eventual consistency
81
+
82
+ ### 4. Resilience Patterns
83
+
84
+ **Circuit Breaker**
85
+
86
+ - Fail fast on repeated errors
87
+ - Prevent cascade failures
88
+
89
+ **Retry with Backoff**
90
+
91
+ - Transient fault handling
92
+ - Exponential backoff
93
+
94
+ **Bulkhead**
95
+
96
+ - Isolate resources
97
+ - Limit impact of failures
98
+
99
+ ## Service Decomposition Patterns
100
+
101
+ ### Pattern 1: By Business Capability
102
+
103
+ ```python
104
+ # E-commerce example
105
+
106
+ # Order Service
107
+ class OrderService:
108
+ """Handles order lifecycle."""
109
+
110
+ async def create_order(self, order_data: dict) -> Order:
111
+ order = Order.create(order_data)
112
+
113
+ # Publish event for other services
114
+ await self.event_bus.publish(
115
+ OrderCreatedEvent(
116
+ order_id=order.id,
117
+ customer_id=order.customer_id,
118
+ items=order.items,
119
+ total=order.total
120
+ )
121
+ )
122
+
123
+ return order
124
+
125
+ # Payment Service (separate service)
126
+ class PaymentService:
127
+ """Handles payment processing."""
128
+
129
+ async def process_payment(self, payment_request: PaymentRequest) -> PaymentResult:
130
+ # Process payment
131
+ result = await self.payment_gateway.charge(
132
+ amount=payment_request.amount,
133
+ customer=payment_request.customer_id
134
+ )
135
+
136
+ if result.success:
137
+ await self.event_bus.publish(
138
+ PaymentCompletedEvent(
139
+ order_id=payment_request.order_id,
140
+ transaction_id=result.transaction_id
141
+ )
142
+ )
143
+
144
+ return result
145
+
146
+ # Inventory Service (separate service)
147
+ class InventoryService:
148
+ """Handles inventory management."""
149
+
150
+ async def reserve_items(self, order_id: str, items: List[OrderItem]) -> ReservationResult:
151
+ # Check availability
152
+ for item in items:
153
+ available = await self.inventory_repo.get_available(item.product_id)
154
+ if available < item.quantity:
155
+ return ReservationResult(
156
+ success=False,
157
+ error=f"Insufficient inventory for {item.product_id}"
158
+ )
159
+
160
+ # Reserve items
161
+ reservation = await self.create_reservation(order_id, items)
162
+
163
+ await self.event_bus.publish(
164
+ InventoryReservedEvent(
165
+ order_id=order_id,
166
+ reservation_id=reservation.id
167
+ )
168
+ )
169
+
170
+ return ReservationResult(success=True, reservation=reservation)
171
+ ```
172
+
173
+ ### Pattern 2: API Gateway
174
+
175
+ ```python
176
+ from fastapi import FastAPI, HTTPException, Depends
177
+ import httpx
178
+ from circuitbreaker import circuit
179
+
180
+ app = FastAPI()
181
+
182
+ class APIGateway:
183
+ """Central entry point for all client requests."""
184
+
185
+ def __init__(self):
186
+ self.order_service_url = "http://order-service:8000"
187
+ self.payment_service_url = "http://payment-service:8001"
188
+ self.inventory_service_url = "http://inventory-service:8002"
189
+ self.http_client = httpx.AsyncClient(timeout=5.0)
190
+
191
+ @circuit(failure_threshold=5, recovery_timeout=30)
192
+ async def call_order_service(self, path: str, method: str = "GET", **kwargs):
193
+ """Call order service with circuit breaker."""
194
+ response = await self.http_client.request(
195
+ method,
196
+ f"{self.order_service_url}{path}",
197
+ **kwargs
198
+ )
199
+ response.raise_for_status()
200
+ return response.json()
201
+
202
+ async def create_order_aggregate(self, order_id: str) -> dict:
203
+ """Aggregate data from multiple services."""
204
+ # Parallel requests
205
+ order, payment, inventory = await asyncio.gather(
206
+ self.call_order_service(f"/orders/{order_id}"),
207
+ self.call_payment_service(f"/payments/order/{order_id}"),
208
+ self.call_inventory_service(f"/reservations/order/{order_id}"),
209
+ return_exceptions=True
210
+ )
211
+
212
+ # Handle partial failures
213
+ result = {"order": order}
214
+ if not isinstance(payment, Exception):
215
+ result["payment"] = payment
216
+ if not isinstance(inventory, Exception):
217
+ result["inventory"] = inventory
218
+
219
+ return result
220
+
221
+ @app.post("/api/orders")
222
+ async def create_order(
223
+ order_data: dict,
224
+ gateway: APIGateway = Depends()
225
+ ):
226
+ """API Gateway endpoint."""
227
+ try:
228
+ # Route to order service
229
+ order = await gateway.call_order_service(
230
+ "/orders",
231
+ method="POST",
232
+ json=order_data
233
+ )
234
+ return {"order": order}
235
+ except httpx.HTTPError as e:
236
+ raise HTTPException(status_code=503, detail="Order service unavailable")
237
+ ```
238
+
239
+ ## Communication Patterns
240
+
241
+ ### Pattern 1: Synchronous REST Communication
242
+
243
+ ```python
244
+ # Service A calls Service B
245
+ import httpx
246
+ from tenacity import retry, stop_after_attempt, wait_exponential
247
+
248
+ class ServiceClient:
249
+ """HTTP client with retries and timeout."""
250
+
251
+ def __init__(self, base_url: str):
252
+ self.base_url = base_url
253
+ self.client = httpx.AsyncClient(
254
+ timeout=httpx.Timeout(5.0, connect=2.0),
255
+ limits=httpx.Limits(max_keepalive_connections=20)
256
+ )
257
+
258
+ @retry(
259
+ stop=stop_after_attempt(3),
260
+ wait=wait_exponential(multiplier=1, min=2, max=10)
261
+ )
262
+ async def get(self, path: str, **kwargs):
263
+ """GET with automatic retries."""
264
+ response = await self.client.get(f"{self.base_url}{path}", **kwargs)
265
+ response.raise_for_status()
266
+ return response.json()
267
+
268
+ async def post(self, path: str, **kwargs):
269
+ """POST request."""
270
+ response = await self.client.post(f"{self.base_url}{path}", **kwargs)
271
+ response.raise_for_status()
272
+ return response.json()
273
+
274
+ # Usage
275
+ payment_client = ServiceClient("http://payment-service:8001")
276
+ result = await payment_client.post("/payments", json=payment_data)
277
+ ```
278
+
279
+ ### Pattern 2: Asynchronous Event-Driven
280
+
281
+ ```python
282
+ # Event-driven communication with Kafka
283
+ from aiokafka import AIOKafkaProducer, AIOKafkaConsumer
284
+ import json
285
+ from dataclasses import dataclass, asdict
286
+ from datetime import datetime
287
+
288
+ @dataclass
289
+ class DomainEvent:
290
+ event_id: str
291
+ event_type: str
292
+ aggregate_id: str
293
+ occurred_at: datetime
294
+ data: dict
295
+
296
+ class EventBus:
297
+ """Event publishing and subscription."""
298
+
299
+ def __init__(self, bootstrap_servers: List[str]):
300
+ self.bootstrap_servers = bootstrap_servers
301
+ self.producer = None
302
+
303
+ async def start(self):
304
+ self.producer = AIOKafkaProducer(
305
+ bootstrap_servers=self.bootstrap_servers,
306
+ value_serializer=lambda v: json.dumps(v).encode()
307
+ )
308
+ await self.producer.start()
309
+
310
+ async def publish(self, event: DomainEvent):
311
+ """Publish event to Kafka topic."""
312
+ topic = event.event_type
313
+ await self.producer.send_and_wait(
314
+ topic,
315
+ value=asdict(event),
316
+ key=event.aggregate_id.encode()
317
+ )
318
+
319
+ async def subscribe(self, topic: str, handler: callable):
320
+ """Subscribe to events."""
321
+ consumer = AIOKafkaConsumer(
322
+ topic,
323
+ bootstrap_servers=self.bootstrap_servers,
324
+ value_deserializer=lambda v: json.loads(v.decode()),
325
+ group_id="my-service"
326
+ )
327
+ await consumer.start()
328
+
329
+ try:
330
+ async for message in consumer:
331
+ event_data = message.value
332
+ await handler(event_data)
333
+ finally:
334
+ await consumer.stop()
335
+
336
+ # Order Service publishes event
337
+ async def create_order(order_data: dict):
338
+ order = await save_order(order_data)
339
+
340
+ event = DomainEvent(
341
+ event_id=str(uuid.uuid4()),
342
+ event_type="OrderCreated",
343
+ aggregate_id=order.id,
344
+ occurred_at=datetime.now(),
345
+ data={
346
+ "order_id": order.id,
347
+ "customer_id": order.customer_id,
348
+ "total": order.total
349
+ }
350
+ )
351
+
352
+ await event_bus.publish(event)
353
+
354
+ # Inventory Service listens for OrderCreated
355
+ async def handle_order_created(event_data: dict):
356
+ """React to order creation."""
357
+ order_id = event_data["data"]["order_id"]
358
+ items = event_data["data"]["items"]
359
+
360
+ # Reserve inventory
361
+ await reserve_inventory(order_id, items)
362
+ ```
363
+
364
+ ### Pattern 3: Saga Pattern (Distributed Transactions)
365
+
366
+ ```python
367
+ # Saga orchestration for order fulfillment
368
+ from enum import Enum
369
+ from typing import List, Callable
370
+
371
+ class SagaStep:
372
+ """Single step in saga."""
373
+
374
+ def __init__(
375
+ self,
376
+ name: str,
377
+ action: Callable,
378
+ compensation: Callable
379
+ ):
380
+ self.name = name
381
+ self.action = action
382
+ self.compensation = compensation
383
+
384
+ class SagaStatus(Enum):
385
+ PENDING = "pending"
386
+ COMPLETED = "completed"
387
+ COMPENSATING = "compensating"
388
+ FAILED = "failed"
389
+
390
+ class OrderFulfillmentSaga:
391
+ """Orchestrated saga for order fulfillment."""
392
+
393
+ def __init__(self):
394
+ self.steps: List[SagaStep] = [
395
+ SagaStep(
396
+ "create_order",
397
+ action=self.create_order,
398
+ compensation=self.cancel_order
399
+ ),
400
+ SagaStep(
401
+ "reserve_inventory",
402
+ action=self.reserve_inventory,
403
+ compensation=self.release_inventory
404
+ ),
405
+ SagaStep(
406
+ "process_payment",
407
+ action=self.process_payment,
408
+ compensation=self.refund_payment
409
+ ),
410
+ SagaStep(
411
+ "confirm_order",
412
+ action=self.confirm_order,
413
+ compensation=self.cancel_order_confirmation
414
+ )
415
+ ]
416
+
417
+ async def execute(self, order_data: dict) -> SagaResult:
418
+ """Execute saga steps."""
419
+ completed_steps = []
420
+ context = {"order_data": order_data}
421
+
422
+ try:
423
+ for step in self.steps:
424
+ # Execute step
425
+ result = await step.action(context)
426
+ if not result.success:
427
+ # Compensate
428
+ await self.compensate(completed_steps, context)
429
+ return SagaResult(
430
+ status=SagaStatus.FAILED,
431
+ error=result.error
432
+ )
433
+
434
+ completed_steps.append(step)
435
+ context.update(result.data)
436
+
437
+ return SagaResult(status=SagaStatus.COMPLETED, data=context)
438
+
439
+ except Exception as e:
440
+ # Compensate on error
441
+ await self.compensate(completed_steps, context)
442
+ return SagaResult(status=SagaStatus.FAILED, error=str(e))
443
+
444
+ async def compensate(self, completed_steps: List[SagaStep], context: dict):
445
+ """Execute compensating actions in reverse order."""
446
+ for step in reversed(completed_steps):
447
+ try:
448
+ await step.compensation(context)
449
+ except Exception as e:
450
+ # Log compensation failure
451
+ print(f"Compensation failed for {step.name}: {e}")
452
+
453
+ # Step implementations
454
+ async def create_order(self, context: dict) -> StepResult:
455
+ order = await order_service.create(context["order_data"])
456
+ return StepResult(success=True, data={"order_id": order.id})
457
+
458
+ async def cancel_order(self, context: dict):
459
+ await order_service.cancel(context["order_id"])
460
+
461
+ async def reserve_inventory(self, context: dict) -> StepResult:
462
+ result = await inventory_service.reserve(
463
+ context["order_id"],
464
+ context["order_data"]["items"]
465
+ )
466
+ return StepResult(
467
+ success=result.success,
468
+ data={"reservation_id": result.reservation_id}
469
+ )
470
+
471
+ async def release_inventory(self, context: dict):
472
+ await inventory_service.release(context["reservation_id"])
473
+
474
+ async def process_payment(self, context: dict) -> StepResult:
475
+ result = await payment_service.charge(
476
+ context["order_id"],
477
+ context["order_data"]["total"]
478
+ )
479
+ return StepResult(
480
+ success=result.success,
481
+ data={"transaction_id": result.transaction_id},
482
+ error=result.error
483
+ )
484
+
485
+ async def refund_payment(self, context: dict):
486
+ await payment_service.refund(context["transaction_id"])
487
+ ```
488
+
489
+ ## Resilience Patterns
490
+
491
+ ### Circuit Breaker Pattern
492
+
493
+ ```python
494
+ from enum import Enum
495
+ from datetime import datetime, timedelta
496
+ from typing import Callable, Any
497
+
498
+ class CircuitState(Enum):
499
+ CLOSED = "closed" # Normal operation
500
+ OPEN = "open" # Failing, reject requests
501
+ HALF_OPEN = "half_open" # Testing if recovered
502
+
503
+ class CircuitBreaker:
504
+ """Circuit breaker for service calls."""
505
+
506
+ def __init__(
507
+ self,
508
+ failure_threshold: int = 5,
509
+ recovery_timeout: int = 30,
510
+ success_threshold: int = 2
511
+ ):
512
+ self.failure_threshold = failure_threshold
513
+ self.recovery_timeout = recovery_timeout
514
+ self.success_threshold = success_threshold
515
+
516
+ self.failure_count = 0
517
+ self.success_count = 0
518
+ self.state = CircuitState.CLOSED
519
+ self.opened_at = None
520
+
521
+ async def call(self, func: Callable, *args, **kwargs) -> Any:
522
+ """Execute function with circuit breaker."""
523
+
524
+ if self.state == CircuitState.OPEN:
525
+ if self._should_attempt_reset():
526
+ self.state = CircuitState.HALF_OPEN
527
+ else:
528
+ raise CircuitBreakerOpenError("Circuit breaker is open")
529
+
530
+ try:
531
+ result = await func(*args, **kwargs)
532
+ self._on_success()
533
+ return result
534
+
535
+ except Exception as e:
536
+ self._on_failure()
537
+ raise
538
+
539
+ def _on_success(self):
540
+ """Handle successful call."""
541
+ self.failure_count = 0
542
+
543
+ if self.state == CircuitState.HALF_OPEN:
544
+ self.success_count += 1
545
+ if self.success_count >= self.success_threshold:
546
+ self.state = CircuitState.CLOSED
547
+ self.success_count = 0
548
+
549
+ def _on_failure(self):
550
+ """Handle failed call."""
551
+ self.failure_count += 1
552
+
553
+ if self.failure_count >= self.failure_threshold:
554
+ self.state = CircuitState.OPEN
555
+ self.opened_at = datetime.now()
556
+
557
+ if self.state == CircuitState.HALF_OPEN:
558
+ self.state = CircuitState.OPEN
559
+ self.opened_at = datetime.now()
560
+
561
+ def _should_attempt_reset(self) -> bool:
562
+ """Check if enough time passed to try again."""
563
+ return (
564
+ datetime.now() - self.opened_at
565
+ > timedelta(seconds=self.recovery_timeout)
566
+ )
567
+
568
+ # Usage
569
+ breaker = CircuitBreaker(failure_threshold=5, recovery_timeout=30)
570
+
571
+ async def call_payment_service(payment_data: dict):
572
+ return await breaker.call(
573
+ payment_client.process_payment,
574
+ payment_data
575
+ )
576
+ ```
577
+
578
+ ## Resources
579
+
580
+ - **references/service-decomposition-guide.md**: Breaking down monoliths
581
+ - **references/communication-patterns.md**: Sync vs async patterns
582
+ - **references/saga-implementation.md**: Distributed transactions
583
+ - **assets/circuit-breaker.py**: Production circuit breaker
584
+ - **assets/event-bus-template.py**: Kafka event bus implementation
585
+ - **assets/api-gateway-template.py**: Complete API gateway
586
+
587
+ ## Best Practices
588
+
589
+ 1. **Service Boundaries**: Align with business capabilities
590
+ 2. **Database Per Service**: No shared databases
591
+ 3. **API Contracts**: Versioned, backward compatible
592
+ 4. **Async When Possible**: Events over direct calls
593
+ 5. **Circuit Breakers**: Fail fast on service failures
594
+ 6. **Distributed Tracing**: Track requests across services
595
+ 7. **Service Registry**: Dynamic service discovery
596
+ 8. **Health Checks**: Liveness and readiness probes
597
+
598
+ ## Common Pitfalls
599
+
600
+ - **Distributed Monolith**: Tightly coupled services
601
+ - **Chatty Services**: Too many inter-service calls
602
+ - **Shared Databases**: Tight coupling through data
603
+ - **No Circuit Breakers**: Cascade failures
604
+ - **Synchronous Everything**: Tight coupling, poor resilience
605
+ - **Premature Microservices**: Starting with microservices
606
+ - **Ignoring Network Failures**: Assuming reliable network
607
+ - **No Compensation Logic**: Can't undo failed transactions