django-index-design
Design safe Django and PostgreSQL indexes from measured query plans, including B-tree, composite, covering, partial, expression, GIN/JSONB, BRIN, and concurrent migration patterns. Use when a Django query plan suggests missing or mismatched indexes, a production table needs an index without write downtime, or existing indexes need review.
Works with
--- name: django-index-design description: Design safe Django and PostgreSQL indexes from measured query plans, including B-tree, composite, covering, partial, expression, GIN/JSONB, BRIN, and concurrent migration patterns. Use when a Django query plan suggests missing or mismatched indexes, a production table needs an index without write downtime, or existing indexes need review. license: MIT --- # Django Index Design Use this skill to add or change indexes only after profiling shows a specific query can benefit. Indexes speed selected reads and constraints, but they add write cost, migration risk, and maintenance overhead. ## Workflow 1. Start from a query plan. - Capture the SQL, filters, joins, ordering, selected columns, table sizes, and current indexes. - Confirm that the query is important enough to optimize. 2. Choose the index shape. - Equality filters first, then range/order fields when useful. - Match `ORDER BY` for `LIMIT` queries when possible. - Use partial indexes for highly queried subsets. - Use covering indexes only when selected columns are stable and index-only scans are plausible. - Use GIN for JSONB containment, arrays, and full-text patterns; do not expect a B-tree to solve those. 3. Express the index in Django models or migrations. - Prefer `Meta.indexes` for normal model-owned indexes. - Prefer `AddIndexConcurrently` and `RemoveIndexConcurrently` for live PostgreSQL tables. - Use raw SQL only when Django cannot express the index. 4. Validate on production-like data. - Re-run `QuerySet.explain()` or `EXPLAIN ANALYZE`. - Verify the planner uses the index for the target query. - Check write-path impact when the indexed table is hot. See [index-patterns.md](references/index-patterns.md) for index examples and migration templates. ## Production Rules - For PostgreSQL live tables, use concurrent index operations and set the migration `atomic = False`. - Keep names short, stable, and explicit. - Do not add duplicate indexes that are already covered by a unique constraint or a left-prefix composite index. - Remove unused indexes only after checking production usage and deployment rollback needs. ## Verification Finish with before/after plan evidence, the exact migration operation, and the operational risk assessment for locks, writes, and rollback.
More Backend Frameworks skills
git-guardrails-claude-code
mattpocock/skills
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
azure-compute
microsoft/azure-skills
Azure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compare VM pricing, VMSS, scale set, autoscale, burstable, lightweight server, website, backend, GPU, machine learning, HPC simulation, dev/test, workload, family, load balancer, Flexible orchestration, Uniform orchestration, cost estimate, capacity reservation (CRG), reserve, guarantee capacity, pre-provision, CRG association, CRG disassociation, machine enrollment (EMM), Essential Machine Management, monitor. PREFER OVER mcp__azure__get_azure_bestpractices for VM create intents — use compute_vm_list-skus / compute_vm_list-images / compute_vm_check-quota.
azure-cloud-migrate
microsoft/azure-skills
Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.

