@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.
- package/CATALOG.md +317 -0
- package/README.md +121 -0
- package/aliases.json +65 -0
- package/bin/vibe.js +2 -0
- package/bundles.json +265 -0
- package/catalog.json +1560 -0
- package/dist/antigravity-skills/bin/cli.js +438 -0
- package/dist/antigravity-skills/lib/skill-utils.js +158 -0
- package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
- package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
- package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
- package/dist/bin/vibe.js +2 -0
- package/dist/dist/src/cli/index.js +26 -0
- package/dist/lib/skill-utils.js +158 -0
- package/dist/scripts/build-catalog.js +50 -0
- package/dist/scripts/normalize-frontmatter.js +144 -0
- package/dist/scripts/validate-skills.js +56 -0
- package/dist/src/cli/index.js +146 -0
- package/dist/src/types/index.js +13 -0
- package/dist/src/utils/fs.js +1 -0
- package/package.json +43 -0
- package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
- package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
- package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
- package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
- package/skills/agent-orchestrator/SKILL.md +24 -0
- package/skills/ai-engineer/SKILL.md +171 -0
- package/skills/airflow-dag-patterns/SKILL.md +41 -0
- package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
- package/skills/angular-migration/SKILL.md +428 -0
- package/skills/anti-reversing-techniques/SKILL.md +42 -0
- package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
- package/skills/api-design-principles/SKILL.md +37 -0
- package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/skills/api-documenter/SKILL.md +184 -0
- package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
- package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
- package/skills/application-performance-performance-optimization/SKILL.md +154 -0
- package/skills/architect-review/SKILL.md +174 -0
- package/skills/architecture-decision-records/SKILL.md +441 -0
- package/skills/architecture-patterns/SKILL.md +37 -0
- package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
- package/skills/arm-cortex-expert/SKILL.md +306 -0
- package/skills/async-python-patterns/SKILL.md +39 -0
- package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
- package/skills/attack-tree-construction/SKILL.md +38 -0
- package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
- package/skills/auth-implementation-patterns/SKILL.md +39 -0
- package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
- package/skills/backend-architect/SKILL.md +333 -0
- package/skills/backend-development-feature-development/SKILL.md +180 -0
- package/skills/backend-security-coder/SKILL.md +156 -0
- package/skills/backtesting-frameworks/SKILL.md +39 -0
- package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
- package/skills/bash-defensive-patterns/SKILL.md +43 -0
- package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
- package/skills/bash-pro/SKILL.md +310 -0
- package/skills/bats-testing-patterns/SKILL.md +34 -0
- package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
- package/skills/bazel-build-optimization/SKILL.md +397 -0
- package/skills/billing-automation/SKILL.md +42 -0
- package/skills/billing-automation/resources/implementation-playbook.md +544 -0
- package/skills/binary-analysis-patterns/SKILL.md +450 -0
- package/skills/blockchain-developer/SKILL.md +208 -0
- package/skills/business-analyst/SKILL.md +182 -0
- package/skills/c-pro/SKILL.md +56 -0
- package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
- package/skills/c4-code/SKILL.md +244 -0
- package/skills/c4-component/SKILL.md +153 -0
- package/skills/c4-container/SKILL.md +171 -0
- package/skills/c4-context/SKILL.md +150 -0
- package/skills/changelog-automation/SKILL.md +38 -0
- package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
- package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
- package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
- package/skills/clean-markdown/SKILL.md +23 -0
- package/skills/cloud-architect/SKILL.md +135 -0
- package/skills/code-documentation-code-explain/SKILL.md +46 -0
- package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
- package/skills/code-documentation-doc-generate/SKILL.md +48 -0
- package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/code-refactoring-context-restore/SKILL.md +179 -0
- package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
- package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
- package/skills/code-review-ai-ai-review/SKILL.md +450 -0
- package/skills/code-review-excellence/SKILL.md +40 -0
- package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
- package/skills/code-reviewer/SKILL.md +178 -0
- package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
- package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
- package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
- package/skills/competitive-landscape/SKILL.md +34 -0
- package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
- package/skills/comprehensive-review-full-review/SKILL.md +146 -0
- package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
- package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
- package/skills/conductor-implement/SKILL.md +388 -0
- package/skills/conductor-manage/SKILL.md +39 -0
- package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
- package/skills/conductor-new-track/SKILL.md +433 -0
- package/skills/conductor-revert/SKILL.md +372 -0
- package/skills/conductor-setup/SKILL.md +426 -0
- package/skills/conductor-status/SKILL.md +338 -0
- package/skills/conductor-validator/SKILL.md +62 -0
- package/skills/content-marketer/SKILL.md +170 -0
- package/skills/context-driven-development/SKILL.md +400 -0
- package/skills/context-management-context-restore/SKILL.md +179 -0
- package/skills/context-management-context-save/SKILL.md +177 -0
- package/skills/context-manager/SKILL.md +185 -0
- package/skills/cost-optimization/SKILL.md +286 -0
- package/skills/cpp-pro/SKILL.md +59 -0
- package/skills/cqrs-implementation/SKILL.md +35 -0
- package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
- package/skills/csharp-pro/SKILL.md +59 -0
- package/skills/customer-support/SKILL.md +170 -0
- package/skills/data-engineer/SKILL.md +224 -0
- package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
- package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
- package/skills/data-quality-frameworks/SKILL.md +40 -0
- package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
- package/skills/data-scientist/SKILL.md +199 -0
- package/skills/data-storytelling/SKILL.md +465 -0
- package/skills/database-admin/SKILL.md +165 -0
- package/skills/database-architect/SKILL.md +268 -0
- package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
- package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
- package/skills/database-migration/SKILL.md +436 -0
- package/skills/database-migrations-migration-observability/SKILL.md +420 -0
- package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
- package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
- package/skills/database-optimizer/SKILL.md +167 -0
- package/skills/dbt-transformation-patterns/SKILL.md +34 -0
- package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
- package/skills/debugger/SKILL.md +49 -0
- package/skills/debugging-strategies/SKILL.md +34 -0
- package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
- package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
- package/skills/defi-protocol-templates/SKILL.md +466 -0
- package/skills/dependency-management-deps-audit/SKILL.md +44 -0
- package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/dependency-upgrade/SKILL.md +421 -0
- package/skills/deployment-engineer/SKILL.md +170 -0
- package/skills/deployment-pipeline-design/SKILL.md +371 -0
- package/skills/deployment-validation-config-validate/SKILL.md +496 -0
- package/skills/devops-troubleshooter/SKILL.md +161 -0
- package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
- package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
- package/skills/distributed-tracing/SKILL.md +450 -0
- package/skills/django-pro/SKILL.md +180 -0
- package/skills/docs-architect/SKILL.md +98 -0
- package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
- package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/dotnet-architect/SKILL.md +197 -0
- package/skills/dotnet-backend-patterns/SKILL.md +37 -0
- package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
- package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
- package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
- package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
- package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
- package/skills/dummy-skill/SKILL.md +5 -0
- package/skills/dx-optimizer/SKILL.md +83 -0
- package/skills/e2e-testing-patterns/SKILL.md +41 -0
- package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
- package/skills/elixir-pro/SKILL.md +59 -0
- package/skills/embedding-strategies/SKILL.md +491 -0
- package/skills/employment-contract-templates/SKILL.md +39 -0
- package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
- package/skills/error-debugging-error-analysis/SKILL.md +47 -0
- package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-debugging-error-trace/SKILL.md +43 -0
- package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
- package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
- package/skills/error-detective/SKILL.md +53 -0
- package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
- package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
- package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
- package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
- package/skills/error-handling-patterns/SKILL.md +35 -0
- package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
- package/skills/event-sourcing-architect/SKILL.md +58 -0
- package/skills/event-store-design/SKILL.md +449 -0
- package/skills/fastapi-pro/SKILL.md +192 -0
- package/skills/fastapi-templates/SKILL.md +32 -0
- package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
- package/skills/final-test/SKILL.md +5 -0
- package/skills/firmware-analyst/SKILL.md +320 -0
- package/skills/flutter-expert/SKILL.md +200 -0
- package/skills/framework-migration-code-migrate/SKILL.md +48 -0
- package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
- package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
- package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
- package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
- package/skills/frontend-developer/SKILL.md +171 -0
- package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
- package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
- package/skills/frontend-security-coder/SKILL.md +170 -0
- package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
- package/skills/gdpr-data-handling/SKILL.md +33 -0
- package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
- package/skills/git-advanced-workflows/SKILL.md +412 -0
- package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
- package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
- package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
- package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
- package/skills/github-actions-templates/SKILL.md +345 -0
- package/skills/gitlab-ci-patterns/SKILL.md +283 -0
- package/skills/gitops-workflow/SKILL.md +303 -0
- package/skills/gitops-workflow/references/argocd-setup.md +134 -0
- package/skills/gitops-workflow/references/sync-policies.md +131 -0
- package/skills/go-concurrency-patterns/SKILL.md +33 -0
- package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
- package/skills/godot-gdscript-patterns/SKILL.md +33 -0
- package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
- package/skills/golang-pro/SKILL.md +179 -0
- package/skills/grafana-dashboards/SKILL.md +381 -0
- package/skills/graphql-architect/SKILL.md +182 -0
- package/skills/haskell-pro/SKILL.md +56 -0
- package/skills/helm-chart-scaffolding/SKILL.md +34 -0
- package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
- package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
- package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
- package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
- package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
- package/skills/hr-pro/SKILL.md +126 -0
- package/skills/hybrid-cloud-architect/SKILL.md +168 -0
- package/skills/hybrid-cloud-networking/SKILL.md +238 -0
- package/skills/hybrid-search-implementation/SKILL.md +32 -0
- package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
- package/skills/incident-responder/SKILL.md +213 -0
- package/skills/incident-response-incident-response/SKILL.md +168 -0
- package/skills/incident-response-smart-fix/SKILL.md +29 -0
- package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
- package/skills/incident-runbook-templates/SKILL.md +395 -0
- package/skills/ios-developer/SKILL.md +219 -0
- package/skills/istio-traffic-management/SKILL.md +337 -0
- package/skills/java-pro/SKILL.md +177 -0
- package/skills/javascript-pro/SKILL.md +57 -0
- package/skills/javascript-testing-patterns/SKILL.md +35 -0
- package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
- package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
- package/skills/julia-pro/SKILL.md +209 -0
- package/skills/k8s-manifest-generator/SKILL.md +35 -0
- package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
- package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
- package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
- package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
- package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
- package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
- package/skills/k8s-security-policies/SKILL.md +346 -0
- package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
- package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
- package/skills/kpi-dashboard-design/SKILL.md +440 -0
- package/skills/kubernetes-architect/SKILL.md +170 -0
- package/skills/langchain-architecture/SKILL.md +350 -0
- package/skills/legacy-modernizer/SKILL.md +53 -0
- package/skills/legal-advisor/SKILL.md +70 -0
- package/skills/linkerd-patterns/SKILL.md +321 -0
- package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
- package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
- package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
- package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
- package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
- package/skills/llm-evaluation/SKILL.md +483 -0
- package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
- package/skills/malware-analyst/SKILL.md +247 -0
- package/skills/market-sizing-analysis/SKILL.md +425 -0
- package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
- package/skills/market-sizing-analysis/references/data-sources.md +360 -0
- package/skills/memory-forensics/SKILL.md +491 -0
- package/skills/memory-safety-patterns/SKILL.md +33 -0
- package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
- package/skills/mermaid-expert/SKILL.md +59 -0
- package/skills/microservices-patterns/SKILL.md +35 -0
- package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
- package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
- package/skills/ml-engineer/SKILL.md +168 -0
- package/skills/ml-pipeline-workflow/SKILL.md +257 -0
- package/skills/mlops-engineer/SKILL.md +219 -0
- package/skills/mobile-developer/SKILL.md +205 -0
- package/skills/mobile-security-coder/SKILL.md +184 -0
- package/skills/modern-javascript-patterns/SKILL.md +35 -0
- package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
- package/skills/monorepo-architect/SKILL.md +61 -0
- package/skills/monorepo-management/SKILL.md +35 -0
- package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
- package/skills/mtls-configuration/SKILL.md +359 -0
- package/skills/multi-cloud-architecture/SKILL.md +189 -0
- package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
- package/skills/network-engineer/SKILL.md +169 -0
- package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
- package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
- package/skills/nft-standards/SKILL.md +395 -0
- package/skills/node-expert/SKILL.md +23 -0
- package/skills/nodejs-backend-patterns/SKILL.md +35 -0
- package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
- package/skills/nx-workspace-patterns/SKILL.md +464 -0
- package/skills/observability-engineer/SKILL.md +237 -0
- package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
- package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
- package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
- package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
- package/skills/on-call-handoff-patterns/SKILL.md +453 -0
- package/skills/openapi-spec-generation/SKILL.md +33 -0
- package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
- package/skills/payment-integration/SKILL.md +77 -0
- package/skills/paypal-integration/SKILL.md +479 -0
- package/skills/pci-compliance/SKILL.md +478 -0
- package/skills/performance-engineer/SKILL.md +180 -0
- package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
- package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
- package/skills/php-pro/SKILL.md +63 -0
- package/skills/posix-shell-pro/SKILL.md +304 -0
- package/skills/postgresql/SKILL.md +230 -0
- package/skills/postmortem-writing/SKILL.md +386 -0
- package/skills/projection-patterns/SKILL.md +33 -0
- package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
- package/skills/prometheus-configuration/SKILL.md +404 -0
- package/skills/prompt-engineer/SKILL.md +272 -0
- package/skills/prompt-engineering-patterns/SKILL.md +213 -0
- package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
- package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
- package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
- package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
- package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
- package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
- package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
- package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
- package/skills/protocol-reverse-engineering/SKILL.md +29 -0
- package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
- package/skills/python-development-python-scaffold/SKILL.md +331 -0
- package/skills/python-packaging/SKILL.md +36 -0
- package/skills/python-packaging/resources/implementation-playbook.md +869 -0
- package/skills/python-performance-optimization/SKILL.md +36 -0
- package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
- package/skills/python-pro/SKILL.md +158 -0
- package/skills/python-testing-patterns/SKILL.md +37 -0
- package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
- package/skills/quant-analyst/SKILL.md +53 -0
- package/skills/rag-implementation/SKILL.md +421 -0
- package/skills/react-modernization/SKILL.md +34 -0
- package/skills/react-modernization/resources/implementation-playbook.md +512 -0
- package/skills/react-native-architecture/SKILL.md +33 -0
- package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
- package/skills/react-state-management/SKILL.md +441 -0
- package/skills/reference-builder/SKILL.md +188 -0
- package/skills/reverse-engineer/SKILL.md +173 -0
- package/skills/risk-manager/SKILL.md +61 -0
- package/skills/risk-metrics-calculation/SKILL.md +33 -0
- package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
- package/skills/ruby-pro/SKILL.md +56 -0
- package/skills/rust-async-patterns/SKILL.md +33 -0
- package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
- package/skills/rust-pro/SKILL.md +178 -0
- package/skills/saga-orchestration/SKILL.md +496 -0
- package/skills/sales-automator/SKILL.md +55 -0
- package/skills/sast-configuration/SKILL.md +212 -0
- package/skills/scala-pro/SKILL.md +82 -0
- package/skills/screen-reader-testing/SKILL.md +33 -0
- package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
- package/skills/search-specialist/SKILL.md +80 -0
- package/skills/secrets-management/SKILL.md +364 -0
- package/skills/security-auditor/SKILL.md +169 -0
- package/skills/security-compliance-compliance-check/SKILL.md +55 -0
- package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
- package/skills/security-requirement-extraction/SKILL.md +33 -0
- package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
- package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
- package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
- package/skills/security-scanning-security-hardening/SKILL.md +147 -0
- package/skills/security-scanning-security-sast/SKILL.md +495 -0
- package/skills/seo-authority-builder/SKILL.md +136 -0
- package/skills/seo-cannibalization-detector/SKILL.md +123 -0
- package/skills/seo-content-auditor/SKILL.md +83 -0
- package/skills/seo-content-planner/SKILL.md +108 -0
- package/skills/seo-content-refresher/SKILL.md +118 -0
- package/skills/seo-content-writer/SKILL.md +96 -0
- package/skills/seo-keyword-strategist/SKILL.md +95 -0
- package/skills/seo-meta-optimizer/SKILL.md +92 -0
- package/skills/seo-snippet-hunter/SKILL.md +114 -0
- package/skills/seo-structure-architect/SKILL.md +108 -0
- package/skills/service-mesh-expert/SKILL.md +58 -0
- package/skills/service-mesh-observability/SKILL.md +395 -0
- package/skills/shellcheck-configuration/SKILL.md +466 -0
- package/skills/similarity-search-patterns/SKILL.md +33 -0
- package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
- package/skills/slo-implementation/SKILL.md +341 -0
- package/skills/solidity-security/SKILL.md +34 -0
- package/skills/solidity-security/resources/implementation-playbook.md +524 -0
- package/skills/spark-optimization/SKILL.md +427 -0
- package/skills/sql-optimization-patterns/SKILL.md +35 -0
- package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
- package/skills/sql-pro/SKILL.md +173 -0
- package/skills/startup-analyst/SKILL.md +328 -0
- package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
- package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
- package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
- package/skills/startup-financial-modeling/SKILL.md +467 -0
- package/skills/startup-metrics-framework/SKILL.md +34 -0
- package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
- package/skills/stride-analysis-patterns/SKILL.md +33 -0
- package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
- package/skills/stripe-integration/SKILL.md +454 -0
- package/skills/systems-programming-rust-project/SKILL.md +440 -0
- package/skills/tailwind-design-system/SKILL.md +33 -0
- package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
- package/skills/tdd-orchestrator/SKILL.md +205 -0
- package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
- package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
- package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
- package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
- package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
- package/skills/team-collaboration-issue/SKILL.md +37 -0
- package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
- package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
- package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
- package/skills/team-composition-analysis/SKILL.md +413 -0
- package/skills/temporal-python-pro/SKILL.md +370 -0
- package/skills/temporal-python-testing/SKILL.md +170 -0
- package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
- package/skills/temporal-python-testing/resources/local-setup.md +553 -0
- package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
- package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
- package/skills/terraform-module-library/SKILL.md +261 -0
- package/skills/terraform-module-library/references/aws-modules.md +63 -0
- package/skills/terraform-specialist/SKILL.md +166 -0
- package/skills/test-automator/SKILL.md +224 -0
- package/skills/threat-mitigation-mapping/SKILL.md +33 -0
- package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
- package/skills/threat-modeling-expert/SKILL.md +60 -0
- package/skills/track-management/SKILL.md +38 -0
- package/skills/track-management/resources/implementation-playbook.md +591 -0
- package/skills/turborepo-caching/SKILL.md +419 -0
- package/skills/tutorial-engineer/SKILL.md +139 -0
- package/skills/typescript-advanced-types/SKILL.md +35 -0
- package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
- package/skills/typescript-pro/SKILL.md +55 -0
- package/skills/ui-minimal/SKILL.md +23 -0
- package/skills/ui-ux-designer/SKILL.md +209 -0
- package/skills/ui-visual-validator/SKILL.md +214 -0
- package/skills/unit-testing-test-generate/SKILL.md +319 -0
- package/skills/unity-developer/SKILL.md +230 -0
- package/skills/unity-ecs-patterns/SKILL.md +33 -0
- package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
- package/skills/uv-package-manager/SKILL.md +37 -0
- package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
- package/skills/vector-database-engineer/SKILL.md +60 -0
- package/skills/vector-index-tuning/SKILL.md +42 -0
- package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
- package/skills/wcag-audit-patterns/SKILL.md +41 -0
- package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
- package/skills/web3-testing/SKILL.md +427 -0
- package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
- package/skills/workflow-patterns/SKILL.md +38 -0
- package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: observability-monitoring-monitor-setup
|
|
3
|
+
description: "You are a monitoring and observability expert specializing in implementing comprehensive monitoring solutions. Set up metrics collection, distributed tracing, log aggregation, and create insightful da"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Monitoring and Observability Setup
|
|
7
|
+
|
|
8
|
+
You are a monitoring and observability expert specializing in implementing comprehensive monitoring solutions. Set up metrics collection, distributed tracing, log aggregation, and create insightful dashboards that provide full visibility into system health and performance.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Working on monitoring and observability setup tasks or workflows
|
|
13
|
+
- Needing guidance, best practices, or checklists for monitoring and observability setup
|
|
14
|
+
|
|
15
|
+
## Do not use this skill when
|
|
16
|
+
|
|
17
|
+
- The task is unrelated to monitoring and observability setup
|
|
18
|
+
- You need a different domain or tool outside this scope
|
|
19
|
+
|
|
20
|
+
## Context
|
|
21
|
+
The user needs to implement or improve monitoring and observability. Focus on the three pillars of observability (metrics, logs, traces), setting up monitoring infrastructure, creating actionable dashboards, and establishing effective alerting strategies.
|
|
22
|
+
|
|
23
|
+
## Requirements
|
|
24
|
+
$ARGUMENTS
|
|
25
|
+
|
|
26
|
+
## Instructions
|
|
27
|
+
|
|
28
|
+
- Clarify goals, constraints, and required inputs.
|
|
29
|
+
- Apply relevant best practices and validate outcomes.
|
|
30
|
+
- Provide actionable steps and verification.
|
|
31
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
32
|
+
|
|
33
|
+
## Output Format
|
|
34
|
+
|
|
35
|
+
1. **Infrastructure Assessment**: Current monitoring capabilities analysis
|
|
36
|
+
2. **Monitoring Architecture**: Complete monitoring stack design
|
|
37
|
+
3. **Implementation Plan**: Step-by-step deployment guide
|
|
38
|
+
4. **Metric Definitions**: Comprehensive metrics catalog
|
|
39
|
+
5. **Dashboard Templates**: Ready-to-use Grafana dashboards
|
|
40
|
+
6. **Alert Runbooks**: Detailed alert response procedures
|
|
41
|
+
7. **SLO Definitions**: Service level objectives and error budgets
|
|
42
|
+
8. **Integration Guide**: Service instrumentation instructions
|
|
43
|
+
|
|
44
|
+
Focus on creating a monitoring system that provides actionable insights, reduces MTTR, and enables proactive issue detection.
|
|
45
|
+
|
|
46
|
+
## Resources
|
|
47
|
+
|
|
48
|
+
- `resources/implementation-playbook.md` for detailed patterns and examples.
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
# Monitoring and Observability Setup Implementation Playbook
|
|
2
|
+
|
|
3
|
+
This file contains detailed patterns, checklists, and code samples referenced by the skill.
|
|
4
|
+
|
|
5
|
+
# Monitoring and Observability Setup
|
|
6
|
+
|
|
7
|
+
You are a monitoring and observability expert specializing in implementing comprehensive monitoring solutions. Set up metrics collection, distributed tracing, log aggregation, and create insightful dashboards that provide full visibility into system health and performance.
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
The user needs to implement or improve monitoring and observability. Focus on the three pillars of observability (metrics, logs, traces), setting up monitoring infrastructure, creating actionable dashboards, and establishing effective alerting strategies.
|
|
11
|
+
|
|
12
|
+
## Requirements
|
|
13
|
+
$ARGUMENTS
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
### 1. Prometheus & Metrics Setup
|
|
18
|
+
|
|
19
|
+
**Prometheus Configuration**
|
|
20
|
+
```yaml
|
|
21
|
+
# prometheus.yml
|
|
22
|
+
global:
|
|
23
|
+
scrape_interval: 15s
|
|
24
|
+
evaluation_interval: 15s
|
|
25
|
+
external_labels:
|
|
26
|
+
cluster: 'production'
|
|
27
|
+
region: 'us-east-1'
|
|
28
|
+
|
|
29
|
+
alerting:
|
|
30
|
+
alertmanagers:
|
|
31
|
+
- static_configs:
|
|
32
|
+
- targets: ['alertmanager:9093']
|
|
33
|
+
|
|
34
|
+
rule_files:
|
|
35
|
+
- "alerts/*.yml"
|
|
36
|
+
- "recording_rules/*.yml"
|
|
37
|
+
|
|
38
|
+
scrape_configs:
|
|
39
|
+
- job_name: 'prometheus'
|
|
40
|
+
static_configs:
|
|
41
|
+
- targets: ['localhost:9090']
|
|
42
|
+
|
|
43
|
+
- job_name: 'node'
|
|
44
|
+
static_configs:
|
|
45
|
+
- targets: ['node-exporter:9100']
|
|
46
|
+
|
|
47
|
+
- job_name: 'application'
|
|
48
|
+
kubernetes_sd_configs:
|
|
49
|
+
- role: pod
|
|
50
|
+
relabel_configs:
|
|
51
|
+
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
|
|
52
|
+
action: keep
|
|
53
|
+
regex: true
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Custom Metrics Implementation**
|
|
57
|
+
```typescript
|
|
58
|
+
// metrics.ts
|
|
59
|
+
import { Counter, Histogram, Gauge, Registry } from 'prom-client';
|
|
60
|
+
|
|
61
|
+
export class MetricsCollector {
|
|
62
|
+
private registry: Registry;
|
|
63
|
+
private httpRequestDuration: Histogram<string>;
|
|
64
|
+
private httpRequestTotal: Counter<string>;
|
|
65
|
+
|
|
66
|
+
constructor() {
|
|
67
|
+
this.registry = new Registry();
|
|
68
|
+
this.initializeMetrics();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
private initializeMetrics() {
|
|
72
|
+
this.httpRequestDuration = new Histogram({
|
|
73
|
+
name: 'http_request_duration_seconds',
|
|
74
|
+
help: 'Duration of HTTP requests in seconds',
|
|
75
|
+
labelNames: ['method', 'route', 'status_code'],
|
|
76
|
+
buckets: [0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 2, 5]
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
this.httpRequestTotal = new Counter({
|
|
80
|
+
name: 'http_requests_total',
|
|
81
|
+
help: 'Total number of HTTP requests',
|
|
82
|
+
labelNames: ['method', 'route', 'status_code']
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
this.registry.registerMetric(this.httpRequestDuration);
|
|
86
|
+
this.registry.registerMetric(this.httpRequestTotal);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
httpMetricsMiddleware() {
|
|
90
|
+
return (req: Request, res: Response, next: NextFunction) => {
|
|
91
|
+
const start = Date.now();
|
|
92
|
+
const route = req.route?.path || req.path;
|
|
93
|
+
|
|
94
|
+
res.on('finish', () => {
|
|
95
|
+
const duration = (Date.now() - start) / 1000;
|
|
96
|
+
const labels = {
|
|
97
|
+
method: req.method,
|
|
98
|
+
route,
|
|
99
|
+
status_code: res.statusCode.toString()
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
this.httpRequestDuration.observe(labels, duration);
|
|
103
|
+
this.httpRequestTotal.inc(labels);
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
next();
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
async getMetrics(): Promise<string> {
|
|
111
|
+
return this.registry.metrics();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 2. Grafana Dashboard Setup
|
|
117
|
+
|
|
118
|
+
**Dashboard Configuration**
|
|
119
|
+
```typescript
|
|
120
|
+
// dashboards/service-dashboard.ts
|
|
121
|
+
export const createServiceDashboard = (serviceName: string) => {
|
|
122
|
+
return {
|
|
123
|
+
title: `${serviceName} Service Dashboard`,
|
|
124
|
+
uid: `${serviceName}-overview`,
|
|
125
|
+
tags: ['service', serviceName],
|
|
126
|
+
time: { from: 'now-6h', to: 'now' },
|
|
127
|
+
refresh: '30s',
|
|
128
|
+
|
|
129
|
+
panels: [
|
|
130
|
+
// Golden Signals
|
|
131
|
+
{
|
|
132
|
+
title: 'Request Rate',
|
|
133
|
+
type: 'graph',
|
|
134
|
+
gridPos: { x: 0, y: 0, w: 6, h: 8 },
|
|
135
|
+
targets: [{
|
|
136
|
+
expr: `sum(rate(http_requests_total{service="${serviceName}"}[5m])) by (method)`,
|
|
137
|
+
legendFormat: '{{method}}'
|
|
138
|
+
}]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: 'Error Rate',
|
|
142
|
+
type: 'graph',
|
|
143
|
+
gridPos: { x: 6, y: 0, w: 6, h: 8 },
|
|
144
|
+
targets: [{
|
|
145
|
+
expr: `sum(rate(http_requests_total{service="${serviceName}",status_code=~"5.."}[5m])) / sum(rate(http_requests_total{service="${serviceName}"}[5m]))`,
|
|
146
|
+
legendFormat: 'Error %'
|
|
147
|
+
}]
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
title: 'Latency Percentiles',
|
|
151
|
+
type: 'graph',
|
|
152
|
+
gridPos: { x: 12, y: 0, w: 12, h: 8 },
|
|
153
|
+
targets: [
|
|
154
|
+
{
|
|
155
|
+
expr: `histogram_quantile(0.50, sum(rate(http_request_duration_seconds_bucket{service="${serviceName}"}[5m])) by (le))`,
|
|
156
|
+
legendFormat: 'p50'
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
expr: `histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{service="${serviceName}"}[5m])) by (le))`,
|
|
160
|
+
legendFormat: 'p95'
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
expr: `histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{service="${serviceName}"}[5m])) by (le))`,
|
|
164
|
+
legendFormat: 'p99'
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### 3. Distributed Tracing
|
|
174
|
+
|
|
175
|
+
**OpenTelemetry Configuration**
|
|
176
|
+
```typescript
|
|
177
|
+
// tracing.ts
|
|
178
|
+
import { NodeSDK } from '@opentelemetry/sdk-node';
|
|
179
|
+
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
|
|
180
|
+
import { Resource } from '@opentelemetry/resources';
|
|
181
|
+
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
|
|
182
|
+
import { JaegerExporter } from '@opentelemetry/exporter-jaeger';
|
|
183
|
+
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
184
|
+
|
|
185
|
+
export class TracingSetup {
|
|
186
|
+
private sdk: NodeSDK;
|
|
187
|
+
|
|
188
|
+
constructor(serviceName: string, environment: string) {
|
|
189
|
+
const jaegerExporter = new JaegerExporter({
|
|
190
|
+
endpoint: process.env.JAEGER_ENDPOINT || 'http://localhost:14268/api/traces',
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
this.sdk = new NodeSDK({
|
|
194
|
+
resource: new Resource({
|
|
195
|
+
[SemanticResourceAttributes.SERVICE_NAME]: serviceName,
|
|
196
|
+
[SemanticResourceAttributes.SERVICE_VERSION]: process.env.SERVICE_VERSION || '1.0.0',
|
|
197
|
+
[SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: environment,
|
|
198
|
+
}),
|
|
199
|
+
|
|
200
|
+
traceExporter: jaegerExporter,
|
|
201
|
+
spanProcessor: new BatchSpanProcessor(jaegerExporter),
|
|
202
|
+
|
|
203
|
+
instrumentations: [
|
|
204
|
+
getNodeAutoInstrumentations({
|
|
205
|
+
'@opentelemetry/instrumentation-fs': { enabled: false },
|
|
206
|
+
}),
|
|
207
|
+
],
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
start() {
|
|
212
|
+
this.sdk.start()
|
|
213
|
+
.then(() => console.log('Tracing initialized'))
|
|
214
|
+
.catch((error) => console.error('Error initializing tracing', error));
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
shutdown() {
|
|
218
|
+
return this.sdk.shutdown();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 4. Log Aggregation
|
|
224
|
+
|
|
225
|
+
**Fluentd Configuration**
|
|
226
|
+
```yaml
|
|
227
|
+
# fluent.conf
|
|
228
|
+
<source>
|
|
229
|
+
@type tail
|
|
230
|
+
path /var/log/containers/*.log
|
|
231
|
+
pos_file /var/log/fluentd-containers.log.pos
|
|
232
|
+
tag kubernetes.*
|
|
233
|
+
<parse>
|
|
234
|
+
@type json
|
|
235
|
+
time_format %Y-%m-%dT%H:%M:%S.%NZ
|
|
236
|
+
</parse>
|
|
237
|
+
</source>
|
|
238
|
+
|
|
239
|
+
<filter kubernetes.**>
|
|
240
|
+
@type kubernetes_metadata
|
|
241
|
+
kubernetes_url "#{ENV['KUBERNETES_SERVICE_HOST']}"
|
|
242
|
+
</filter>
|
|
243
|
+
|
|
244
|
+
<filter kubernetes.**>
|
|
245
|
+
@type record_transformer
|
|
246
|
+
<record>
|
|
247
|
+
cluster_name ${ENV['CLUSTER_NAME']}
|
|
248
|
+
environment ${ENV['ENVIRONMENT']}
|
|
249
|
+
@timestamp ${time.strftime('%Y-%m-%dT%H:%M:%S.%LZ')}
|
|
250
|
+
</record>
|
|
251
|
+
</filter>
|
|
252
|
+
|
|
253
|
+
<match kubernetes.**>
|
|
254
|
+
@type elasticsearch
|
|
255
|
+
host "#{ENV['FLUENT_ELASTICSEARCH_HOST']}"
|
|
256
|
+
port "#{ENV['FLUENT_ELASTICSEARCH_PORT']}"
|
|
257
|
+
index_name logstash
|
|
258
|
+
logstash_format true
|
|
259
|
+
<buffer>
|
|
260
|
+
@type file
|
|
261
|
+
path /var/log/fluentd-buffers/kubernetes.buffer
|
|
262
|
+
flush_interval 5s
|
|
263
|
+
chunk_limit_size 2M
|
|
264
|
+
</buffer>
|
|
265
|
+
</match>
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Structured Logging Library**
|
|
269
|
+
```python
|
|
270
|
+
# structured_logging.py
|
|
271
|
+
import json
|
|
272
|
+
import logging
|
|
273
|
+
from datetime import datetime
|
|
274
|
+
from typing import Any, Dict, Optional
|
|
275
|
+
|
|
276
|
+
class StructuredLogger:
|
|
277
|
+
def __init__(self, name: str, service: str, version: str):
|
|
278
|
+
self.logger = logging.getLogger(name)
|
|
279
|
+
self.service = service
|
|
280
|
+
self.version = version
|
|
281
|
+
self.default_context = {
|
|
282
|
+
'service': service,
|
|
283
|
+
'version': version,
|
|
284
|
+
'environment': os.getenv('ENVIRONMENT', 'development')
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
def _format_log(self, level: str, message: str, context: Dict[str, Any]) -> str:
|
|
288
|
+
log_entry = {
|
|
289
|
+
'@timestamp': datetime.utcnow().isoformat() + 'Z',
|
|
290
|
+
'level': level,
|
|
291
|
+
'message': message,
|
|
292
|
+
**self.default_context,
|
|
293
|
+
**context
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
trace_context = self._get_trace_context()
|
|
297
|
+
if trace_context:
|
|
298
|
+
log_entry['trace'] = trace_context
|
|
299
|
+
|
|
300
|
+
return json.dumps(log_entry)
|
|
301
|
+
|
|
302
|
+
def info(self, message: str, **context):
|
|
303
|
+
log_msg = self._format_log('INFO', message, context)
|
|
304
|
+
self.logger.info(log_msg)
|
|
305
|
+
|
|
306
|
+
def error(self, message: str, error: Optional[Exception] = None, **context):
|
|
307
|
+
if error:
|
|
308
|
+
context['error'] = {
|
|
309
|
+
'type': type(error).__name__,
|
|
310
|
+
'message': str(error),
|
|
311
|
+
'stacktrace': traceback.format_exc()
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
log_msg = self._format_log('ERROR', message, context)
|
|
315
|
+
self.logger.error(log_msg)
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 5. Alert Configuration
|
|
319
|
+
|
|
320
|
+
**Alert Rules**
|
|
321
|
+
```yaml
|
|
322
|
+
# alerts/application.yml
|
|
323
|
+
groups:
|
|
324
|
+
- name: application
|
|
325
|
+
interval: 30s
|
|
326
|
+
rules:
|
|
327
|
+
- alert: HighErrorRate
|
|
328
|
+
expr: |
|
|
329
|
+
sum(rate(http_requests_total{status_code=~"5.."}[5m])) by (service)
|
|
330
|
+
/ sum(rate(http_requests_total[5m])) by (service) > 0.05
|
|
331
|
+
for: 5m
|
|
332
|
+
labels:
|
|
333
|
+
severity: critical
|
|
334
|
+
annotations:
|
|
335
|
+
summary: "High error rate on {{ $labels.service }}"
|
|
336
|
+
description: "Error rate is {{ $value | humanizePercentage }}"
|
|
337
|
+
|
|
338
|
+
- alert: SlowResponseTime
|
|
339
|
+
expr: |
|
|
340
|
+
histogram_quantile(0.95,
|
|
341
|
+
sum(rate(http_request_duration_seconds_bucket[5m])) by (service, le)
|
|
342
|
+
) > 1
|
|
343
|
+
for: 10m
|
|
344
|
+
labels:
|
|
345
|
+
severity: warning
|
|
346
|
+
annotations:
|
|
347
|
+
summary: "Slow response time on {{ $labels.service }}"
|
|
348
|
+
|
|
349
|
+
- name: infrastructure
|
|
350
|
+
rules:
|
|
351
|
+
- alert: HighCPUUsage
|
|
352
|
+
expr: avg(rate(container_cpu_usage_seconds_total[5m])) by (pod) > 0.8
|
|
353
|
+
for: 15m
|
|
354
|
+
labels:
|
|
355
|
+
severity: warning
|
|
356
|
+
|
|
357
|
+
- alert: HighMemoryUsage
|
|
358
|
+
expr: |
|
|
359
|
+
container_memory_working_set_bytes / container_spec_memory_limit_bytes > 0.9
|
|
360
|
+
for: 10m
|
|
361
|
+
labels:
|
|
362
|
+
severity: critical
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
**Alertmanager Configuration**
|
|
366
|
+
```yaml
|
|
367
|
+
# alertmanager.yml
|
|
368
|
+
global:
|
|
369
|
+
resolve_timeout: 5m
|
|
370
|
+
slack_api_url: '$SLACK_API_URL'
|
|
371
|
+
|
|
372
|
+
route:
|
|
373
|
+
group_by: ['alertname', 'cluster', 'service']
|
|
374
|
+
group_wait: 10s
|
|
375
|
+
group_interval: 10s
|
|
376
|
+
repeat_interval: 12h
|
|
377
|
+
receiver: 'default'
|
|
378
|
+
|
|
379
|
+
routes:
|
|
380
|
+
- match:
|
|
381
|
+
severity: critical
|
|
382
|
+
receiver: pagerduty
|
|
383
|
+
continue: true
|
|
384
|
+
|
|
385
|
+
- match_re:
|
|
386
|
+
severity: critical|warning
|
|
387
|
+
receiver: slack
|
|
388
|
+
|
|
389
|
+
receivers:
|
|
390
|
+
- name: 'slack'
|
|
391
|
+
slack_configs:
|
|
392
|
+
- channel: '#alerts'
|
|
393
|
+
title: '{{ .GroupLabels.alertname }}'
|
|
394
|
+
text: '{{ range .Alerts }}{{ .Annotations.description }}{{ end }}'
|
|
395
|
+
send_resolved: true
|
|
396
|
+
|
|
397
|
+
- name: 'pagerduty'
|
|
398
|
+
pagerduty_configs:
|
|
399
|
+
- service_key: '$PAGERDUTY_SERVICE_KEY'
|
|
400
|
+
description: '{{ .GroupLabels.alertname }}: {{ .Annotations.summary }}'
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### 6. SLO Implementation
|
|
404
|
+
|
|
405
|
+
**SLO Configuration**
|
|
406
|
+
```typescript
|
|
407
|
+
// slo-manager.ts
|
|
408
|
+
interface SLO {
|
|
409
|
+
name: string;
|
|
410
|
+
target: number; // e.g., 99.9
|
|
411
|
+
window: string; // e.g., '30d'
|
|
412
|
+
burnRates: BurnRate[];
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
export class SLOManager {
|
|
416
|
+
private slos: SLO[] = [
|
|
417
|
+
{
|
|
418
|
+
name: 'API Availability',
|
|
419
|
+
target: 99.9,
|
|
420
|
+
window: '30d',
|
|
421
|
+
burnRates: [
|
|
422
|
+
{ window: '1h', threshold: 14.4, severity: 'critical' },
|
|
423
|
+
{ window: '6h', threshold: 6, severity: 'critical' },
|
|
424
|
+
{ window: '1d', threshold: 3, severity: 'warning' }
|
|
425
|
+
]
|
|
426
|
+
}
|
|
427
|
+
];
|
|
428
|
+
|
|
429
|
+
generateSLOQueries(): string {
|
|
430
|
+
return this.slos.map(slo => this.generateSLOQuery(slo)).join('\n\n');
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
private generateSLOQuery(slo: SLO): string {
|
|
434
|
+
const errorBudget = 1 - (slo.target / 100);
|
|
435
|
+
|
|
436
|
+
return `
|
|
437
|
+
# ${slo.name} SLO
|
|
438
|
+
- record: slo:${this.sanitizeName(slo.name)}:error_budget
|
|
439
|
+
expr: ${errorBudget}
|
|
440
|
+
|
|
441
|
+
- record: slo:${this.sanitizeName(slo.name)}:consumed_error_budget
|
|
442
|
+
expr: |
|
|
443
|
+
1 - (sum(rate(successful_requests[${slo.window}])) / sum(rate(total_requests[${slo.window}])))
|
|
444
|
+
`;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### 7. Infrastructure as Code
|
|
450
|
+
|
|
451
|
+
**Terraform Configuration**
|
|
452
|
+
```hcl
|
|
453
|
+
# monitoring.tf
|
|
454
|
+
module "prometheus" {
|
|
455
|
+
source = "./modules/prometheus"
|
|
456
|
+
|
|
457
|
+
namespace = "monitoring"
|
|
458
|
+
storage_size = "100Gi"
|
|
459
|
+
retention_days = 30
|
|
460
|
+
|
|
461
|
+
external_labels = {
|
|
462
|
+
cluster = var.cluster_name
|
|
463
|
+
region = var.region
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
module "grafana" {
|
|
468
|
+
source = "./modules/grafana"
|
|
469
|
+
|
|
470
|
+
namespace = "monitoring"
|
|
471
|
+
admin_password = var.grafana_admin_password
|
|
472
|
+
|
|
473
|
+
datasources = [
|
|
474
|
+
{
|
|
475
|
+
name = "Prometheus"
|
|
476
|
+
type = "prometheus"
|
|
477
|
+
url = "http://prometheus:9090"
|
|
478
|
+
}
|
|
479
|
+
]
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
module "alertmanager" {
|
|
483
|
+
source = "./modules/alertmanager"
|
|
484
|
+
|
|
485
|
+
namespace = "monitoring"
|
|
486
|
+
|
|
487
|
+
config = templatefile("${path.module}/alertmanager.yml", {
|
|
488
|
+
slack_webhook = var.slack_webhook
|
|
489
|
+
pagerduty_key = var.pagerduty_service_key
|
|
490
|
+
})
|
|
491
|
+
}
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
## Output Format
|
|
495
|
+
|
|
496
|
+
1. **Infrastructure Assessment**: Current monitoring capabilities analysis
|
|
497
|
+
2. **Monitoring Architecture**: Complete monitoring stack design
|
|
498
|
+
3. **Implementation Plan**: Step-by-step deployment guide
|
|
499
|
+
4. **Metric Definitions**: Comprehensive metrics catalog
|
|
500
|
+
5. **Dashboard Templates**: Ready-to-use Grafana dashboards
|
|
501
|
+
6. **Alert Runbooks**: Detailed alert response procedures
|
|
502
|
+
7. **SLO Definitions**: Service level objectives and error budgets
|
|
503
|
+
8. **Integration Guide**: Service instrumentation instructions
|
|
504
|
+
|
|
505
|
+
Focus on creating a monitoring system that provides actionable insights, reduces MTTR, and enables proactive issue detection.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: observability-monitoring-slo-implement
|
|
3
|
+
description: "You are an SLO (Service Level Objective) expert specializing in implementing reliability standards and error budget-based practices. Design SLO frameworks, define SLIs, and build monitoring that balances reliability with delivery velocity."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SLO Implementation Guide
|
|
7
|
+
|
|
8
|
+
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.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Defining SLIs/SLOs and error budgets for services
|
|
13
|
+
- Building SLO dashboards, alerts, or reporting workflows
|
|
14
|
+
- Aligning reliability targets with business priorities
|
|
15
|
+
- Standardizing reliability practices across teams
|
|
16
|
+
|
|
17
|
+
## Do not use this skill when
|
|
18
|
+
|
|
19
|
+
- You only need basic monitoring without reliability targets
|
|
20
|
+
- There is no access to service telemetry or metrics
|
|
21
|
+
- The task is unrelated to service reliability
|
|
22
|
+
|
|
23
|
+
## Context
|
|
24
|
+
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.
|
|
25
|
+
|
|
26
|
+
## Requirements
|
|
27
|
+
$ARGUMENTS
|
|
28
|
+
|
|
29
|
+
## Instructions
|
|
30
|
+
|
|
31
|
+
- Clarify goals, constraints, and required inputs.
|
|
32
|
+
- Apply relevant best practices and validate outcomes.
|
|
33
|
+
- Provide actionable steps and verification.
|
|
34
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
35
|
+
|
|
36
|
+
## Safety
|
|
37
|
+
|
|
38
|
+
- Avoid setting SLOs without stakeholder alignment and data validation.
|
|
39
|
+
- Do not alert on metrics that include sensitive or personal data.
|
|
40
|
+
|
|
41
|
+
## Resources
|
|
42
|
+
|
|
43
|
+
- `resources/implementation-playbook.md` for detailed patterns and examples.
|