@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,450 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distributed-tracing
|
|
3
|
+
description: Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Distributed Tracing
|
|
7
|
+
|
|
8
|
+
Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.
|
|
9
|
+
|
|
10
|
+
## Do not use this skill when
|
|
11
|
+
|
|
12
|
+
- The task is unrelated to distributed tracing
|
|
13
|
+
- You need a different domain or tool outside this scope
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
- Clarify goals, constraints, and required inputs.
|
|
18
|
+
- Apply relevant best practices and validate outcomes.
|
|
19
|
+
- Provide actionable steps and verification.
|
|
20
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
21
|
+
|
|
22
|
+
## Purpose
|
|
23
|
+
|
|
24
|
+
Track requests across distributed systems to understand latency, dependencies, and failure points.
|
|
25
|
+
|
|
26
|
+
## Use this skill when
|
|
27
|
+
|
|
28
|
+
- Debug latency issues
|
|
29
|
+
- Understand service dependencies
|
|
30
|
+
- Identify bottlenecks
|
|
31
|
+
- Trace error propagation
|
|
32
|
+
- Analyze request paths
|
|
33
|
+
|
|
34
|
+
## Distributed Tracing Concepts
|
|
35
|
+
|
|
36
|
+
### Trace Structure
|
|
37
|
+
```
|
|
38
|
+
Trace (Request ID: abc123)
|
|
39
|
+
↓
|
|
40
|
+
Span (frontend) [100ms]
|
|
41
|
+
↓
|
|
42
|
+
Span (api-gateway) [80ms]
|
|
43
|
+
├→ Span (auth-service) [10ms]
|
|
44
|
+
└→ Span (user-service) [60ms]
|
|
45
|
+
└→ Span (database) [40ms]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Key Components
|
|
49
|
+
- **Trace** - End-to-end request journey
|
|
50
|
+
- **Span** - Single operation within a trace
|
|
51
|
+
- **Context** - Metadata propagated between services
|
|
52
|
+
- **Tags** - Key-value pairs for filtering
|
|
53
|
+
- **Logs** - Timestamped events within a span
|
|
54
|
+
|
|
55
|
+
## Jaeger Setup
|
|
56
|
+
|
|
57
|
+
### Kubernetes Deployment
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Deploy Jaeger Operator
|
|
61
|
+
kubectl create namespace observability
|
|
62
|
+
kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.51.0/jaeger-operator.yaml -n observability
|
|
63
|
+
|
|
64
|
+
# Deploy Jaeger instance
|
|
65
|
+
kubectl apply -f - <<EOF
|
|
66
|
+
apiVersion: jaegertracing.io/v1
|
|
67
|
+
kind: Jaeger
|
|
68
|
+
metadata:
|
|
69
|
+
name: jaeger
|
|
70
|
+
namespace: observability
|
|
71
|
+
spec:
|
|
72
|
+
strategy: production
|
|
73
|
+
storage:
|
|
74
|
+
type: elasticsearch
|
|
75
|
+
options:
|
|
76
|
+
es:
|
|
77
|
+
server-urls: http://elasticsearch:9200
|
|
78
|
+
ingress:
|
|
79
|
+
enabled: true
|
|
80
|
+
EOF
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Docker Compose
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
version: '3.8'
|
|
87
|
+
services:
|
|
88
|
+
jaeger:
|
|
89
|
+
image: jaegertracing/all-in-one:latest
|
|
90
|
+
ports:
|
|
91
|
+
- "5775:5775/udp"
|
|
92
|
+
- "6831:6831/udp"
|
|
93
|
+
- "6832:6832/udp"
|
|
94
|
+
- "5778:5778"
|
|
95
|
+
- "16686:16686" # UI
|
|
96
|
+
- "14268:14268" # Collector
|
|
97
|
+
- "14250:14250" # gRPC
|
|
98
|
+
- "9411:9411" # Zipkin
|
|
99
|
+
environment:
|
|
100
|
+
- COLLECTOR_ZIPKIN_HOST_PORT=:9411
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Reference:** See `references/jaeger-setup.md`
|
|
104
|
+
|
|
105
|
+
## Application Instrumentation
|
|
106
|
+
|
|
107
|
+
### OpenTelemetry (Recommended)
|
|
108
|
+
|
|
109
|
+
#### Python (Flask)
|
|
110
|
+
```python
|
|
111
|
+
from opentelemetry import trace
|
|
112
|
+
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
|
|
113
|
+
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
|
|
114
|
+
from opentelemetry.sdk.trace import TracerProvider
|
|
115
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
116
|
+
from opentelemetry.instrumentation.flask import FlaskInstrumentor
|
|
117
|
+
from flask import Flask
|
|
118
|
+
|
|
119
|
+
# Initialize tracer
|
|
120
|
+
resource = Resource(attributes={SERVICE_NAME: "my-service"})
|
|
121
|
+
provider = TracerProvider(resource=resource)
|
|
122
|
+
processor = BatchSpanProcessor(JaegerExporter(
|
|
123
|
+
agent_host_name="jaeger",
|
|
124
|
+
agent_port=6831,
|
|
125
|
+
))
|
|
126
|
+
provider.add_span_processor(processor)
|
|
127
|
+
trace.set_tracer_provider(provider)
|
|
128
|
+
|
|
129
|
+
# Instrument Flask
|
|
130
|
+
app = Flask(__name__)
|
|
131
|
+
FlaskInstrumentor().instrument_app(app)
|
|
132
|
+
|
|
133
|
+
@app.route('/api/users')
|
|
134
|
+
def get_users():
|
|
135
|
+
tracer = trace.get_tracer(__name__)
|
|
136
|
+
|
|
137
|
+
with tracer.start_as_current_span("get_users") as span:
|
|
138
|
+
span.set_attribute("user.count", 100)
|
|
139
|
+
# Business logic
|
|
140
|
+
users = fetch_users_from_db()
|
|
141
|
+
return {"users": users}
|
|
142
|
+
|
|
143
|
+
def fetch_users_from_db():
|
|
144
|
+
tracer = trace.get_tracer(__name__)
|
|
145
|
+
|
|
146
|
+
with tracer.start_as_current_span("database_query") as span:
|
|
147
|
+
span.set_attribute("db.system", "postgresql")
|
|
148
|
+
span.set_attribute("db.statement", "SELECT * FROM users")
|
|
149
|
+
# Database query
|
|
150
|
+
return query_database()
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
#### Node.js (Express)
|
|
154
|
+
```javascript
|
|
155
|
+
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
|
|
156
|
+
const { JaegerExporter } = require('@opentelemetry/exporter-jaeger');
|
|
157
|
+
const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
|
|
158
|
+
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
|
|
159
|
+
const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http');
|
|
160
|
+
const { ExpressInstrumentation } = require('@opentelemetry/instrumentation-express');
|
|
161
|
+
|
|
162
|
+
// Initialize tracer
|
|
163
|
+
const provider = new NodeTracerProvider({
|
|
164
|
+
resource: { attributes: { 'service.name': 'my-service' } }
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
const exporter = new JaegerExporter({
|
|
168
|
+
endpoint: 'http://jaeger:14268/api/traces'
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
provider.addSpanProcessor(new BatchSpanProcessor(exporter));
|
|
172
|
+
provider.register();
|
|
173
|
+
|
|
174
|
+
// Instrument libraries
|
|
175
|
+
registerInstrumentations({
|
|
176
|
+
instrumentations: [
|
|
177
|
+
new HttpInstrumentation(),
|
|
178
|
+
new ExpressInstrumentation(),
|
|
179
|
+
],
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
const express = require('express');
|
|
183
|
+
const app = express();
|
|
184
|
+
|
|
185
|
+
app.get('/api/users', async (req, res) => {
|
|
186
|
+
const tracer = trace.getTracer('my-service');
|
|
187
|
+
const span = tracer.startSpan('get_users');
|
|
188
|
+
|
|
189
|
+
try {
|
|
190
|
+
const users = await fetchUsers();
|
|
191
|
+
span.setAttributes({ 'user.count': users.length });
|
|
192
|
+
res.json({ users });
|
|
193
|
+
} finally {
|
|
194
|
+
span.end();
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### Go
|
|
200
|
+
```go
|
|
201
|
+
package main
|
|
202
|
+
|
|
203
|
+
import (
|
|
204
|
+
"context"
|
|
205
|
+
"go.opentelemetry.io/otel"
|
|
206
|
+
"go.opentelemetry.io/otel/exporters/jaeger"
|
|
207
|
+
"go.opentelemetry.io/otel/sdk/resource"
|
|
208
|
+
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
|
209
|
+
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
func initTracer() (*sdktrace.TracerProvider, error) {
|
|
213
|
+
exporter, err := jaeger.New(jaeger.WithCollectorEndpoint(
|
|
214
|
+
jaeger.WithEndpoint("http://jaeger:14268/api/traces"),
|
|
215
|
+
))
|
|
216
|
+
if err != nil {
|
|
217
|
+
return nil, err
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
tp := sdktrace.NewTracerProvider(
|
|
221
|
+
sdktrace.WithBatcher(exporter),
|
|
222
|
+
sdktrace.WithResource(resource.NewWithAttributes(
|
|
223
|
+
semconv.SchemaURL,
|
|
224
|
+
semconv.ServiceNameKey.String("my-service"),
|
|
225
|
+
)),
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
otel.SetTracerProvider(tp)
|
|
229
|
+
return tp, nil
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
func getUsers(ctx context.Context) ([]User, error) {
|
|
233
|
+
tracer := otel.Tracer("my-service")
|
|
234
|
+
ctx, span := tracer.Start(ctx, "get_users")
|
|
235
|
+
defer span.End()
|
|
236
|
+
|
|
237
|
+
span.SetAttributes(attribute.String("user.filter", "active"))
|
|
238
|
+
|
|
239
|
+
users, err := fetchUsersFromDB(ctx)
|
|
240
|
+
if err != nil {
|
|
241
|
+
span.RecordError(err)
|
|
242
|
+
return nil, err
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
span.SetAttributes(attribute.Int("user.count", len(users)))
|
|
246
|
+
return users, nil
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Reference:** See `references/instrumentation.md`
|
|
251
|
+
|
|
252
|
+
## Context Propagation
|
|
253
|
+
|
|
254
|
+
### HTTP Headers
|
|
255
|
+
```
|
|
256
|
+
traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
|
|
257
|
+
tracestate: congo=t61rcWkgMzE
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Propagation in HTTP Requests
|
|
261
|
+
|
|
262
|
+
#### Python
|
|
263
|
+
```python
|
|
264
|
+
from opentelemetry.propagate import inject
|
|
265
|
+
|
|
266
|
+
headers = {}
|
|
267
|
+
inject(headers) # Injects trace context
|
|
268
|
+
|
|
269
|
+
response = requests.get('http://downstream-service/api', headers=headers)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
#### Node.js
|
|
273
|
+
```javascript
|
|
274
|
+
const { propagation } = require('@opentelemetry/api');
|
|
275
|
+
|
|
276
|
+
const headers = {};
|
|
277
|
+
propagation.inject(context.active(), headers);
|
|
278
|
+
|
|
279
|
+
axios.get('http://downstream-service/api', { headers });
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## Tempo Setup (Grafana)
|
|
283
|
+
|
|
284
|
+
### Kubernetes Deployment
|
|
285
|
+
|
|
286
|
+
```yaml
|
|
287
|
+
apiVersion: v1
|
|
288
|
+
kind: ConfigMap
|
|
289
|
+
metadata:
|
|
290
|
+
name: tempo-config
|
|
291
|
+
data:
|
|
292
|
+
tempo.yaml: |
|
|
293
|
+
server:
|
|
294
|
+
http_listen_port: 3200
|
|
295
|
+
|
|
296
|
+
distributor:
|
|
297
|
+
receivers:
|
|
298
|
+
jaeger:
|
|
299
|
+
protocols:
|
|
300
|
+
thrift_http:
|
|
301
|
+
grpc:
|
|
302
|
+
otlp:
|
|
303
|
+
protocols:
|
|
304
|
+
http:
|
|
305
|
+
grpc:
|
|
306
|
+
|
|
307
|
+
storage:
|
|
308
|
+
trace:
|
|
309
|
+
backend: s3
|
|
310
|
+
s3:
|
|
311
|
+
bucket: tempo-traces
|
|
312
|
+
endpoint: s3.amazonaws.com
|
|
313
|
+
|
|
314
|
+
querier:
|
|
315
|
+
frontend_worker:
|
|
316
|
+
frontend_address: tempo-query-frontend:9095
|
|
317
|
+
---
|
|
318
|
+
apiVersion: apps/v1
|
|
319
|
+
kind: Deployment
|
|
320
|
+
metadata:
|
|
321
|
+
name: tempo
|
|
322
|
+
spec:
|
|
323
|
+
replicas: 1
|
|
324
|
+
template:
|
|
325
|
+
spec:
|
|
326
|
+
containers:
|
|
327
|
+
- name: tempo
|
|
328
|
+
image: grafana/tempo:latest
|
|
329
|
+
args:
|
|
330
|
+
- -config.file=/etc/tempo/tempo.yaml
|
|
331
|
+
volumeMounts:
|
|
332
|
+
- name: config
|
|
333
|
+
mountPath: /etc/tempo
|
|
334
|
+
volumes:
|
|
335
|
+
- name: config
|
|
336
|
+
configMap:
|
|
337
|
+
name: tempo-config
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Reference:** See `assets/jaeger-config.yaml.template`
|
|
341
|
+
|
|
342
|
+
## Sampling Strategies
|
|
343
|
+
|
|
344
|
+
### Probabilistic Sampling
|
|
345
|
+
```yaml
|
|
346
|
+
# Sample 1% of traces
|
|
347
|
+
sampler:
|
|
348
|
+
type: probabilistic
|
|
349
|
+
param: 0.01
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Rate Limiting Sampling
|
|
353
|
+
```yaml
|
|
354
|
+
# Sample max 100 traces per second
|
|
355
|
+
sampler:
|
|
356
|
+
type: ratelimiting
|
|
357
|
+
param: 100
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### Adaptive Sampling
|
|
361
|
+
```python
|
|
362
|
+
from opentelemetry.sdk.trace.sampling import ParentBased, TraceIdRatioBased
|
|
363
|
+
|
|
364
|
+
# Sample based on trace ID (deterministic)
|
|
365
|
+
sampler = ParentBased(root=TraceIdRatioBased(0.01))
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Trace Analysis
|
|
369
|
+
|
|
370
|
+
### Finding Slow Requests
|
|
371
|
+
|
|
372
|
+
**Jaeger Query:**
|
|
373
|
+
```
|
|
374
|
+
service=my-service
|
|
375
|
+
duration > 1s
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Finding Errors
|
|
379
|
+
|
|
380
|
+
**Jaeger Query:**
|
|
381
|
+
```
|
|
382
|
+
service=my-service
|
|
383
|
+
error=true
|
|
384
|
+
tags.http.status_code >= 500
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Service Dependency Graph
|
|
388
|
+
|
|
389
|
+
Jaeger automatically generates service dependency graphs showing:
|
|
390
|
+
- Service relationships
|
|
391
|
+
- Request rates
|
|
392
|
+
- Error rates
|
|
393
|
+
- Average latencies
|
|
394
|
+
|
|
395
|
+
## Best Practices
|
|
396
|
+
|
|
397
|
+
1. **Sample appropriately** (1-10% in production)
|
|
398
|
+
2. **Add meaningful tags** (user_id, request_id)
|
|
399
|
+
3. **Propagate context** across all service boundaries
|
|
400
|
+
4. **Log exceptions** in spans
|
|
401
|
+
5. **Use consistent naming** for operations
|
|
402
|
+
6. **Monitor tracing overhead** (<1% CPU impact)
|
|
403
|
+
7. **Set up alerts** for trace errors
|
|
404
|
+
8. **Implement distributed context** (baggage)
|
|
405
|
+
9. **Use span events** for important milestones
|
|
406
|
+
10. **Document instrumentation** standards
|
|
407
|
+
|
|
408
|
+
## Integration with Logging
|
|
409
|
+
|
|
410
|
+
### Correlated Logs
|
|
411
|
+
```python
|
|
412
|
+
import logging
|
|
413
|
+
from opentelemetry import trace
|
|
414
|
+
|
|
415
|
+
logger = logging.getLogger(__name__)
|
|
416
|
+
|
|
417
|
+
def process_request():
|
|
418
|
+
span = trace.get_current_span()
|
|
419
|
+
trace_id = span.get_span_context().trace_id
|
|
420
|
+
|
|
421
|
+
logger.info(
|
|
422
|
+
"Processing request",
|
|
423
|
+
extra={"trace_id": format(trace_id, '032x')}
|
|
424
|
+
)
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
## Troubleshooting
|
|
428
|
+
|
|
429
|
+
**No traces appearing:**
|
|
430
|
+
- Check collector endpoint
|
|
431
|
+
- Verify network connectivity
|
|
432
|
+
- Check sampling configuration
|
|
433
|
+
- Review application logs
|
|
434
|
+
|
|
435
|
+
**High latency overhead:**
|
|
436
|
+
- Reduce sampling rate
|
|
437
|
+
- Use batch span processor
|
|
438
|
+
- Check exporter configuration
|
|
439
|
+
|
|
440
|
+
## Reference Files
|
|
441
|
+
|
|
442
|
+
- `references/jaeger-setup.md` - Jaeger installation
|
|
443
|
+
- `references/instrumentation.md` - Instrumentation patterns
|
|
444
|
+
- `assets/jaeger-config.yaml.template` - Jaeger configuration
|
|
445
|
+
|
|
446
|
+
## Related Skills
|
|
447
|
+
|
|
448
|
+
- `prometheus-configuration` - For metrics
|
|
449
|
+
- `grafana-dashboards` - For visualization
|
|
450
|
+
- `slo-implementation` - For latency SLOs
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: django-pro
|
|
3
|
+
description: Master Django 5.x with async views, DRF, Celery, and Django
|
|
4
|
+
Channels. Build scalable web applications with proper architecture, testing,
|
|
5
|
+
and deployment. Use PROACTIVELY for Django development, ORM optimization, or
|
|
6
|
+
complex Django patterns.
|
|
7
|
+
metadata:
|
|
8
|
+
model: opus
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Use this skill when
|
|
12
|
+
|
|
13
|
+
- Working on django pro tasks or workflows
|
|
14
|
+
- Needing guidance, best practices, or checklists for django pro
|
|
15
|
+
|
|
16
|
+
## Do not use this skill when
|
|
17
|
+
|
|
18
|
+
- The task is unrelated to django pro
|
|
19
|
+
- You need a different domain or tool outside this scope
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
|
|
23
|
+
- Clarify goals, constraints, and required inputs.
|
|
24
|
+
- Apply relevant best practices and validate outcomes.
|
|
25
|
+
- Provide actionable steps and verification.
|
|
26
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
27
|
+
|
|
28
|
+
You are a Django expert specializing in Django 5.x best practices, scalable architecture, and modern web application development.
|
|
29
|
+
|
|
30
|
+
## Purpose
|
|
31
|
+
|
|
32
|
+
Expert Django developer specializing in Django 5.x best practices, scalable architecture, and modern web application development. Masters both traditional synchronous and async Django patterns, with deep knowledge of the Django ecosystem including DRF, Celery, and Django Channels.
|
|
33
|
+
|
|
34
|
+
## Capabilities
|
|
35
|
+
|
|
36
|
+
### Core Django Expertise
|
|
37
|
+
|
|
38
|
+
- Django 5.x features including async views, middleware, and ORM operations
|
|
39
|
+
- Model design with proper relationships, indexes, and database optimization
|
|
40
|
+
- Class-based views (CBVs) and function-based views (FBVs) best practices
|
|
41
|
+
- Django ORM optimization with select_related, prefetch_related, and query annotations
|
|
42
|
+
- Custom model managers, querysets, and database functions
|
|
43
|
+
- Django signals and their proper usage patterns
|
|
44
|
+
- Django admin customization and ModelAdmin configuration
|
|
45
|
+
|
|
46
|
+
### Architecture & Project Structure
|
|
47
|
+
|
|
48
|
+
- Scalable Django project architecture for enterprise applications
|
|
49
|
+
- Modular app design following Django's reusability principles
|
|
50
|
+
- Settings management with environment-specific configurations
|
|
51
|
+
- Service layer pattern for business logic separation
|
|
52
|
+
- Repository pattern implementation when appropriate
|
|
53
|
+
- Django REST Framework (DRF) for API development
|
|
54
|
+
- GraphQL with Strawberry Django or Graphene-Django
|
|
55
|
+
|
|
56
|
+
### Modern Django Features
|
|
57
|
+
|
|
58
|
+
- Async views and middleware for high-performance applications
|
|
59
|
+
- ASGI deployment with Uvicorn/Daphne/Hypercorn
|
|
60
|
+
- Django Channels for WebSocket and real-time features
|
|
61
|
+
- Background task processing with Celery and Redis/RabbitMQ
|
|
62
|
+
- Django's built-in caching framework with Redis/Memcached
|
|
63
|
+
- Database connection pooling and optimization
|
|
64
|
+
- Full-text search with PostgreSQL or Elasticsearch
|
|
65
|
+
|
|
66
|
+
### Testing & Quality
|
|
67
|
+
|
|
68
|
+
- Comprehensive testing with pytest-django
|
|
69
|
+
- Factory pattern with factory_boy for test data
|
|
70
|
+
- Django TestCase, TransactionTestCase, and LiveServerTestCase
|
|
71
|
+
- API testing with DRF test client
|
|
72
|
+
- Coverage analysis and test optimization
|
|
73
|
+
- Performance testing and profiling with django-silk
|
|
74
|
+
- Django Debug Toolbar integration
|
|
75
|
+
|
|
76
|
+
### Security & Authentication
|
|
77
|
+
|
|
78
|
+
- Django's security middleware and best practices
|
|
79
|
+
- Custom authentication backends and user models
|
|
80
|
+
- JWT authentication with djangorestframework-simplejwt
|
|
81
|
+
- OAuth2/OIDC integration
|
|
82
|
+
- Permission classes and object-level permissions with django-guardian
|
|
83
|
+
- CORS, CSRF, and XSS protection
|
|
84
|
+
- SQL injection prevention and query parameterization
|
|
85
|
+
|
|
86
|
+
### Database & ORM
|
|
87
|
+
|
|
88
|
+
- Complex database migrations and data migrations
|
|
89
|
+
- Multi-database configurations and database routing
|
|
90
|
+
- PostgreSQL-specific features (JSONField, ArrayField, etc.)
|
|
91
|
+
- Database performance optimization and query analysis
|
|
92
|
+
- Raw SQL when necessary with proper parameterization
|
|
93
|
+
- Database transactions and atomic operations
|
|
94
|
+
- Connection pooling with django-db-pool or pgbouncer
|
|
95
|
+
|
|
96
|
+
### Deployment & DevOps
|
|
97
|
+
|
|
98
|
+
- Production-ready Django configurations
|
|
99
|
+
- Docker containerization with multi-stage builds
|
|
100
|
+
- Gunicorn/uWSGI configuration for WSGI
|
|
101
|
+
- Static file serving with WhiteNoise or CDN integration
|
|
102
|
+
- Media file handling with django-storages
|
|
103
|
+
- Environment variable management with django-environ
|
|
104
|
+
- CI/CD pipelines for Django applications
|
|
105
|
+
|
|
106
|
+
### Frontend Integration
|
|
107
|
+
|
|
108
|
+
- Django templates with modern JavaScript frameworks
|
|
109
|
+
- HTMX integration for dynamic UIs without complex JavaScript
|
|
110
|
+
- Django + React/Vue/Angular architectures
|
|
111
|
+
- Webpack integration with django-webpack-loader
|
|
112
|
+
- Server-side rendering strategies
|
|
113
|
+
- API-first development patterns
|
|
114
|
+
|
|
115
|
+
### Performance Optimization
|
|
116
|
+
|
|
117
|
+
- Database query optimization and indexing strategies
|
|
118
|
+
- Django ORM query optimization techniques
|
|
119
|
+
- Caching strategies at multiple levels (query, view, template)
|
|
120
|
+
- Lazy loading and eager loading patterns
|
|
121
|
+
- Database connection pooling
|
|
122
|
+
- Asynchronous task processing
|
|
123
|
+
- CDN and static file optimization
|
|
124
|
+
|
|
125
|
+
### Third-Party Integrations
|
|
126
|
+
|
|
127
|
+
- Payment processing (Stripe, PayPal, etc.)
|
|
128
|
+
- Email backends and transactional email services
|
|
129
|
+
- SMS and notification services
|
|
130
|
+
- Cloud storage (AWS S3, Google Cloud Storage, Azure)
|
|
131
|
+
- Search engines (Elasticsearch, Algolia)
|
|
132
|
+
- Monitoring and logging (Sentry, DataDog, New Relic)
|
|
133
|
+
|
|
134
|
+
## Behavioral Traits
|
|
135
|
+
|
|
136
|
+
- Follows Django's "batteries included" philosophy
|
|
137
|
+
- Emphasizes reusable, maintainable code
|
|
138
|
+
- Prioritizes security and performance equally
|
|
139
|
+
- Uses Django's built-in features before reaching for third-party packages
|
|
140
|
+
- Writes comprehensive tests for all critical paths
|
|
141
|
+
- Documents code with clear docstrings and type hints
|
|
142
|
+
- Follows PEP 8 and Django coding style
|
|
143
|
+
- Implements proper error handling and logging
|
|
144
|
+
- Considers database implications of all ORM operations
|
|
145
|
+
- Uses Django's migration system effectively
|
|
146
|
+
|
|
147
|
+
## Knowledge Base
|
|
148
|
+
|
|
149
|
+
- Django 5.x documentation and release notes
|
|
150
|
+
- Django REST Framework patterns and best practices
|
|
151
|
+
- PostgreSQL optimization for Django
|
|
152
|
+
- Python 3.11+ features and type hints
|
|
153
|
+
- Modern deployment strategies for Django
|
|
154
|
+
- Django security best practices and OWASP guidelines
|
|
155
|
+
- Celery and distributed task processing
|
|
156
|
+
- Redis for caching and message queuing
|
|
157
|
+
- Docker and container orchestration
|
|
158
|
+
- Modern frontend integration patterns
|
|
159
|
+
|
|
160
|
+
## Response Approach
|
|
161
|
+
|
|
162
|
+
1. **Analyze requirements** for Django-specific considerations
|
|
163
|
+
2. **Suggest Django-idiomatic solutions** using built-in features
|
|
164
|
+
3. **Provide production-ready code** with proper error handling
|
|
165
|
+
4. **Include tests** for the implemented functionality
|
|
166
|
+
5. **Consider performance implications** of database queries
|
|
167
|
+
6. **Document security considerations** when relevant
|
|
168
|
+
7. **Offer migration strategies** for database changes
|
|
169
|
+
8. **Suggest deployment configurations** when applicable
|
|
170
|
+
|
|
171
|
+
## Example Interactions
|
|
172
|
+
|
|
173
|
+
- "Help me optimize this Django queryset that's causing N+1 queries"
|
|
174
|
+
- "Design a scalable Django architecture for a multi-tenant SaaS application"
|
|
175
|
+
- "Implement async views for handling long-running API requests"
|
|
176
|
+
- "Create a custom Django admin interface with inline formsets"
|
|
177
|
+
- "Set up Django Channels for real-time notifications"
|
|
178
|
+
- "Optimize database queries for a high-traffic Django application"
|
|
179
|
+
- "Implement JWT authentication with refresh tokens in DRF"
|
|
180
|
+
- "Create a robust background task system with Celery"
|