@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,496 @@
1
+ ---
2
+ name: saga-orchestration
3
+ description: Implement saga patterns for distributed transactions and cross-aggregate workflows. Use when coordinating multi-step business processes, handling compensating transactions, or managing long-running workflows.
4
+ ---
5
+
6
+ # Saga Orchestration
7
+
8
+ Patterns for managing distributed transactions and long-running business processes.
9
+
10
+ ## Do not use this skill when
11
+
12
+ - The task is unrelated to saga orchestration
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
+ - Coordinating multi-service transactions
25
+ - Implementing compensating transactions
26
+ - Managing long-running business workflows
27
+ - Handling failures in distributed systems
28
+ - Building order fulfillment processes
29
+ - Implementing approval workflows
30
+
31
+ ## Core Concepts
32
+
33
+ ### 1. Saga Types
34
+
35
+ ```
36
+ Choreography Orchestration
37
+ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────────────┐
38
+ │Svc A│─►│Svc B│─►│Svc C│ │ Orchestrator│
39
+ └─────┘ └─────┘ └─────┘ └──────┬──────┘
40
+ │ │ │ │
41
+ ▼ ▼ ▼ ┌─────┼─────┐
42
+ Event Event Event ▼ ▼ ▼
43
+ ┌────┐┌────┐┌────┐
44
+ │Svc1││Svc2││Svc3│
45
+ └────┘└────┘└────┘
46
+ ```
47
+
48
+ ### 2. Saga Execution States
49
+
50
+ | State | Description |
51
+ | ---------------- | ------------------------------ |
52
+ | **Started** | Saga initiated |
53
+ | **Pending** | Waiting for step completion |
54
+ | **Compensating** | Rolling back due to failure |
55
+ | **Completed** | All steps succeeded |
56
+ | **Failed** | Saga failed after compensation |
57
+
58
+ ## Templates
59
+
60
+ ### Template 1: Saga Orchestrator Base
61
+
62
+ ```python
63
+ from abc import ABC, abstractmethod
64
+ from dataclasses import dataclass, field
65
+ from enum import Enum
66
+ from typing import List, Dict, Any, Optional
67
+ from datetime import datetime
68
+ import uuid
69
+
70
+ class SagaState(Enum):
71
+ STARTED = "started"
72
+ PENDING = "pending"
73
+ COMPENSATING = "compensating"
74
+ COMPLETED = "completed"
75
+ FAILED = "failed"
76
+
77
+
78
+ @dataclass
79
+ class SagaStep:
80
+ name: str
81
+ action: str
82
+ compensation: str
83
+ status: str = "pending"
84
+ result: Optional[Dict] = None
85
+ error: Optional[str] = None
86
+ executed_at: Optional[datetime] = None
87
+ compensated_at: Optional[datetime] = None
88
+
89
+
90
+ @dataclass
91
+ class Saga:
92
+ saga_id: str
93
+ saga_type: str
94
+ state: SagaState
95
+ data: Dict[str, Any]
96
+ steps: List[SagaStep]
97
+ current_step: int = 0
98
+ created_at: datetime = field(default_factory=datetime.utcnow)
99
+ updated_at: datetime = field(default_factory=datetime.utcnow)
100
+
101
+
102
+ class SagaOrchestrator(ABC):
103
+ """Base class for saga orchestrators."""
104
+
105
+ def __init__(self, saga_store, event_publisher):
106
+ self.saga_store = saga_store
107
+ self.event_publisher = event_publisher
108
+
109
+ @abstractmethod
110
+ def define_steps(self, data: Dict) -> List[SagaStep]:
111
+ """Define the saga steps."""
112
+ pass
113
+
114
+ @property
115
+ @abstractmethod
116
+ def saga_type(self) -> str:
117
+ """Unique saga type identifier."""
118
+ pass
119
+
120
+ async def start(self, data: Dict) -> Saga:
121
+ """Start a new saga."""
122
+ saga = Saga(
123
+ saga_id=str(uuid.uuid4()),
124
+ saga_type=self.saga_type,
125
+ state=SagaState.STARTED,
126
+ data=data,
127
+ steps=self.define_steps(data)
128
+ )
129
+ await self.saga_store.save(saga)
130
+ await self._execute_next_step(saga)
131
+ return saga
132
+
133
+ async def handle_step_completed(self, saga_id: str, step_name: str, result: Dict):
134
+ """Handle successful step completion."""
135
+ saga = await self.saga_store.get(saga_id)
136
+
137
+ # Update step
138
+ for step in saga.steps:
139
+ if step.name == step_name:
140
+ step.status = "completed"
141
+ step.result = result
142
+ step.executed_at = datetime.utcnow()
143
+ break
144
+
145
+ saga.current_step += 1
146
+ saga.updated_at = datetime.utcnow()
147
+
148
+ # Check if saga is complete
149
+ if saga.current_step >= len(saga.steps):
150
+ saga.state = SagaState.COMPLETED
151
+ await self.saga_store.save(saga)
152
+ await self._on_saga_completed(saga)
153
+ else:
154
+ saga.state = SagaState.PENDING
155
+ await self.saga_store.save(saga)
156
+ await self._execute_next_step(saga)
157
+
158
+ async def handle_step_failed(self, saga_id: str, step_name: str, error: str):
159
+ """Handle step failure - start compensation."""
160
+ saga = await self.saga_store.get(saga_id)
161
+
162
+ # Mark step as failed
163
+ for step in saga.steps:
164
+ if step.name == step_name:
165
+ step.status = "failed"
166
+ step.error = error
167
+ break
168
+
169
+ saga.state = SagaState.COMPENSATING
170
+ saga.updated_at = datetime.utcnow()
171
+ await self.saga_store.save(saga)
172
+
173
+ # Start compensation from current step backwards
174
+ await self._compensate(saga)
175
+
176
+ async def _execute_next_step(self, saga: Saga):
177
+ """Execute the next step in the saga."""
178
+ if saga.current_step >= len(saga.steps):
179
+ return
180
+
181
+ step = saga.steps[saga.current_step]
182
+ step.status = "executing"
183
+ await self.saga_store.save(saga)
184
+
185
+ # Publish command to execute step
186
+ await self.event_publisher.publish(
187
+ step.action,
188
+ {
189
+ "saga_id": saga.saga_id,
190
+ "step_name": step.name,
191
+ **saga.data
192
+ }
193
+ )
194
+
195
+ async def _compensate(self, saga: Saga):
196
+ """Execute compensation for completed steps."""
197
+ # Compensate in reverse order
198
+ for i in range(saga.current_step - 1, -1, -1):
199
+ step = saga.steps[i]
200
+ if step.status == "completed":
201
+ step.status = "compensating"
202
+ await self.saga_store.save(saga)
203
+
204
+ await self.event_publisher.publish(
205
+ step.compensation,
206
+ {
207
+ "saga_id": saga.saga_id,
208
+ "step_name": step.name,
209
+ "original_result": step.result,
210
+ **saga.data
211
+ }
212
+ )
213
+
214
+ async def handle_compensation_completed(self, saga_id: str, step_name: str):
215
+ """Handle compensation completion."""
216
+ saga = await self.saga_store.get(saga_id)
217
+
218
+ for step in saga.steps:
219
+ if step.name == step_name:
220
+ step.status = "compensated"
221
+ step.compensated_at = datetime.utcnow()
222
+ break
223
+
224
+ # Check if all compensations complete
225
+ all_compensated = all(
226
+ s.status in ("compensated", "pending", "failed")
227
+ for s in saga.steps
228
+ )
229
+
230
+ if all_compensated:
231
+ saga.state = SagaState.FAILED
232
+ await self._on_saga_failed(saga)
233
+
234
+ await self.saga_store.save(saga)
235
+
236
+ async def _on_saga_completed(self, saga: Saga):
237
+ """Called when saga completes successfully."""
238
+ await self.event_publisher.publish(
239
+ f"{self.saga_type}Completed",
240
+ {"saga_id": saga.saga_id, **saga.data}
241
+ )
242
+
243
+ async def _on_saga_failed(self, saga: Saga):
244
+ """Called when saga fails after compensation."""
245
+ await self.event_publisher.publish(
246
+ f"{self.saga_type}Failed",
247
+ {"saga_id": saga.saga_id, "error": "Saga failed", **saga.data}
248
+ )
249
+ ```
250
+
251
+ ### Template 2: Order Fulfillment Saga
252
+
253
+ ```python
254
+ class OrderFulfillmentSaga(SagaOrchestrator):
255
+ """Orchestrates order fulfillment across services."""
256
+
257
+ @property
258
+ def saga_type(self) -> str:
259
+ return "OrderFulfillment"
260
+
261
+ def define_steps(self, data: Dict) -> List[SagaStep]:
262
+ return [
263
+ SagaStep(
264
+ name="reserve_inventory",
265
+ action="InventoryService.ReserveItems",
266
+ compensation="InventoryService.ReleaseReservation"
267
+ ),
268
+ SagaStep(
269
+ name="process_payment",
270
+ action="PaymentService.ProcessPayment",
271
+ compensation="PaymentService.RefundPayment"
272
+ ),
273
+ SagaStep(
274
+ name="create_shipment",
275
+ action="ShippingService.CreateShipment",
276
+ compensation="ShippingService.CancelShipment"
277
+ ),
278
+ SagaStep(
279
+ name="send_confirmation",
280
+ action="NotificationService.SendOrderConfirmation",
281
+ compensation="NotificationService.SendCancellationNotice"
282
+ )
283
+ ]
284
+
285
+
286
+ # Usage
287
+ async def create_order(order_data: Dict):
288
+ saga = OrderFulfillmentSaga(saga_store, event_publisher)
289
+ return await saga.start({
290
+ "order_id": order_data["order_id"],
291
+ "customer_id": order_data["customer_id"],
292
+ "items": order_data["items"],
293
+ "payment_method": order_data["payment_method"],
294
+ "shipping_address": order_data["shipping_address"]
295
+ })
296
+
297
+
298
+ # Event handlers in each service
299
+ class InventoryService:
300
+ async def handle_reserve_items(self, command: Dict):
301
+ try:
302
+ # Reserve inventory
303
+ reservation = await self.reserve(
304
+ command["items"],
305
+ command["order_id"]
306
+ )
307
+ # Report success
308
+ await self.event_publisher.publish(
309
+ "SagaStepCompleted",
310
+ {
311
+ "saga_id": command["saga_id"],
312
+ "step_name": "reserve_inventory",
313
+ "result": {"reservation_id": reservation.id}
314
+ }
315
+ )
316
+ except InsufficientInventoryError as e:
317
+ await self.event_publisher.publish(
318
+ "SagaStepFailed",
319
+ {
320
+ "saga_id": command["saga_id"],
321
+ "step_name": "reserve_inventory",
322
+ "error": str(e)
323
+ }
324
+ )
325
+
326
+ async def handle_release_reservation(self, command: Dict):
327
+ # Compensating action
328
+ await self.release_reservation(
329
+ command["original_result"]["reservation_id"]
330
+ )
331
+ await self.event_publisher.publish(
332
+ "SagaCompensationCompleted",
333
+ {
334
+ "saga_id": command["saga_id"],
335
+ "step_name": "reserve_inventory"
336
+ }
337
+ )
338
+ ```
339
+
340
+ ### Template 3: Choreography-Based Saga
341
+
342
+ ```python
343
+ from dataclasses import dataclass
344
+ from typing import Dict, Any
345
+ import asyncio
346
+
347
+ @dataclass
348
+ class SagaContext:
349
+ """Passed through choreographed saga events."""
350
+ saga_id: str
351
+ step: int
352
+ data: Dict[str, Any]
353
+ completed_steps: list
354
+
355
+
356
+ class OrderChoreographySaga:
357
+ """Choreography-based saga using events."""
358
+
359
+ def __init__(self, event_bus):
360
+ self.event_bus = event_bus
361
+ self._register_handlers()
362
+
363
+ def _register_handlers(self):
364
+ self.event_bus.subscribe("OrderCreated", self._on_order_created)
365
+ self.event_bus.subscribe("InventoryReserved", self._on_inventory_reserved)
366
+ self.event_bus.subscribe("PaymentProcessed", self._on_payment_processed)
367
+ self.event_bus.subscribe("ShipmentCreated", self._on_shipment_created)
368
+
369
+ # Compensation handlers
370
+ self.event_bus.subscribe("PaymentFailed", self._on_payment_failed)
371
+ self.event_bus.subscribe("ShipmentFailed", self._on_shipment_failed)
372
+
373
+ async def _on_order_created(self, event: Dict):
374
+ """Step 1: Order created, reserve inventory."""
375
+ await self.event_bus.publish("ReserveInventory", {
376
+ "saga_id": event["order_id"],
377
+ "order_id": event["order_id"],
378
+ "items": event["items"]
379
+ })
380
+
381
+ async def _on_inventory_reserved(self, event: Dict):
382
+ """Step 2: Inventory reserved, process payment."""
383
+ await self.event_bus.publish("ProcessPayment", {
384
+ "saga_id": event["saga_id"],
385
+ "order_id": event["order_id"],
386
+ "amount": event["total_amount"],
387
+ "reservation_id": event["reservation_id"]
388
+ })
389
+
390
+ async def _on_payment_processed(self, event: Dict):
391
+ """Step 3: Payment done, create shipment."""
392
+ await self.event_bus.publish("CreateShipment", {
393
+ "saga_id": event["saga_id"],
394
+ "order_id": event["order_id"],
395
+ "payment_id": event["payment_id"]
396
+ })
397
+
398
+ async def _on_shipment_created(self, event: Dict):
399
+ """Step 4: Complete - send confirmation."""
400
+ await self.event_bus.publish("OrderFulfilled", {
401
+ "saga_id": event["saga_id"],
402
+ "order_id": event["order_id"],
403
+ "tracking_number": event["tracking_number"]
404
+ })
405
+
406
+ # Compensation handlers
407
+ async def _on_payment_failed(self, event: Dict):
408
+ """Payment failed - release inventory."""
409
+ await self.event_bus.publish("ReleaseInventory", {
410
+ "saga_id": event["saga_id"],
411
+ "reservation_id": event["reservation_id"]
412
+ })
413
+ await self.event_bus.publish("OrderFailed", {
414
+ "order_id": event["order_id"],
415
+ "reason": "Payment failed"
416
+ })
417
+
418
+ async def _on_shipment_failed(self, event: Dict):
419
+ """Shipment failed - refund payment and release inventory."""
420
+ await self.event_bus.publish("RefundPayment", {
421
+ "saga_id": event["saga_id"],
422
+ "payment_id": event["payment_id"]
423
+ })
424
+ await self.event_bus.publish("ReleaseInventory", {
425
+ "saga_id": event["saga_id"],
426
+ "reservation_id": event["reservation_id"]
427
+ })
428
+ ```
429
+
430
+ ### Template 4: Saga with Timeouts
431
+
432
+ ```python
433
+ class TimeoutSagaOrchestrator(SagaOrchestrator):
434
+ """Saga orchestrator with step timeouts."""
435
+
436
+ def __init__(self, saga_store, event_publisher, scheduler):
437
+ super().__init__(saga_store, event_publisher)
438
+ self.scheduler = scheduler
439
+
440
+ async def _execute_next_step(self, saga: Saga):
441
+ if saga.current_step >= len(saga.steps):
442
+ return
443
+
444
+ step = saga.steps[saga.current_step]
445
+ step.status = "executing"
446
+ step.timeout_at = datetime.utcnow() + timedelta(minutes=5)
447
+ await self.saga_store.save(saga)
448
+
449
+ # Schedule timeout check
450
+ await self.scheduler.schedule(
451
+ f"saga_timeout_{saga.saga_id}_{step.name}",
452
+ self._check_timeout,
453
+ {"saga_id": saga.saga_id, "step_name": step.name},
454
+ run_at=step.timeout_at
455
+ )
456
+
457
+ await self.event_publisher.publish(
458
+ step.action,
459
+ {"saga_id": saga.saga_id, "step_name": step.name, **saga.data}
460
+ )
461
+
462
+ async def _check_timeout(self, data: Dict):
463
+ """Check if step has timed out."""
464
+ saga = await self.saga_store.get(data["saga_id"])
465
+ step = next(s for s in saga.steps if s.name == data["step_name"])
466
+
467
+ if step.status == "executing":
468
+ # Step timed out - fail it
469
+ await self.handle_step_failed(
470
+ data["saga_id"],
471
+ data["step_name"],
472
+ "Step timed out"
473
+ )
474
+ ```
475
+
476
+ ## Best Practices
477
+
478
+ ### Do's
479
+
480
+ - **Make steps idempotent** - Safe to retry
481
+ - **Design compensations carefully** - They must work
482
+ - **Use correlation IDs** - For tracing across services
483
+ - **Implement timeouts** - Don't wait forever
484
+ - **Log everything** - For debugging failures
485
+
486
+ ### Don'ts
487
+
488
+ - **Don't assume instant completion** - Sagas take time
489
+ - **Don't skip compensation testing** - Most critical part
490
+ - **Don't couple services** - Use async messaging
491
+ - **Don't ignore partial failures** - Handle gracefully
492
+
493
+ ## Resources
494
+
495
+ - [Saga Pattern](https://microservices.io/patterns/data/saga.html)
496
+ - [Designing Data-Intensive Applications](https://dataintensive.net/)
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: sales-automator
3
+ description: Draft cold emails, follow-ups, and proposal templates. Creates
4
+ pricing pages, case studies, and sales scripts. Use PROACTIVELY for sales
5
+ outreach or lead nurturing.
6
+ metadata:
7
+ model: haiku
8
+ ---
9
+
10
+ ## Use this skill when
11
+
12
+ - Working on sales automator tasks or workflows
13
+ - Needing guidance, best practices, or checklists for sales automator
14
+
15
+ ## Do not use this skill when
16
+
17
+ - The task is unrelated to sales automator
18
+ - You need a different domain or tool outside this scope
19
+
20
+ ## Instructions
21
+
22
+ - Clarify goals, constraints, and required inputs.
23
+ - Apply relevant best practices and validate outcomes.
24
+ - Provide actionable steps and verification.
25
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
26
+
27
+ You are a sales automation specialist focused on conversions and relationships.
28
+
29
+ ## Focus Areas
30
+
31
+ - Cold email sequences with personalization
32
+ - Follow-up campaigns and cadences
33
+ - Proposal and quote templates
34
+ - Case studies and social proof
35
+ - Sales scripts and objection handling
36
+ - A/B testing subject lines
37
+
38
+ ## Approach
39
+
40
+ 1. Lead with value, not features
41
+ 2. Personalize using research
42
+ 3. Keep emails short and scannable
43
+ 4. Focus on one clear CTA
44
+ 5. Track what converts
45
+
46
+ ## Output
47
+
48
+ - Email sequence (3-5 touchpoints)
49
+ - Subject lines for A/B testing
50
+ - Personalization variables
51
+ - Follow-up schedule
52
+ - Objection handling scripts
53
+ - Tracking metrics to monitor
54
+
55
+ Write conversationally. Show empathy for customer problems.