@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,1077 @@
1
+ # SLO Implementation Guide Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # SLO Implementation Guide
6
+
7
+ You are an SLO (Service Level Objective) expert specializing in implementing reliability standards and error budget-based engineering practices. Design comprehensive SLO frameworks, establish meaningful SLIs, and create monitoring systems that balance reliability with feature velocity.
8
+
9
+ ## Use this skill when
10
+
11
+ - Defining SLIs/SLOs and error budgets for services
12
+ - Building SLO dashboards, alerts, or reporting workflows
13
+ - Aligning reliability targets with business priorities
14
+ - Standardizing reliability practices across teams
15
+
16
+ ## Do not use this skill when
17
+
18
+ - You only need basic monitoring without reliability targets
19
+ - There is no access to service telemetry or metrics
20
+ - The task is unrelated to service reliability
21
+
22
+ ## Safety
23
+
24
+ - Avoid setting SLOs without stakeholder alignment and data validation.
25
+ - Do not alert on metrics that include sensitive or personal data.
26
+
27
+ ## Context
28
+ The user needs to implement SLOs to establish reliability targets, measure service performance, and make data-driven decisions about reliability vs. feature development. Focus on practical SLO implementation that aligns with business objectives.
29
+
30
+ ## Requirements
31
+ $ARGUMENTS
32
+
33
+ ## Instructions
34
+
35
+ ### 1. SLO Foundation
36
+
37
+ Establish SLO fundamentals and framework:
38
+
39
+ **SLO Framework Designer**
40
+ ```python
41
+ import numpy as np
42
+ from datetime import datetime, timedelta
43
+ from typing import Dict, List, Optional
44
+
45
+ class SLOFramework:
46
+ def __init__(self, service_name: str):
47
+ self.service = service_name
48
+ self.slos = []
49
+ self.error_budget = None
50
+
51
+ def design_slo_framework(self):
52
+ """
53
+ Design comprehensive SLO framework
54
+ """
55
+ framework = {
56
+ 'service_context': self._analyze_service_context(),
57
+ 'user_journeys': self._identify_user_journeys(),
58
+ 'sli_candidates': self._identify_sli_candidates(),
59
+ 'slo_targets': self._calculate_slo_targets(),
60
+ 'error_budgets': self._define_error_budgets(),
61
+ 'measurement_strategy': self._design_measurement_strategy()
62
+ }
63
+
64
+ return self._generate_slo_specification(framework)
65
+
66
+ def _analyze_service_context(self):
67
+ """Analyze service characteristics for SLO design"""
68
+ return {
69
+ 'service_tier': self._determine_service_tier(),
70
+ 'user_expectations': self._assess_user_expectations(),
71
+ 'business_impact': self._evaluate_business_impact(),
72
+ 'technical_constraints': self._identify_constraints(),
73
+ 'dependencies': self._map_dependencies()
74
+ }
75
+
76
+ def _determine_service_tier(self):
77
+ """Determine appropriate service tier and SLO targets"""
78
+ tiers = {
79
+ 'critical': {
80
+ 'description': 'Revenue-critical or safety-critical services',
81
+ 'availability_target': 99.95,
82
+ 'latency_p99': 100,
83
+ 'error_rate': 0.001,
84
+ 'examples': ['payment processing', 'authentication']
85
+ },
86
+ 'essential': {
87
+ 'description': 'Core business functionality',
88
+ 'availability_target': 99.9,
89
+ 'latency_p99': 500,
90
+ 'error_rate': 0.01,
91
+ 'examples': ['search', 'product catalog']
92
+ },
93
+ 'standard': {
94
+ 'description': 'Standard features',
95
+ 'availability_target': 99.5,
96
+ 'latency_p99': 1000,
97
+ 'error_rate': 0.05,
98
+ 'examples': ['recommendations', 'analytics']
99
+ },
100
+ 'best_effort': {
101
+ 'description': 'Non-critical features',
102
+ 'availability_target': 99.0,
103
+ 'latency_p99': 2000,
104
+ 'error_rate': 0.1,
105
+ 'examples': ['batch processing', 'reporting']
106
+ }
107
+ }
108
+
109
+ # Analyze service characteristics to determine tier
110
+ characteristics = self._analyze_service_characteristics()
111
+ recommended_tier = self._match_tier(characteristics, tiers)
112
+
113
+ return {
114
+ 'recommended': recommended_tier,
115
+ 'rationale': self._explain_tier_selection(characteristics),
116
+ 'all_tiers': tiers
117
+ }
118
+
119
+ def _identify_user_journeys(self):
120
+ """Map critical user journeys for SLI selection"""
121
+ journeys = []
122
+
123
+ # Example user journey mapping
124
+ journey_template = {
125
+ 'name': 'User Login',
126
+ 'description': 'User authenticates and accesses dashboard',
127
+ 'steps': [
128
+ {
129
+ 'step': 'Load login page',
130
+ 'sli_type': 'availability',
131
+ 'threshold': '< 2s load time'
132
+ },
133
+ {
134
+ 'step': 'Submit credentials',
135
+ 'sli_type': 'latency',
136
+ 'threshold': '< 500ms response'
137
+ },
138
+ {
139
+ 'step': 'Validate authentication',
140
+ 'sli_type': 'error_rate',
141
+ 'threshold': '< 0.1% auth failures'
142
+ },
143
+ {
144
+ 'step': 'Load dashboard',
145
+ 'sli_type': 'latency',
146
+ 'threshold': '< 3s full render'
147
+ }
148
+ ],
149
+ 'critical_path': True,
150
+ 'business_impact': 'high'
151
+ }
152
+
153
+ return journeys
154
+ ```
155
+
156
+ ### 2. SLI Selection and Measurement
157
+
158
+ Choose and implement appropriate SLIs:
159
+
160
+ **SLI Implementation**
161
+ ```python
162
+ class SLIImplementation:
163
+ def __init__(self):
164
+ self.sli_types = {
165
+ 'availability': AvailabilitySLI,
166
+ 'latency': LatencySLI,
167
+ 'error_rate': ErrorRateSLI,
168
+ 'throughput': ThroughputSLI,
169
+ 'quality': QualitySLI
170
+ }
171
+
172
+ def implement_slis(self, service_type):
173
+ """Implement SLIs based on service type"""
174
+ if service_type == 'api':
175
+ return self._api_slis()
176
+ elif service_type == 'web':
177
+ return self._web_slis()
178
+ elif service_type == 'batch':
179
+ return self._batch_slis()
180
+ elif service_type == 'streaming':
181
+ return self._streaming_slis()
182
+
183
+ def _api_slis(self):
184
+ """SLIs for API services"""
185
+ return {
186
+ 'availability': {
187
+ 'definition': 'Percentage of successful requests',
188
+ 'formula': 'successful_requests / total_requests * 100',
189
+ 'implementation': '''
190
+ # Prometheus query for API availability
191
+ api_availability = """
192
+ sum(rate(http_requests_total{status!~"5.."}[5m])) /
193
+ sum(rate(http_requests_total[5m])) * 100
194
+ """
195
+
196
+ # Implementation
197
+ class APIAvailabilitySLI:
198
+ def __init__(self, prometheus_client):
199
+ self.prom = prometheus_client
200
+
201
+ def calculate(self, time_range='5m'):
202
+ query = f"""
203
+ sum(rate(http_requests_total{{status!~"5.."}}[{time_range}])) /
204
+ sum(rate(http_requests_total[{time_range}])) * 100
205
+ """
206
+ result = self.prom.query(query)
207
+ return float(result[0]['value'][1])
208
+
209
+ def calculate_with_exclusions(self, time_range='5m'):
210
+ """Calculate availability excluding certain endpoints"""
211
+ query = f"""
212
+ sum(rate(http_requests_total{{
213
+ status!~"5..",
214
+ endpoint!~"/health|/metrics"
215
+ }}[{time_range}])) /
216
+ sum(rate(http_requests_total{{
217
+ endpoint!~"/health|/metrics"
218
+ }}[{time_range}])) * 100
219
+ """
220
+ return self.prom.query(query)
221
+ '''
222
+ },
223
+ 'latency': {
224
+ 'definition': 'Percentage of requests faster than threshold',
225
+ 'formula': 'fast_requests / total_requests * 100',
226
+ 'implementation': '''
227
+ # Latency SLI with multiple thresholds
228
+ class LatencySLI:
229
+ def __init__(self, thresholds_ms):
230
+ self.thresholds = thresholds_ms # e.g., {'p50': 100, 'p95': 500, 'p99': 1000}
231
+
232
+ def calculate_latency_sli(self, time_range='5m'):
233
+ slis = {}
234
+
235
+ for percentile, threshold in self.thresholds.items():
236
+ query = f"""
237
+ sum(rate(http_request_duration_seconds_bucket{{
238
+ le="{threshold/1000}"
239
+ }}[{time_range}])) /
240
+ sum(rate(http_request_duration_seconds_count[{time_range}])) * 100
241
+ """
242
+
243
+ slis[f'latency_{percentile}'] = {
244
+ 'value': self.execute_query(query),
245
+ 'threshold': threshold,
246
+ 'unit': 'ms'
247
+ }
248
+
249
+ return slis
250
+
251
+ def calculate_user_centric_latency(self):
252
+ """Calculate latency from user perspective"""
253
+ # Include client-side metrics
254
+ query = """
255
+ histogram_quantile(0.95,
256
+ sum(rate(user_request_duration_bucket[5m])) by (le)
257
+ )
258
+ """
259
+ return self.execute_query(query)
260
+ '''
261
+ },
262
+ 'error_rate': {
263
+ 'definition': 'Percentage of successful requests',
264
+ 'formula': '(1 - error_requests / total_requests) * 100',
265
+ 'implementation': '''
266
+ class ErrorRateSLI:
267
+ def calculate_error_rate(self, time_range='5m'):
268
+ """Calculate error rate with categorization"""
269
+
270
+ # Different error categories
271
+ error_categories = {
272
+ 'client_errors': 'status=~"4.."',
273
+ 'server_errors': 'status=~"5.."',
274
+ 'timeout_errors': 'status="504"',
275
+ 'business_errors': 'error_type="business_logic"'
276
+ }
277
+
278
+ results = {}
279
+ for category, filter_expr in error_categories.items():
280
+ query = f"""
281
+ sum(rate(http_requests_total{{{filter_expr}}}[{time_range}])) /
282
+ sum(rate(http_requests_total[{time_range}])) * 100
283
+ """
284
+ results[category] = self.execute_query(query)
285
+
286
+ # Overall error rate (excluding 4xx)
287
+ overall_query = f"""
288
+ (1 - sum(rate(http_requests_total{{status=~"5.."}}[{time_range}])) /
289
+ sum(rate(http_requests_total[{time_range}]))) * 100
290
+ """
291
+ results['overall_success_rate'] = self.execute_query(overall_query)
292
+
293
+ return results
294
+ '''
295
+ }
296
+ }
297
+ ```
298
+
299
+ ### 3. Error Budget Calculation
300
+
301
+ Implement error budget tracking:
302
+
303
+ **Error Budget Manager**
304
+ ```python
305
+ class ErrorBudgetManager:
306
+ def __init__(self, slo_target: float, window_days: int):
307
+ self.slo_target = slo_target
308
+ self.window_days = window_days
309
+ self.error_budget_minutes = self._calculate_total_budget()
310
+
311
+ def _calculate_total_budget(self):
312
+ """Calculate total error budget in minutes"""
313
+ total_minutes = self.window_days * 24 * 60
314
+ allowed_downtime_ratio = 1 - (self.slo_target / 100)
315
+ return total_minutes * allowed_downtime_ratio
316
+
317
+ def calculate_error_budget_status(self, start_date, end_date):
318
+ """Calculate current error budget status"""
319
+ # Get actual performance
320
+ actual_uptime = self._get_actual_uptime(start_date, end_date)
321
+
322
+ # Calculate consumed budget
323
+ total_time = (end_date - start_date).total_seconds() / 60
324
+ expected_uptime = total_time * (self.slo_target / 100)
325
+ consumed_minutes = expected_uptime - actual_uptime
326
+
327
+ # Calculate remaining budget
328
+ remaining_budget = self.error_budget_minutes - consumed_minutes
329
+ burn_rate = consumed_minutes / self.error_budget_minutes
330
+
331
+ # Project exhaustion
332
+ if burn_rate > 0:
333
+ days_until_exhaustion = (self.window_days * (1 - burn_rate)) / burn_rate
334
+ else:
335
+ days_until_exhaustion = float('inf')
336
+
337
+ return {
338
+ 'total_budget_minutes': self.error_budget_minutes,
339
+ 'consumed_minutes': consumed_minutes,
340
+ 'remaining_minutes': remaining_budget,
341
+ 'burn_rate': burn_rate,
342
+ 'budget_percentage_remaining': (remaining_budget / self.error_budget_minutes) * 100,
343
+ 'projected_exhaustion_days': days_until_exhaustion,
344
+ 'status': self._determine_status(remaining_budget, burn_rate)
345
+ }
346
+
347
+ def _determine_status(self, remaining_budget, burn_rate):
348
+ """Determine error budget status"""
349
+ if remaining_budget <= 0:
350
+ return 'exhausted'
351
+ elif burn_rate > 2:
352
+ return 'critical'
353
+ elif burn_rate > 1.5:
354
+ return 'warning'
355
+ elif burn_rate > 1:
356
+ return 'attention'
357
+ else:
358
+ return 'healthy'
359
+
360
+ def generate_burn_rate_alerts(self):
361
+ """Generate multi-window burn rate alerts"""
362
+ return {
363
+ 'fast_burn': {
364
+ 'description': '14.4x burn rate over 1 hour',
365
+ 'condition': 'burn_rate >= 14.4 AND window = 1h',
366
+ 'action': 'page',
367
+ 'budget_consumed': '2% in 1 hour'
368
+ },
369
+ 'slow_burn': {
370
+ 'description': '3x burn rate over 6 hours',
371
+ 'condition': 'burn_rate >= 3 AND window = 6h',
372
+ 'action': 'ticket',
373
+ 'budget_consumed': '10% in 6 hours'
374
+ }
375
+ }
376
+ ```
377
+
378
+ ### 4. SLO Monitoring Setup
379
+
380
+ Implement comprehensive SLO monitoring:
381
+
382
+ **SLO Monitoring Implementation**
383
+ ```yaml
384
+ # Prometheus recording rules for SLO
385
+ groups:
386
+ - name: slo_rules
387
+ interval: 30s
388
+ rules:
389
+ # Request rate
390
+ - record: service:request_rate
391
+ expr: |
392
+ sum(rate(http_requests_total[5m])) by (service, method, route)
393
+
394
+ # Success rate
395
+ - record: service:success_rate_5m
396
+ expr: |
397
+ (
398
+ sum(rate(http_requests_total{status!~"5.."}[5m])) by (service)
399
+ /
400
+ sum(rate(http_requests_total[5m])) by (service)
401
+ ) * 100
402
+
403
+ # Multi-window success rates
404
+ - record: service:success_rate_30m
405
+ expr: |
406
+ (
407
+ sum(rate(http_requests_total{status!~"5.."}[30m])) by (service)
408
+ /
409
+ sum(rate(http_requests_total[30m])) by (service)
410
+ ) * 100
411
+
412
+ - record: service:success_rate_1h
413
+ expr: |
414
+ (
415
+ sum(rate(http_requests_total{status!~"5.."}[1h])) by (service)
416
+ /
417
+ sum(rate(http_requests_total[1h])) by (service)
418
+ ) * 100
419
+
420
+ # Latency percentiles
421
+ - record: service:latency_p50_5m
422
+ expr: |
423
+ histogram_quantile(0.50,
424
+ sum(rate(http_request_duration_seconds_bucket[5m])) by (service, le)
425
+ )
426
+
427
+ - record: service:latency_p95_5m
428
+ expr: |
429
+ histogram_quantile(0.95,
430
+ sum(rate(http_request_duration_seconds_bucket[5m])) by (service, le)
431
+ )
432
+
433
+ - record: service:latency_p99_5m
434
+ expr: |
435
+ histogram_quantile(0.99,
436
+ sum(rate(http_request_duration_seconds_bucket[5m])) by (service, le)
437
+ )
438
+
439
+ # Error budget burn rate
440
+ - record: service:error_budget_burn_rate_1h
441
+ expr: |
442
+ (
443
+ 1 - (
444
+ sum(increase(http_requests_total{status!~"5.."}[1h])) by (service)
445
+ /
446
+ sum(increase(http_requests_total[1h])) by (service)
447
+ )
448
+ ) / (1 - 0.999) # 99.9% SLO
449
+ ```
450
+
451
+ **Alert Configuration**
452
+ ```yaml
453
+ # Multi-window multi-burn-rate alerts
454
+ groups:
455
+ - name: slo_alerts
456
+ rules:
457
+ # Fast burn alert (2% budget in 1 hour)
458
+ - alert: ErrorBudgetFastBurn
459
+ expr: |
460
+ (
461
+ service:error_budget_burn_rate_5m{service="api"} > 14.4
462
+ AND
463
+ service:error_budget_burn_rate_1h{service="api"} > 14.4
464
+ )
465
+ for: 2m
466
+ labels:
467
+ severity: critical
468
+ team: platform
469
+ annotations:
470
+ summary: "Fast error budget burn for {{ $labels.service }}"
471
+ description: |
472
+ Service {{ $labels.service }} is burning error budget at 14.4x rate.
473
+ Current burn rate: {{ $value }}x
474
+ This will exhaust 2% of monthly budget in 1 hour.
475
+
476
+ # Slow burn alert (10% budget in 6 hours)
477
+ - alert: ErrorBudgetSlowBurn
478
+ expr: |
479
+ (
480
+ service:error_budget_burn_rate_30m{service="api"} > 3
481
+ AND
482
+ service:error_budget_burn_rate_6h{service="api"} > 3
483
+ )
484
+ for: 15m
485
+ labels:
486
+ severity: warning
487
+ team: platform
488
+ annotations:
489
+ summary: "Slow error budget burn for {{ $labels.service }}"
490
+ description: |
491
+ Service {{ $labels.service }} is burning error budget at 3x rate.
492
+ Current burn rate: {{ $value }}x
493
+ This will exhaust 10% of monthly budget in 6 hours.
494
+ ```
495
+
496
+ ### 5. SLO Dashboard
497
+
498
+ Create comprehensive SLO dashboards:
499
+
500
+ **Grafana Dashboard Configuration**
501
+ ```python
502
+ def create_slo_dashboard():
503
+ """Generate Grafana dashboard for SLO monitoring"""
504
+ return {
505
+ "dashboard": {
506
+ "title": "Service SLO Dashboard",
507
+ "panels": [
508
+ {
509
+ "title": "SLO Summary",
510
+ "type": "stat",
511
+ "gridPos": {"h": 4, "w": 6, "x": 0, "y": 0},
512
+ "targets": [{
513
+ "expr": "service:success_rate_30d{service=\"$service\"}",
514
+ "legendFormat": "30-day SLO"
515
+ }],
516
+ "fieldConfig": {
517
+ "defaults": {
518
+ "thresholds": {
519
+ "mode": "absolute",
520
+ "steps": [
521
+ {"color": "red", "value": None},
522
+ {"color": "yellow", "value": 99.5},
523
+ {"color": "green", "value": 99.9}
524
+ ]
525
+ },
526
+ "unit": "percent"
527
+ }
528
+ }
529
+ },
530
+ {
531
+ "title": "Error Budget Status",
532
+ "type": "gauge",
533
+ "gridPos": {"h": 4, "w": 6, "x": 6, "y": 0},
534
+ "targets": [{
535
+ "expr": '''
536
+ 100 * (
537
+ 1 - (
538
+ (1 - service:success_rate_30d{service="$service"}/100) /
539
+ (1 - $slo_target/100)
540
+ )
541
+ )
542
+ ''',
543
+ "legendFormat": "Remaining Budget"
544
+ }],
545
+ "fieldConfig": {
546
+ "defaults": {
547
+ "min": 0,
548
+ "max": 100,
549
+ "thresholds": {
550
+ "mode": "absolute",
551
+ "steps": [
552
+ {"color": "red", "value": None},
553
+ {"color": "yellow", "value": 20},
554
+ {"color": "green", "value": 50}
555
+ ]
556
+ },
557
+ "unit": "percent"
558
+ }
559
+ }
560
+ },
561
+ {
562
+ "title": "Burn Rate Trend",
563
+ "type": "graph",
564
+ "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0},
565
+ "targets": [
566
+ {
567
+ "expr": "service:error_budget_burn_rate_1h{service=\"$service\"}",
568
+ "legendFormat": "1h burn rate"
569
+ },
570
+ {
571
+ "expr": "service:error_budget_burn_rate_6h{service=\"$service\"}",
572
+ "legendFormat": "6h burn rate"
573
+ },
574
+ {
575
+ "expr": "service:error_budget_burn_rate_24h{service=\"$service\"}",
576
+ "legendFormat": "24h burn rate"
577
+ }
578
+ ],
579
+ "yaxes": [{
580
+ "format": "short",
581
+ "label": "Burn Rate (x)",
582
+ "min": 0
583
+ }],
584
+ "alert": {
585
+ "conditions": [{
586
+ "evaluator": {"params": [14.4], "type": "gt"},
587
+ "operator": {"type": "and"},
588
+ "query": {"params": ["A", "5m", "now"]},
589
+ "type": "query"
590
+ }],
591
+ "name": "High burn rate detected"
592
+ }
593
+ }
594
+ ]
595
+ }
596
+ }
597
+ ```
598
+
599
+ ### 6. SLO Reporting
600
+
601
+ Generate SLO reports and reviews:
602
+
603
+ **SLO Report Generator**
604
+ ```python
605
+ class SLOReporter:
606
+ def __init__(self, metrics_client):
607
+ self.metrics = metrics_client
608
+
609
+ def generate_monthly_report(self, service, month):
610
+ """Generate comprehensive monthly SLO report"""
611
+ report_data = {
612
+ 'service': service,
613
+ 'period': month,
614
+ 'slo_performance': self._calculate_slo_performance(service, month),
615
+ 'incidents': self._analyze_incidents(service, month),
616
+ 'error_budget': self._analyze_error_budget(service, month),
617
+ 'trends': self._analyze_trends(service, month),
618
+ 'recommendations': self._generate_recommendations(service, month)
619
+ }
620
+
621
+ return self._format_report(report_data)
622
+
623
+ def _calculate_slo_performance(self, service, month):
624
+ """Calculate SLO performance metrics"""
625
+ slos = {}
626
+
627
+ # Availability SLO
628
+ availability_query = f"""
629
+ avg_over_time(
630
+ service:success_rate_5m{{service="{service}"}}[{month}]
631
+ )
632
+ """
633
+ slos['availability'] = {
634
+ 'target': 99.9,
635
+ 'actual': self.metrics.query(availability_query),
636
+ 'met': self.metrics.query(availability_query) >= 99.9
637
+ }
638
+
639
+ # Latency SLO
640
+ latency_query = f"""
641
+ quantile_over_time(0.95,
642
+ service:latency_p95_5m{{service="{service}"}}[{month}]
643
+ )
644
+ """
645
+ slos['latency_p95'] = {
646
+ 'target': 500, # ms
647
+ 'actual': self.metrics.query(latency_query) * 1000,
648
+ 'met': self.metrics.query(latency_query) * 1000 <= 500
649
+ }
650
+
651
+ return slos
652
+
653
+ def _format_report(self, data):
654
+ """Format report as HTML"""
655
+ return f"""
656
+ <!DOCTYPE html>
657
+ <html>
658
+ <head>
659
+ <title>SLO Report - {data['service']} - {data['period']}</title>
660
+ <style>
661
+ body {{ font-family: Arial, sans-serif; margin: 40px; }}
662
+ .summary {{ background: #f0f0f0; padding: 20px; border-radius: 8px; }}
663
+ .metric {{ margin: 20px 0; }}
664
+ .good {{ color: green; }}
665
+ .bad {{ color: red; }}
666
+ table {{ border-collapse: collapse; width: 100%; }}
667
+ th, td {{ border: 1px solid #ddd; padding: 8px; text-align: left; }}
668
+ .chart {{ margin: 20px 0; }}
669
+ </style>
670
+ </head>
671
+ <body>
672
+ <h1>SLO Report: {data['service']}</h1>
673
+ <h2>Period: {data['period']}</h2>
674
+
675
+ <div class="summary">
676
+ <h3>Executive Summary</h3>
677
+ <p>Service reliability: {data['slo_performance']['availability']['actual']:.2f}%</p>
678
+ <p>Error budget remaining: {data['error_budget']['remaining_percentage']:.1f}%</p>
679
+ <p>Number of incidents: {len(data['incidents'])}</p>
680
+ </div>
681
+
682
+ <div class="metric">
683
+ <h3>SLO Performance</h3>
684
+ <table>
685
+ <tr>
686
+ <th>SLO</th>
687
+ <th>Target</th>
688
+ <th>Actual</th>
689
+ <th>Status</th>
690
+ </tr>
691
+ {self._format_slo_table_rows(data['slo_performance'])}
692
+ </table>
693
+ </div>
694
+
695
+ <div class="incidents">
696
+ <h3>Incident Analysis</h3>
697
+ {self._format_incident_analysis(data['incidents'])}
698
+ </div>
699
+
700
+ <div class="recommendations">
701
+ <h3>Recommendations</h3>
702
+ {self._format_recommendations(data['recommendations'])}
703
+ </div>
704
+ </body>
705
+ </html>
706
+ """
707
+ ```
708
+
709
+ ### 7. SLO-Based Decision Making
710
+
711
+ Implement SLO-driven engineering decisions:
712
+
713
+ **SLO Decision Framework**
714
+ ```python
715
+ class SLODecisionFramework:
716
+ def __init__(self, error_budget_policy):
717
+ self.policy = error_budget_policy
718
+
719
+ def make_release_decision(self, service, release_risk):
720
+ """Make release decisions based on error budget"""
721
+ budget_status = self.get_error_budget_status(service)
722
+
723
+ decision_matrix = {
724
+ 'healthy': {
725
+ 'low_risk': 'approve',
726
+ 'medium_risk': 'approve',
727
+ 'high_risk': 'review'
728
+ },
729
+ 'attention': {
730
+ 'low_risk': 'approve',
731
+ 'medium_risk': 'review',
732
+ 'high_risk': 'defer'
733
+ },
734
+ 'warning': {
735
+ 'low_risk': 'review',
736
+ 'medium_risk': 'defer',
737
+ 'high_risk': 'block'
738
+ },
739
+ 'critical': {
740
+ 'low_risk': 'defer',
741
+ 'medium_risk': 'block',
742
+ 'high_risk': 'block'
743
+ },
744
+ 'exhausted': {
745
+ 'low_risk': 'block',
746
+ 'medium_risk': 'block',
747
+ 'high_risk': 'block'
748
+ }
749
+ }
750
+
751
+ decision = decision_matrix[budget_status['status']][release_risk]
752
+
753
+ return {
754
+ 'decision': decision,
755
+ 'rationale': self._explain_decision(budget_status, release_risk),
756
+ 'conditions': self._get_approval_conditions(decision, budget_status),
757
+ 'alternative_actions': self._suggest_alternatives(decision, budget_status)
758
+ }
759
+
760
+ def prioritize_reliability_work(self, service):
761
+ """Prioritize reliability improvements based on SLO gaps"""
762
+ slo_gaps = self.analyze_slo_gaps(service)
763
+
764
+ priorities = []
765
+ for gap in slo_gaps:
766
+ priority_score = self.calculate_priority_score(gap)
767
+
768
+ priorities.append({
769
+ 'issue': gap['issue'],
770
+ 'impact': gap['impact'],
771
+ 'effort': gap['estimated_effort'],
772
+ 'priority_score': priority_score,
773
+ 'recommended_actions': self.recommend_actions(gap)
774
+ })
775
+
776
+ return sorted(priorities, key=lambda x: x['priority_score'], reverse=True)
777
+
778
+ def calculate_toil_budget(self, team_size, slo_performance):
779
+ """Calculate how much toil is acceptable based on SLOs"""
780
+ # If meeting SLOs, can afford more toil
781
+ # If not meeting SLOs, need to reduce toil
782
+
783
+ base_toil_percentage = 50 # Google SRE recommendation
784
+
785
+ if slo_performance >= 100:
786
+ # Exceeding SLO, can take on more toil
787
+ toil_budget = base_toil_percentage + 10
788
+ elif slo_performance >= 99:
789
+ # Meeting SLO
790
+ toil_budget = base_toil_percentage
791
+ else:
792
+ # Not meeting SLO, reduce toil
793
+ toil_budget = base_toil_percentage - (100 - slo_performance) * 5
794
+
795
+ return {
796
+ 'toil_percentage': max(toil_budget, 20), # Minimum 20%
797
+ 'toil_hours_per_week': (toil_budget / 100) * 40 * team_size,
798
+ 'automation_hours_per_week': ((100 - toil_budget) / 100) * 40 * team_size
799
+ }
800
+ ```
801
+
802
+ ### 8. SLO Templates
803
+
804
+ Provide SLO templates for common services:
805
+
806
+ **SLO Template Library**
807
+ ```python
808
+ class SLOTemplates:
809
+ @staticmethod
810
+ def get_api_service_template():
811
+ """SLO template for API services"""
812
+ return {
813
+ 'name': 'API Service SLO Template',
814
+ 'slos': [
815
+ {
816
+ 'name': 'availability',
817
+ 'description': 'The proportion of successful requests',
818
+ 'sli': {
819
+ 'type': 'ratio',
820
+ 'good_events': 'requests with status != 5xx',
821
+ 'total_events': 'all requests'
822
+ },
823
+ 'objectives': [
824
+ {'window': '30d', 'target': 99.9}
825
+ ]
826
+ },
827
+ {
828
+ 'name': 'latency',
829
+ 'description': 'The proportion of fast requests',
830
+ 'sli': {
831
+ 'type': 'ratio',
832
+ 'good_events': 'requests faster than 500ms',
833
+ 'total_events': 'all requests'
834
+ },
835
+ 'objectives': [
836
+ {'window': '30d', 'target': 95.0}
837
+ ]
838
+ }
839
+ ]
840
+ }
841
+
842
+ @staticmethod
843
+ def get_data_pipeline_template():
844
+ """SLO template for data pipelines"""
845
+ return {
846
+ 'name': 'Data Pipeline SLO Template',
847
+ 'slos': [
848
+ {
849
+ 'name': 'freshness',
850
+ 'description': 'Data is processed within SLA',
851
+ 'sli': {
852
+ 'type': 'ratio',
853
+ 'good_events': 'batches processed within 30 minutes',
854
+ 'total_events': 'all batches'
855
+ },
856
+ 'objectives': [
857
+ {'window': '7d', 'target': 99.0}
858
+ ]
859
+ },
860
+ {
861
+ 'name': 'completeness',
862
+ 'description': 'All expected data is processed',
863
+ 'sli': {
864
+ 'type': 'ratio',
865
+ 'good_events': 'records successfully processed',
866
+ 'total_events': 'all records'
867
+ },
868
+ 'objectives': [
869
+ {'window': '7d', 'target': 99.95}
870
+ ]
871
+ }
872
+ ]
873
+ }
874
+ ```
875
+
876
+ ### 9. SLO Automation
877
+
878
+ Automate SLO management:
879
+
880
+ **SLO Automation Tools**
881
+ ```python
882
+ class SLOAutomation:
883
+ def __init__(self):
884
+ self.config = self.load_slo_config()
885
+
886
+ def auto_generate_slos(self, service_discovery):
887
+ """Automatically generate SLOs for discovered services"""
888
+ services = service_discovery.get_all_services()
889
+ generated_slos = []
890
+
891
+ for service in services:
892
+ # Analyze service characteristics
893
+ characteristics = self.analyze_service(service)
894
+
895
+ # Select appropriate template
896
+ template = self.select_template(characteristics)
897
+
898
+ # Customize based on observed behavior
899
+ customized_slo = self.customize_slo(template, service)
900
+
901
+ generated_slos.append(customized_slo)
902
+
903
+ return generated_slos
904
+
905
+ def implement_progressive_slos(self, service):
906
+ """Implement progressively stricter SLOs"""
907
+ return {
908
+ 'phase1': {
909
+ 'duration': '1 month',
910
+ 'target': 99.0,
911
+ 'description': 'Baseline establishment'
912
+ },
913
+ 'phase2': {
914
+ 'duration': '2 months',
915
+ 'target': 99.5,
916
+ 'description': 'Initial improvement'
917
+ },
918
+ 'phase3': {
919
+ 'duration': '3 months',
920
+ 'target': 99.9,
921
+ 'description': 'Production readiness'
922
+ },
923
+ 'phase4': {
924
+ 'duration': 'ongoing',
925
+ 'target': 99.95,
926
+ 'description': 'Excellence'
927
+ }
928
+ }
929
+
930
+ def create_slo_as_code(self):
931
+ """Define SLOs as code"""
932
+ return '''
933
+ # slo_definitions.yaml
934
+ apiVersion: slo.dev/v1
935
+ kind: ServiceLevelObjective
936
+ metadata:
937
+ name: api-availability
938
+ namespace: production
939
+ spec:
940
+ service: api-service
941
+ description: API service availability SLO
942
+
943
+ indicator:
944
+ type: ratio
945
+ counter:
946
+ metric: http_requests_total
947
+ filters:
948
+ - status_code != 5xx
949
+ total:
950
+ metric: http_requests_total
951
+
952
+ objectives:
953
+ - displayName: 30-day rolling window
954
+ window: 30d
955
+ target: 0.999
956
+
957
+ alerting:
958
+ burnRates:
959
+ - severity: critical
960
+ shortWindow: 1h
961
+ longWindow: 5m
962
+ burnRate: 14.4
963
+ - severity: warning
964
+ shortWindow: 6h
965
+ longWindow: 30m
966
+ burnRate: 3
967
+
968
+ annotations:
969
+ runbook: https://runbooks.example.com/api-availability
970
+ dashboard: https://grafana.example.com/d/api-slo
971
+ '''
972
+ ```
973
+
974
+ ### 10. SLO Culture and Governance
975
+
976
+ Establish SLO culture:
977
+
978
+ **SLO Governance Framework**
979
+ ```python
980
+ class SLOGovernance:
981
+ def establish_slo_culture(self):
982
+ """Establish SLO-driven culture"""
983
+ return {
984
+ 'principles': [
985
+ 'SLOs are a shared responsibility',
986
+ 'Error budgets drive prioritization',
987
+ 'Reliability is a feature',
988
+ 'Measure what matters to users'
989
+ ],
990
+ 'practices': {
991
+ 'weekly_reviews': self.weekly_slo_review_template(),
992
+ 'incident_retrospectives': self.slo_incident_template(),
993
+ 'quarterly_planning': self.quarterly_slo_planning(),
994
+ 'stakeholder_communication': self.stakeholder_report_template()
995
+ },
996
+ 'roles': {
997
+ 'slo_owner': {
998
+ 'responsibilities': [
999
+ 'Define and maintain SLO definitions',
1000
+ 'Monitor SLO performance',
1001
+ 'Lead SLO reviews',
1002
+ 'Communicate with stakeholders'
1003
+ ]
1004
+ },
1005
+ 'engineering_team': {
1006
+ 'responsibilities': [
1007
+ 'Implement SLI measurements',
1008
+ 'Respond to SLO breaches',
1009
+ 'Improve reliability',
1010
+ 'Participate in reviews'
1011
+ ]
1012
+ },
1013
+ 'product_owner': {
1014
+ 'responsibilities': [
1015
+ 'Balance features vs reliability',
1016
+ 'Approve error budget usage',
1017
+ 'Set business priorities',
1018
+ 'Communicate with customers'
1019
+ ]
1020
+ }
1021
+ }
1022
+ }
1023
+
1024
+ def create_slo_review_process(self):
1025
+ """Create structured SLO review process"""
1026
+ return '''
1027
+ # Weekly SLO Review Template
1028
+
1029
+ ## Agenda (30 minutes)
1030
+
1031
+ ### 1. SLO Performance Review (10 min)
1032
+ - Current SLO status for all services
1033
+ - Error budget consumption rate
1034
+ - Trend analysis
1035
+
1036
+ ### 2. Incident Review (10 min)
1037
+ - Incidents impacting SLOs
1038
+ - Root cause analysis
1039
+ - Action items
1040
+
1041
+ ### 3. Decision Making (10 min)
1042
+ - Release approvals/deferrals
1043
+ - Resource allocation
1044
+ - Priority adjustments
1045
+
1046
+ ## Review Checklist
1047
+
1048
+ - [ ] All SLOs reviewed
1049
+ - [ ] Burn rates analyzed
1050
+ - [ ] Incidents discussed
1051
+ - [ ] Action items assigned
1052
+ - [ ] Decisions documented
1053
+
1054
+ ## Output Template
1055
+
1056
+ ### Service: [Service Name]
1057
+ - **SLO Status**: [Green/Yellow/Red]
1058
+ - **Error Budget**: [XX%] remaining
1059
+ - **Key Issues**: [List]
1060
+ - **Actions**: [List with owners]
1061
+ - **Decisions**: [List]
1062
+ '''
1063
+ ```
1064
+
1065
+ ## Output Format
1066
+
1067
+ 1. **SLO Framework**: Comprehensive SLO design and objectives
1068
+ 2. **SLI Implementation**: Code and queries for measuring SLIs
1069
+ 3. **Error Budget Tracking**: Calculations and burn rate monitoring
1070
+ 4. **Monitoring Setup**: Prometheus rules and Grafana dashboards
1071
+ 5. **Alert Configuration**: Multi-window multi-burn-rate alerts
1072
+ 6. **Reporting Templates**: Monthly reports and reviews
1073
+ 7. **Decision Framework**: SLO-based engineering decisions
1074
+ 8. **Automation Tools**: SLO-as-code and auto-generation
1075
+ 9. **Governance Process**: Culture and review processes
1076
+
1077
+ Focus on creating meaningful SLOs that balance reliability with feature velocity, providing clear signals for engineering decisions and fostering a culture of reliability.