@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,504 @@
|
|
|
1
|
+
# SQL Optimization Patterns Implementation Playbook
|
|
2
|
+
|
|
3
|
+
This file contains detailed patterns, checklists, and code samples referenced by the skill.
|
|
4
|
+
|
|
5
|
+
# SQL Optimization Patterns
|
|
6
|
+
|
|
7
|
+
Transform slow database queries into lightning-fast operations through systematic optimization, proper indexing, and query plan analysis.
|
|
8
|
+
|
|
9
|
+
## Do not use this skill when
|
|
10
|
+
|
|
11
|
+
- The task is unrelated to sql optimization patterns
|
|
12
|
+
- You need a different domain or tool outside this scope
|
|
13
|
+
|
|
14
|
+
## Instructions
|
|
15
|
+
|
|
16
|
+
- Clarify goals, constraints, and required inputs.
|
|
17
|
+
- Apply relevant best practices and validate outcomes.
|
|
18
|
+
- Provide actionable steps and verification.
|
|
19
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
20
|
+
|
|
21
|
+
## Use this skill when
|
|
22
|
+
|
|
23
|
+
- Debugging slow-running queries
|
|
24
|
+
- Designing performant database schemas
|
|
25
|
+
- Optimizing application response times
|
|
26
|
+
- Reducing database load and costs
|
|
27
|
+
- Improving scalability for growing datasets
|
|
28
|
+
- Analyzing EXPLAIN query plans
|
|
29
|
+
- Implementing efficient indexes
|
|
30
|
+
- Resolving N+1 query problems
|
|
31
|
+
|
|
32
|
+
## Core Concepts
|
|
33
|
+
|
|
34
|
+
### 1. Query Execution Plans (EXPLAIN)
|
|
35
|
+
|
|
36
|
+
Understanding EXPLAIN output is fundamental to optimization.
|
|
37
|
+
|
|
38
|
+
**PostgreSQL EXPLAIN:**
|
|
39
|
+
```sql
|
|
40
|
+
-- Basic explain
|
|
41
|
+
EXPLAIN SELECT * FROM users WHERE email = 'user@example.com';
|
|
42
|
+
|
|
43
|
+
-- With actual execution stats
|
|
44
|
+
EXPLAIN ANALYZE
|
|
45
|
+
SELECT * FROM users WHERE email = 'user@example.com';
|
|
46
|
+
|
|
47
|
+
-- Verbose output with more details
|
|
48
|
+
EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
|
|
49
|
+
SELECT u.*, o.order_total
|
|
50
|
+
FROM users u
|
|
51
|
+
JOIN orders o ON u.id = o.user_id
|
|
52
|
+
WHERE u.created_at > NOW() - INTERVAL '30 days';
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Key Metrics to Watch:**
|
|
56
|
+
- **Seq Scan**: Full table scan (usually slow for large tables)
|
|
57
|
+
- **Index Scan**: Using index (good)
|
|
58
|
+
- **Index Only Scan**: Using index without touching table (best)
|
|
59
|
+
- **Nested Loop**: Join method (okay for small datasets)
|
|
60
|
+
- **Hash Join**: Join method (good for larger datasets)
|
|
61
|
+
- **Merge Join**: Join method (good for sorted data)
|
|
62
|
+
- **Cost**: Estimated query cost (lower is better)
|
|
63
|
+
- **Rows**: Estimated rows returned
|
|
64
|
+
- **Actual Time**: Real execution time
|
|
65
|
+
|
|
66
|
+
### 2. Index Strategies
|
|
67
|
+
|
|
68
|
+
Indexes are the most powerful optimization tool.
|
|
69
|
+
|
|
70
|
+
**Index Types:**
|
|
71
|
+
- **B-Tree**: Default, good for equality and range queries
|
|
72
|
+
- **Hash**: Only for equality (=) comparisons
|
|
73
|
+
- **GIN**: Full-text search, array queries, JSONB
|
|
74
|
+
- **GiST**: Geometric data, full-text search
|
|
75
|
+
- **BRIN**: Block Range INdex for very large tables with correlation
|
|
76
|
+
|
|
77
|
+
```sql
|
|
78
|
+
-- Standard B-Tree index
|
|
79
|
+
CREATE INDEX idx_users_email ON users(email);
|
|
80
|
+
|
|
81
|
+
-- Composite index (order matters!)
|
|
82
|
+
CREATE INDEX idx_orders_user_status ON orders(user_id, status);
|
|
83
|
+
|
|
84
|
+
-- Partial index (index subset of rows)
|
|
85
|
+
CREATE INDEX idx_active_users ON users(email)
|
|
86
|
+
WHERE status = 'active';
|
|
87
|
+
|
|
88
|
+
-- Expression index
|
|
89
|
+
CREATE INDEX idx_users_lower_email ON users(LOWER(email));
|
|
90
|
+
|
|
91
|
+
-- Covering index (include additional columns)
|
|
92
|
+
CREATE INDEX idx_users_email_covering ON users(email)
|
|
93
|
+
INCLUDE (name, created_at);
|
|
94
|
+
|
|
95
|
+
-- Full-text search index
|
|
96
|
+
CREATE INDEX idx_posts_search ON posts
|
|
97
|
+
USING GIN(to_tsvector('english', title || ' ' || body));
|
|
98
|
+
|
|
99
|
+
-- JSONB index
|
|
100
|
+
CREATE INDEX idx_metadata ON events USING GIN(metadata);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 3. Query Optimization Patterns
|
|
104
|
+
|
|
105
|
+
**Avoid SELECT \*:**
|
|
106
|
+
```sql
|
|
107
|
+
-- Bad: Fetches unnecessary columns
|
|
108
|
+
SELECT * FROM users WHERE id = 123;
|
|
109
|
+
|
|
110
|
+
-- Good: Fetch only what you need
|
|
111
|
+
SELECT id, email, name FROM users WHERE id = 123;
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Use WHERE Clause Efficiently:**
|
|
115
|
+
```sql
|
|
116
|
+
-- Bad: Function prevents index usage
|
|
117
|
+
SELECT * FROM users WHERE LOWER(email) = 'user@example.com';
|
|
118
|
+
|
|
119
|
+
-- Good: Create functional index or use exact match
|
|
120
|
+
CREATE INDEX idx_users_email_lower ON users(LOWER(email));
|
|
121
|
+
-- Then:
|
|
122
|
+
SELECT * FROM users WHERE LOWER(email) = 'user@example.com';
|
|
123
|
+
|
|
124
|
+
-- Or store normalized data
|
|
125
|
+
SELECT * FROM users WHERE email = 'user@example.com';
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Optimize JOINs:**
|
|
129
|
+
```sql
|
|
130
|
+
-- Bad: Cartesian product then filter
|
|
131
|
+
SELECT u.name, o.total
|
|
132
|
+
FROM users u, orders o
|
|
133
|
+
WHERE u.id = o.user_id AND u.created_at > '2024-01-01';
|
|
134
|
+
|
|
135
|
+
-- Good: Filter before join
|
|
136
|
+
SELECT u.name, o.total
|
|
137
|
+
FROM users u
|
|
138
|
+
JOIN orders o ON u.id = o.user_id
|
|
139
|
+
WHERE u.created_at > '2024-01-01';
|
|
140
|
+
|
|
141
|
+
-- Better: Filter both tables
|
|
142
|
+
SELECT u.name, o.total
|
|
143
|
+
FROM (SELECT * FROM users WHERE created_at > '2024-01-01') u
|
|
144
|
+
JOIN orders o ON u.id = o.user_id;
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Optimization Patterns
|
|
148
|
+
|
|
149
|
+
### Pattern 1: Eliminate N+1 Queries
|
|
150
|
+
|
|
151
|
+
**Problem: N+1 Query Anti-Pattern**
|
|
152
|
+
```python
|
|
153
|
+
# Bad: Executes N+1 queries
|
|
154
|
+
users = db.query("SELECT * FROM users LIMIT 10")
|
|
155
|
+
for user in users:
|
|
156
|
+
orders = db.query("SELECT * FROM orders WHERE user_id = ?", user.id)
|
|
157
|
+
# Process orders
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Solution: Use JOINs or Batch Loading**
|
|
161
|
+
```sql
|
|
162
|
+
-- Solution 1: JOIN
|
|
163
|
+
SELECT
|
|
164
|
+
u.id, u.name,
|
|
165
|
+
o.id as order_id, o.total
|
|
166
|
+
FROM users u
|
|
167
|
+
LEFT JOIN orders o ON u.id = o.user_id
|
|
168
|
+
WHERE u.id IN (1, 2, 3, 4, 5);
|
|
169
|
+
|
|
170
|
+
-- Solution 2: Batch query
|
|
171
|
+
SELECT * FROM orders
|
|
172
|
+
WHERE user_id IN (1, 2, 3, 4, 5);
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
```python
|
|
176
|
+
# Good: Single query with JOIN or batch load
|
|
177
|
+
# Using JOIN
|
|
178
|
+
results = db.query("""
|
|
179
|
+
SELECT u.id, u.name, o.id as order_id, o.total
|
|
180
|
+
FROM users u
|
|
181
|
+
LEFT JOIN orders o ON u.id = o.user_id
|
|
182
|
+
WHERE u.id IN (1, 2, 3, 4, 5)
|
|
183
|
+
""")
|
|
184
|
+
|
|
185
|
+
# Or batch load
|
|
186
|
+
users = db.query("SELECT * FROM users LIMIT 10")
|
|
187
|
+
user_ids = [u.id for u in users]
|
|
188
|
+
orders = db.query(
|
|
189
|
+
"SELECT * FROM orders WHERE user_id IN (?)",
|
|
190
|
+
user_ids
|
|
191
|
+
)
|
|
192
|
+
# Group orders by user_id
|
|
193
|
+
orders_by_user = {}
|
|
194
|
+
for order in orders:
|
|
195
|
+
orders_by_user.setdefault(order.user_id, []).append(order)
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Pattern 2: Optimize Pagination
|
|
199
|
+
|
|
200
|
+
**Bad: OFFSET on Large Tables**
|
|
201
|
+
```sql
|
|
202
|
+
-- Slow for large offsets
|
|
203
|
+
SELECT * FROM users
|
|
204
|
+
ORDER BY created_at DESC
|
|
205
|
+
LIMIT 20 OFFSET 100000; -- Very slow!
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Good: Cursor-Based Pagination**
|
|
209
|
+
```sql
|
|
210
|
+
-- Much faster: Use cursor (last seen ID)
|
|
211
|
+
SELECT * FROM users
|
|
212
|
+
WHERE created_at < '2024-01-15 10:30:00' -- Last cursor
|
|
213
|
+
ORDER BY created_at DESC
|
|
214
|
+
LIMIT 20;
|
|
215
|
+
|
|
216
|
+
-- With composite sorting
|
|
217
|
+
SELECT * FROM users
|
|
218
|
+
WHERE (created_at, id) < ('2024-01-15 10:30:00', 12345)
|
|
219
|
+
ORDER BY created_at DESC, id DESC
|
|
220
|
+
LIMIT 20;
|
|
221
|
+
|
|
222
|
+
-- Requires index
|
|
223
|
+
CREATE INDEX idx_users_cursor ON users(created_at DESC, id DESC);
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Pattern 3: Aggregate Efficiently
|
|
227
|
+
|
|
228
|
+
**Optimize COUNT Queries:**
|
|
229
|
+
```sql
|
|
230
|
+
-- Bad: Counts all rows
|
|
231
|
+
SELECT COUNT(*) FROM orders; -- Slow on large tables
|
|
232
|
+
|
|
233
|
+
-- Good: Use estimates for approximate counts
|
|
234
|
+
SELECT reltuples::bigint AS estimate
|
|
235
|
+
FROM pg_class
|
|
236
|
+
WHERE relname = 'orders';
|
|
237
|
+
|
|
238
|
+
-- Good: Filter before counting
|
|
239
|
+
SELECT COUNT(*) FROM orders
|
|
240
|
+
WHERE created_at > NOW() - INTERVAL '7 days';
|
|
241
|
+
|
|
242
|
+
-- Better: Use index-only scan
|
|
243
|
+
CREATE INDEX idx_orders_created ON orders(created_at);
|
|
244
|
+
SELECT COUNT(*) FROM orders
|
|
245
|
+
WHERE created_at > NOW() - INTERVAL '7 days';
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Optimize GROUP BY:**
|
|
249
|
+
```sql
|
|
250
|
+
-- Bad: Group by then filter
|
|
251
|
+
SELECT user_id, COUNT(*) as order_count
|
|
252
|
+
FROM orders
|
|
253
|
+
GROUP BY user_id
|
|
254
|
+
HAVING COUNT(*) > 10;
|
|
255
|
+
|
|
256
|
+
-- Better: Filter first, then group (if possible)
|
|
257
|
+
SELECT user_id, COUNT(*) as order_count
|
|
258
|
+
FROM orders
|
|
259
|
+
WHERE status = 'completed'
|
|
260
|
+
GROUP BY user_id
|
|
261
|
+
HAVING COUNT(*) > 10;
|
|
262
|
+
|
|
263
|
+
-- Best: Use covering index
|
|
264
|
+
CREATE INDEX idx_orders_user_status ON orders(user_id, status);
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Pattern 4: Subquery Optimization
|
|
268
|
+
|
|
269
|
+
**Transform Correlated Subqueries:**
|
|
270
|
+
```sql
|
|
271
|
+
-- Bad: Correlated subquery (runs for each row)
|
|
272
|
+
SELECT u.name, u.email,
|
|
273
|
+
(SELECT COUNT(*) FROM orders o WHERE o.user_id = u.id) as order_count
|
|
274
|
+
FROM users u;
|
|
275
|
+
|
|
276
|
+
-- Good: JOIN with aggregation
|
|
277
|
+
SELECT u.name, u.email, COUNT(o.id) as order_count
|
|
278
|
+
FROM users u
|
|
279
|
+
LEFT JOIN orders o ON o.user_id = u.id
|
|
280
|
+
GROUP BY u.id, u.name, u.email;
|
|
281
|
+
|
|
282
|
+
-- Better: Use window functions
|
|
283
|
+
SELECT DISTINCT ON (u.id)
|
|
284
|
+
u.name, u.email,
|
|
285
|
+
COUNT(o.id) OVER (PARTITION BY u.id) as order_count
|
|
286
|
+
FROM users u
|
|
287
|
+
LEFT JOIN orders o ON o.user_id = u.id;
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
**Use CTEs for Clarity:**
|
|
291
|
+
```sql
|
|
292
|
+
-- Using Common Table Expressions
|
|
293
|
+
WITH recent_users AS (
|
|
294
|
+
SELECT id, name, email
|
|
295
|
+
FROM users
|
|
296
|
+
WHERE created_at > NOW() - INTERVAL '30 days'
|
|
297
|
+
),
|
|
298
|
+
user_order_counts AS (
|
|
299
|
+
SELECT user_id, COUNT(*) as order_count
|
|
300
|
+
FROM orders
|
|
301
|
+
WHERE created_at > NOW() - INTERVAL '30 days'
|
|
302
|
+
GROUP BY user_id
|
|
303
|
+
)
|
|
304
|
+
SELECT ru.name, ru.email, COALESCE(uoc.order_count, 0) as orders
|
|
305
|
+
FROM recent_users ru
|
|
306
|
+
LEFT JOIN user_order_counts uoc ON ru.id = uoc.user_id;
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Pattern 5: Batch Operations
|
|
310
|
+
|
|
311
|
+
**Batch INSERT:**
|
|
312
|
+
```sql
|
|
313
|
+
-- Bad: Multiple individual inserts
|
|
314
|
+
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
|
|
315
|
+
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
|
|
316
|
+
INSERT INTO users (name, email) VALUES ('Carol', 'carol@example.com');
|
|
317
|
+
|
|
318
|
+
-- Good: Batch insert
|
|
319
|
+
INSERT INTO users (name, email) VALUES
|
|
320
|
+
('Alice', 'alice@example.com'),
|
|
321
|
+
('Bob', 'bob@example.com'),
|
|
322
|
+
('Carol', 'carol@example.com');
|
|
323
|
+
|
|
324
|
+
-- Better: Use COPY for bulk inserts (PostgreSQL)
|
|
325
|
+
COPY users (name, email) FROM '/tmp/users.csv' CSV HEADER;
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**Batch UPDATE:**
|
|
329
|
+
```sql
|
|
330
|
+
-- Bad: Update in loop
|
|
331
|
+
UPDATE users SET status = 'active' WHERE id = 1;
|
|
332
|
+
UPDATE users SET status = 'active' WHERE id = 2;
|
|
333
|
+
-- ... repeat for many IDs
|
|
334
|
+
|
|
335
|
+
-- Good: Single UPDATE with IN clause
|
|
336
|
+
UPDATE users
|
|
337
|
+
SET status = 'active'
|
|
338
|
+
WHERE id IN (1, 2, 3, 4, 5, ...);
|
|
339
|
+
|
|
340
|
+
-- Better: Use temporary table for large batches
|
|
341
|
+
CREATE TEMP TABLE temp_user_updates (id INT, new_status VARCHAR);
|
|
342
|
+
INSERT INTO temp_user_updates VALUES (1, 'active'), (2, 'active'), ...;
|
|
343
|
+
|
|
344
|
+
UPDATE users u
|
|
345
|
+
SET status = t.new_status
|
|
346
|
+
FROM temp_user_updates t
|
|
347
|
+
WHERE u.id = t.id;
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## Advanced Techniques
|
|
351
|
+
|
|
352
|
+
### Materialized Views
|
|
353
|
+
|
|
354
|
+
Pre-compute expensive queries.
|
|
355
|
+
|
|
356
|
+
```sql
|
|
357
|
+
-- Create materialized view
|
|
358
|
+
CREATE MATERIALIZED VIEW user_order_summary AS
|
|
359
|
+
SELECT
|
|
360
|
+
u.id,
|
|
361
|
+
u.name,
|
|
362
|
+
COUNT(o.id) as total_orders,
|
|
363
|
+
SUM(o.total) as total_spent,
|
|
364
|
+
MAX(o.created_at) as last_order_date
|
|
365
|
+
FROM users u
|
|
366
|
+
LEFT JOIN orders o ON u.id = o.user_id
|
|
367
|
+
GROUP BY u.id, u.name;
|
|
368
|
+
|
|
369
|
+
-- Add index to materialized view
|
|
370
|
+
CREATE INDEX idx_user_summary_spent ON user_order_summary(total_spent DESC);
|
|
371
|
+
|
|
372
|
+
-- Refresh materialized view
|
|
373
|
+
REFRESH MATERIALIZED VIEW user_order_summary;
|
|
374
|
+
|
|
375
|
+
-- Concurrent refresh (PostgreSQL)
|
|
376
|
+
REFRESH MATERIALIZED VIEW CONCURRENTLY user_order_summary;
|
|
377
|
+
|
|
378
|
+
-- Query materialized view (very fast)
|
|
379
|
+
SELECT * FROM user_order_summary
|
|
380
|
+
WHERE total_spent > 1000
|
|
381
|
+
ORDER BY total_spent DESC;
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Partitioning
|
|
385
|
+
|
|
386
|
+
Split large tables for better performance.
|
|
387
|
+
|
|
388
|
+
```sql
|
|
389
|
+
-- Range partitioning by date (PostgreSQL)
|
|
390
|
+
CREATE TABLE orders (
|
|
391
|
+
id SERIAL,
|
|
392
|
+
user_id INT,
|
|
393
|
+
total DECIMAL,
|
|
394
|
+
created_at TIMESTAMP
|
|
395
|
+
) PARTITION BY RANGE (created_at);
|
|
396
|
+
|
|
397
|
+
-- Create partitions
|
|
398
|
+
CREATE TABLE orders_2024_q1 PARTITION OF orders
|
|
399
|
+
FOR VALUES FROM ('2024-01-01') TO ('2024-04-01');
|
|
400
|
+
|
|
401
|
+
CREATE TABLE orders_2024_q2 PARTITION OF orders
|
|
402
|
+
FOR VALUES FROM ('2024-04-01') TO ('2024-07-01');
|
|
403
|
+
|
|
404
|
+
-- Queries automatically use appropriate partition
|
|
405
|
+
SELECT * FROM orders
|
|
406
|
+
WHERE created_at BETWEEN '2024-02-01' AND '2024-02-28';
|
|
407
|
+
-- Only scans orders_2024_q1 partition
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Query Hints and Optimization
|
|
411
|
+
|
|
412
|
+
```sql
|
|
413
|
+
-- Force index usage (MySQL)
|
|
414
|
+
SELECT * FROM users
|
|
415
|
+
USE INDEX (idx_users_email)
|
|
416
|
+
WHERE email = 'user@example.com';
|
|
417
|
+
|
|
418
|
+
-- Parallel query (PostgreSQL)
|
|
419
|
+
SET max_parallel_workers_per_gather = 4;
|
|
420
|
+
SELECT * FROM large_table WHERE condition;
|
|
421
|
+
|
|
422
|
+
-- Join hints (PostgreSQL)
|
|
423
|
+
SET enable_nestloop = OFF; -- Force hash or merge join
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
## Best Practices
|
|
427
|
+
|
|
428
|
+
1. **Index Selectively**: Too many indexes slow down writes
|
|
429
|
+
2. **Monitor Query Performance**: Use slow query logs
|
|
430
|
+
3. **Keep Statistics Updated**: Run ANALYZE regularly
|
|
431
|
+
4. **Use Appropriate Data Types**: Smaller types = better performance
|
|
432
|
+
5. **Normalize Thoughtfully**: Balance normalization vs performance
|
|
433
|
+
6. **Cache Frequently Accessed Data**: Use application-level caching
|
|
434
|
+
7. **Connection Pooling**: Reuse database connections
|
|
435
|
+
8. **Regular Maintenance**: VACUUM, ANALYZE, rebuild indexes
|
|
436
|
+
|
|
437
|
+
```sql
|
|
438
|
+
-- Update statistics
|
|
439
|
+
ANALYZE users;
|
|
440
|
+
ANALYZE VERBOSE orders;
|
|
441
|
+
|
|
442
|
+
-- Vacuum (PostgreSQL)
|
|
443
|
+
VACUUM ANALYZE users;
|
|
444
|
+
VACUUM FULL users; -- Reclaim space (locks table)
|
|
445
|
+
|
|
446
|
+
-- Reindex
|
|
447
|
+
REINDEX INDEX idx_users_email;
|
|
448
|
+
REINDEX TABLE users;
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## Common Pitfalls
|
|
452
|
+
|
|
453
|
+
- **Over-Indexing**: Each index slows down INSERT/UPDATE/DELETE
|
|
454
|
+
- **Unused Indexes**: Waste space and slow writes
|
|
455
|
+
- **Missing Indexes**: Slow queries, full table scans
|
|
456
|
+
- **Implicit Type Conversion**: Prevents index usage
|
|
457
|
+
- **OR Conditions**: Can't use indexes efficiently
|
|
458
|
+
- **LIKE with Leading Wildcard**: `LIKE '%abc'` can't use index
|
|
459
|
+
- **Function in WHERE**: Prevents index usage unless functional index exists
|
|
460
|
+
|
|
461
|
+
## Monitoring Queries
|
|
462
|
+
|
|
463
|
+
```sql
|
|
464
|
+
-- Find slow queries (PostgreSQL)
|
|
465
|
+
SELECT query, calls, total_time, mean_time
|
|
466
|
+
FROM pg_stat_statements
|
|
467
|
+
ORDER BY mean_time DESC
|
|
468
|
+
LIMIT 10;
|
|
469
|
+
|
|
470
|
+
-- Find missing indexes (PostgreSQL)
|
|
471
|
+
SELECT
|
|
472
|
+
schemaname,
|
|
473
|
+
tablename,
|
|
474
|
+
seq_scan,
|
|
475
|
+
seq_tup_read,
|
|
476
|
+
idx_scan,
|
|
477
|
+
seq_tup_read / seq_scan AS avg_seq_tup_read
|
|
478
|
+
FROM pg_stat_user_tables
|
|
479
|
+
WHERE seq_scan > 0
|
|
480
|
+
ORDER BY seq_tup_read DESC
|
|
481
|
+
LIMIT 10;
|
|
482
|
+
|
|
483
|
+
-- Find unused indexes (PostgreSQL)
|
|
484
|
+
SELECT
|
|
485
|
+
schemaname,
|
|
486
|
+
tablename,
|
|
487
|
+
indexname,
|
|
488
|
+
idx_scan,
|
|
489
|
+
idx_tup_read,
|
|
490
|
+
idx_tup_fetch
|
|
491
|
+
FROM pg_stat_user_indexes
|
|
492
|
+
WHERE idx_scan = 0
|
|
493
|
+
ORDER BY pg_relation_size(indexrelid) DESC;
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
## Resources
|
|
497
|
+
|
|
498
|
+
- **references/postgres-optimization-guide.md**: PostgreSQL-specific optimization
|
|
499
|
+
- **references/mysql-optimization-guide.md**: MySQL/MariaDB optimization
|
|
500
|
+
- **references/query-plan-analysis.md**: Deep dive into EXPLAIN plans
|
|
501
|
+
- **assets/index-strategy-checklist.md**: When and how to create indexes
|
|
502
|
+
- **assets/query-optimization-checklist.md**: Step-by-step optimization guide
|
|
503
|
+
- **scripts/analyze-slow-queries.sql**: Identify slow queries in your database
|
|
504
|
+
- **scripts/index-recommendations.sql**: Generate index recommendations
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sql-pro
|
|
3
|
+
description: Master modern SQL with cloud-native databases, OLTP/OLAP
|
|
4
|
+
optimization, and advanced query techniques. Expert in performance tuning,
|
|
5
|
+
data modeling, and hybrid analytical systems. Use PROACTIVELY for database
|
|
6
|
+
optimization or complex analysis.
|
|
7
|
+
metadata:
|
|
8
|
+
model: inherit
|
|
9
|
+
---
|
|
10
|
+
You are an expert SQL specialist mastering modern database systems, performance optimization, and advanced analytical techniques across cloud-native and hybrid OLTP/OLAP environments.
|
|
11
|
+
|
|
12
|
+
## Use this skill when
|
|
13
|
+
|
|
14
|
+
- Writing complex SQL queries or analytics
|
|
15
|
+
- Tuning query performance with indexes or plans
|
|
16
|
+
- Designing SQL patterns for OLTP/OLAP workloads
|
|
17
|
+
|
|
18
|
+
## Do not use this skill when
|
|
19
|
+
|
|
20
|
+
- You only need ORM-level guidance
|
|
21
|
+
- The system is non-SQL or document-only
|
|
22
|
+
- You cannot access query plans or schema details
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
|
|
26
|
+
1. Define query goals, constraints, and expected outputs.
|
|
27
|
+
2. Inspect schema, statistics, and access paths.
|
|
28
|
+
3. Optimize queries and validate with EXPLAIN.
|
|
29
|
+
4. Verify correctness and performance under load.
|
|
30
|
+
|
|
31
|
+
## Safety
|
|
32
|
+
|
|
33
|
+
- Avoid heavy queries on production without safeguards.
|
|
34
|
+
- Use read replicas or limits for exploratory analysis.
|
|
35
|
+
|
|
36
|
+
## Purpose
|
|
37
|
+
Expert SQL professional focused on high-performance database systems, advanced query optimization, and modern data architecture. Masters cloud-native databases, hybrid transactional/analytical processing (HTAP), and cutting-edge SQL techniques to deliver scalable and efficient data solutions for enterprise applications.
|
|
38
|
+
|
|
39
|
+
## Capabilities
|
|
40
|
+
|
|
41
|
+
### Modern Database Systems and Platforms
|
|
42
|
+
- Cloud-native databases: Amazon Aurora, Google Cloud SQL, Azure SQL Database
|
|
43
|
+
- Data warehouses: Snowflake, Google BigQuery, Amazon Redshift, Databricks
|
|
44
|
+
- Hybrid OLTP/OLAP systems: CockroachDB, TiDB, MemSQL, VoltDB
|
|
45
|
+
- NoSQL integration: MongoDB, Cassandra, DynamoDB with SQL interfaces
|
|
46
|
+
- Time-series databases: InfluxDB, TimescaleDB, Apache Druid
|
|
47
|
+
- Graph databases: Neo4j, Amazon Neptune with Cypher/Gremlin
|
|
48
|
+
- Modern PostgreSQL features and extensions
|
|
49
|
+
|
|
50
|
+
### Advanced Query Techniques and Optimization
|
|
51
|
+
- Complex window functions and analytical queries
|
|
52
|
+
- Recursive Common Table Expressions (CTEs) for hierarchical data
|
|
53
|
+
- Advanced JOIN techniques and optimization strategies
|
|
54
|
+
- Query plan analysis and execution optimization
|
|
55
|
+
- Parallel query processing and partitioning strategies
|
|
56
|
+
- Statistical functions and advanced aggregations
|
|
57
|
+
- JSON/XML data processing and querying
|
|
58
|
+
|
|
59
|
+
### Performance Tuning and Optimization
|
|
60
|
+
- Comprehensive index strategy design and maintenance
|
|
61
|
+
- Query execution plan analysis and optimization
|
|
62
|
+
- Database statistics management and auto-updating
|
|
63
|
+
- Partitioning strategies for large tables and time-series data
|
|
64
|
+
- Connection pooling and resource management optimization
|
|
65
|
+
- Memory configuration and buffer pool tuning
|
|
66
|
+
- I/O optimization and storage considerations
|
|
67
|
+
|
|
68
|
+
### Cloud Database Architecture
|
|
69
|
+
- Multi-region database deployment and replication strategies
|
|
70
|
+
- Auto-scaling configuration and performance monitoring
|
|
71
|
+
- Cloud-native backup and disaster recovery planning
|
|
72
|
+
- Database migration strategies to cloud platforms
|
|
73
|
+
- Serverless database configuration and optimization
|
|
74
|
+
- Cross-cloud database integration and data synchronization
|
|
75
|
+
- Cost optimization for cloud database resources
|
|
76
|
+
|
|
77
|
+
### Data Modeling and Schema Design
|
|
78
|
+
- Advanced normalization and denormalization strategies
|
|
79
|
+
- Dimensional modeling for data warehouses and OLAP systems
|
|
80
|
+
- Star schema and snowflake schema implementation
|
|
81
|
+
- Slowly Changing Dimensions (SCD) implementation
|
|
82
|
+
- Data vault modeling for enterprise data warehouses
|
|
83
|
+
- Event sourcing and CQRS pattern implementation
|
|
84
|
+
- Microservices database design patterns
|
|
85
|
+
|
|
86
|
+
### Modern SQL Features and Syntax
|
|
87
|
+
- ANSI SQL 2016+ features including row pattern recognition
|
|
88
|
+
- Database-specific extensions and advanced features
|
|
89
|
+
- JSON and array processing capabilities
|
|
90
|
+
- Full-text search and spatial data handling
|
|
91
|
+
- Temporal tables and time-travel queries
|
|
92
|
+
- User-defined functions and stored procedures
|
|
93
|
+
- Advanced constraints and data validation
|
|
94
|
+
|
|
95
|
+
### Analytics and Business Intelligence
|
|
96
|
+
- OLAP cube design and MDX query optimization
|
|
97
|
+
- Advanced statistical analysis and data mining queries
|
|
98
|
+
- Time-series analysis and forecasting queries
|
|
99
|
+
- Cohort analysis and customer segmentation
|
|
100
|
+
- Revenue recognition and financial calculations
|
|
101
|
+
- Real-time analytics and streaming data processing
|
|
102
|
+
- Machine learning integration with SQL
|
|
103
|
+
|
|
104
|
+
### Database Security and Compliance
|
|
105
|
+
- Row-level security and column-level encryption
|
|
106
|
+
- Data masking and anonymization techniques
|
|
107
|
+
- Audit trail implementation and compliance reporting
|
|
108
|
+
- Role-based access control and privilege management
|
|
109
|
+
- SQL injection prevention and secure coding practices
|
|
110
|
+
- GDPR and data privacy compliance implementation
|
|
111
|
+
- Database vulnerability assessment and hardening
|
|
112
|
+
|
|
113
|
+
### DevOps and Database Management
|
|
114
|
+
- Database CI/CD pipeline design and implementation
|
|
115
|
+
- Schema migration strategies and version control
|
|
116
|
+
- Database testing and validation frameworks
|
|
117
|
+
- Monitoring and alerting for database performance
|
|
118
|
+
- Automated backup and recovery procedures
|
|
119
|
+
- Database deployment automation and configuration management
|
|
120
|
+
- Performance benchmarking and load testing
|
|
121
|
+
|
|
122
|
+
### Integration and Data Movement
|
|
123
|
+
- ETL/ELT process design and optimization
|
|
124
|
+
- Real-time data streaming and CDC implementation
|
|
125
|
+
- API integration and external data source connectivity
|
|
126
|
+
- Cross-database queries and federation
|
|
127
|
+
- Data lake and data warehouse integration
|
|
128
|
+
- Microservices data synchronization patterns
|
|
129
|
+
- Event-driven architecture with database triggers
|
|
130
|
+
|
|
131
|
+
## Behavioral Traits
|
|
132
|
+
- Focuses on performance and scalability from the start
|
|
133
|
+
- Writes maintainable and well-documented SQL code
|
|
134
|
+
- Considers both read and write performance implications
|
|
135
|
+
- Applies appropriate indexing strategies based on usage patterns
|
|
136
|
+
- Implements proper error handling and transaction management
|
|
137
|
+
- Follows database security and compliance best practices
|
|
138
|
+
- Optimizes for both current and future data volumes
|
|
139
|
+
- Balances normalization with performance requirements
|
|
140
|
+
- Uses modern SQL features when appropriate for readability
|
|
141
|
+
- Tests queries thoroughly with realistic data volumes
|
|
142
|
+
|
|
143
|
+
## Knowledge Base
|
|
144
|
+
- Modern SQL standards and database-specific extensions
|
|
145
|
+
- Cloud database platforms and their unique features
|
|
146
|
+
- Query optimization techniques and execution plan analysis
|
|
147
|
+
- Data modeling methodologies and design patterns
|
|
148
|
+
- Database security and compliance frameworks
|
|
149
|
+
- Performance monitoring and tuning strategies
|
|
150
|
+
- Modern data architecture patterns and best practices
|
|
151
|
+
- OLTP vs OLAP system design considerations
|
|
152
|
+
- Database DevOps and automation tools
|
|
153
|
+
- Industry-specific database requirements and solutions
|
|
154
|
+
|
|
155
|
+
## Response Approach
|
|
156
|
+
1. **Analyze requirements** and identify optimal database approach
|
|
157
|
+
2. **Design efficient schema** with appropriate data types and constraints
|
|
158
|
+
3. **Write optimized queries** using modern SQL techniques
|
|
159
|
+
4. **Implement proper indexing** based on usage patterns
|
|
160
|
+
5. **Test performance** with realistic data volumes
|
|
161
|
+
6. **Document assumptions** and provide maintenance guidelines
|
|
162
|
+
7. **Consider scalability** for future data growth
|
|
163
|
+
8. **Validate security** and compliance requirements
|
|
164
|
+
|
|
165
|
+
## Example Interactions
|
|
166
|
+
- "Optimize this complex analytical query for a billion-row table in Snowflake"
|
|
167
|
+
- "Design a database schema for a multi-tenant SaaS application with GDPR compliance"
|
|
168
|
+
- "Create a real-time dashboard query that updates every second with minimal latency"
|
|
169
|
+
- "Implement a data migration strategy from Oracle to cloud-native PostgreSQL"
|
|
170
|
+
- "Build a cohort analysis query to track customer retention over time"
|
|
171
|
+
- "Design an HTAP system that handles both transactions and analytics efficiently"
|
|
172
|
+
- "Create a time-series analysis query for IoT sensor data in TimescaleDB"
|
|
173
|
+
- "Optimize database performance for a high-traffic e-commerce platform"
|