sql-pro
Skill0 starsChanged 11 months agoMITView on GitHub
Optimizes SQL queries, designs database schemas, and troubleshoots performance issues. Use when a user asks why their query is slow, needs help writing complex joins or aggregations, mentions database performance issues, or wants to design or migrate a schema. Invoke for complex queries, window functions, CTEs, indexing strategies, query plan analysis, covering index creation, recursive queries, EXPLAIN/ANALYZE interpretation, before/after query benchmarking, or migrating queries between database dialects (PostgreSQL, MySQL, SQL Server, Oracle).
21 other projects use a version of this, 8 of them edited.
Adopted by
Most recently taken up by
- santiago-migoni/claude-skillsword for word, first seen Nov 8, 2026
- AxlZero21/Skillsword for word, first seen Nov 8, 2026
- codeApe-7/ai-agent-workflowGroupedited, first seen Nov 1, 2026
- hu465/claude-skills-word for word, first seen Oct 25, 2026
- zacklecon/claude-skillsedited, first seen Oct 13, 2026
- xfstudio/skillstheir own version, first seen Oct 13, 2026
Other versions21 projects use a version of this.
Word for word · 4
- Jeffallan/claude-skills★ 12k100% same
- AxlZero21/Skills★ 1100% same
- hu465/claude-skills-★ 0100% same
- santiago-migoni/claude-skills★ 0100% same
Edited · 8
- codeApe-7/ai-agent-workflowGroup★ 1899% same
- PIXARTSeu/Synapse★ 999% same
- HK-hub/AgentSkills★ 699% same
- zacklecon/claude-skills★ 346% same
- rcdelfin/agentkit★ 299% same
- james-paul25/claude-skill★ 099% same
- LucasGS520/Claude-Skills★ 099% same
- usmanmubarak1/ClaudeSkilledAgents★ 043% same
Wrote their own version · 9
- kumaran-is/claude-code-onboarding★ 35same name
- oxedom/haflow★ 34same name
- jshsakura/awesome-opencode-skills★ 30same name
- belokonm/claude-supercode-skills★ 11same name
- xfstudio/skills★ 9same name
- nicolasestrem/antigravity-gemini-skills★ 8same name
- marttp/my_agent_skills_I_use★ 4same name
- ai4brands-design/claude-skills★ 2same name
- TheHiddenDeveloper/jarvis-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository67 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- angular-architectSkill
- api-designerSkill
- architecture-designerSkill
- atlassian-mcpSkill
- chaos-engineerSkill
- cli-developerSkill
- cloud-architectSkill
- code-documenterSkill
- code-reviewerSkill
- cpp-proSkill
- csharp-developerSkill
- database-optimizerSkill
- debugging-wizardSkill
- devops-engineerSkill
- django-expertSkill
- django-storages-s3Skill
- dotnet-core-expertSkill
- embedded-systemsSkill
- fastapi-expertSkill
- feature-forgeSkill
- fine-tuning-expertSkill
- flutter-expertSkill
- fullstack-guardianSkill
- game-developerSkill
- golang-proSkill
- graphql-architectSkill
- java-architectSkill
- javascript-proSkill
- kotlin-specialistSkill
- kubernetes-specialistSkill
- laravel-specialistSkill
- legacy-modernizerSkill
- mcp-developerSkill
- microservices-architectSkill
- ml-pipelineSkill
- monitoring-expertSkill
- nestjs-expertSkill
- nextjs-developerSkill
- pandas-proSkill
- php-proSkill
- playwright-expertSkill
- postgres-proSkill
- prompt-engineerSkill
- python-proSkill
- rag-architectSkill
- rails-expertSkill
- react-expertSkill
- react-native-expertSkill
- rust-engineerSkill
- salesforce-developerSkill
- secure-code-guardianSkill
- security-reviewerSkill
- shopify-expertSkill
- spark-engineerSkill
- spec-minerSkill
- spring-boot-engineerSkill
- sre-engineerSkill
- swift-expertSkill
- terraform-engineerSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 8 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 15 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Design: - Create set-based operations using CTEs, window functions, appropriate joins
- Very specific: line 24
Verify: - Run EXPLAIN ANALYZE and confirm no sequential scans on large tables.
- Distinctive: line 110
Use set-based operations over row-by-row processing
- Distinctive: line 112
Use EXISTS over COUNT for existence checks
- Distinctive: line 114
Create covering indexes for frequent queries
- Distinctive: line 115
Test with production-scale data volumes
- Distinctive: line 118
Use SELECT * in production queries
- Distinctive: line 119
Use cursors when set-based operations work
- Distinctive: line 125
When implementing SQL solutions, provide:
“Common” is measured: kept by at least 6 in 10 of the 15 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SQL Pro
Core Workflow
- Schema Analysis - Review database structure, indexes, query patterns, performance bottlenecks
- Design - Create set-based operations using CTEs, window functions, appropriate joins
- Optimize - Analyze execution plans, implement covering indexes, eliminate table scans
- Verify - Run
EXPLAIN ANALYZEand confirm no sequential scans on large tables; if query does not meet sub-100ms target, iterate on index selection or query rewrite before proceeding - Document - Provide query explanations, index rationale, performance metrics
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
| Query Patterns | references/query-patterns.md | JOINs, CTEs, subqueries, recursive queries |
| Window Functions | references/window-functions.md | ROW_NUMBER, RANK, LAG/LEAD, analytics |
| Optimization | references/optimization.md | EXPLAIN plans, indexes, statistics, tuning |
| Database Design | references/database-design.md | Normalization, keys, constraints, schemas |
| Dialect Differences | references/dialect-differences.md | PostgreSQL vs MySQL vs SQL Server specifics |
Quick-Reference Examples
CTE Pattern
-- Isolate expensive subquery logic for reuse and readability
WITH ranked_orders AS (
SELECT
customer_id,
order_id,
total_amount,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) AS rn
FROM orders
WHERE status = 'completed' -- filter early, before the join
)
SELECT customer_id, order_id, total_amount
FROM ranked_orders
WHERE rn = 1; -- latest completed order per customerWindow Function Pattern
-- Running total and rank within partition — no self-join required
SELECT
department_id,
employee_id,
salary,
SUM(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS running_payroll,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;EXPLAIN ANALYZE Interpretation
-- PostgreSQL: always use ANALYZE to see actual row counts vs. estimates
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT *
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.created_at > NOW() - INTERVAL '30 days';Key things to check in the output:
- Seq Scan on large table → add or fix an index
- actual rows ≫ estimated rows → run
ANALYZE <table>to refresh statistics - Buffers: shared hit vs read → high
readcount signals missing cache / index
Before / After Optimization Example
-- BEFORE: correlated subquery, one execution per row (slow)
SELECT order_id,
(SELECT SUM(quantity) FROM order_items oi WHERE oi.order_id = o.id) AS item_count
FROM orders o;
-- AFTER: single aggregation join (fast)
SELECT o.order_id, COALESCE(agg.item_count, 0) AS item_count
FROM orders o
LEFT JOIN (
SELECT order_id, SUM(quantity) AS item_count
FROM order_items
GROUP BY order_id
) agg ON agg.order_id = o.id;
-- Supporting covering index (includes all columns touched by the query)
CREATE INDEX idx_order_items_order_qty
ON order_items (order_id)
INCLUDE (quantity);Constraints
MUST DO
- Analyze execution plans before recommending optimizations
- Use set-based operations over row-by-row processing
- Apply filtering early in query execution (before joins where possible)
- Use EXISTS over COUNT for existence checks
- Handle NULLs explicitly in comparisons and aggregations
- Create covering indexes for frequent queries
- Test with production-scale data volumes
MUST NOT DO
- Use SELECT * in production queries
- Use cursors when set-based operations work
- Ignore platform-specific optimizations when targeting a specific dialect
- Implement solutions without considering data volume and cardinality
Output Templates
When implementing SQL solutions, provide:
- Optimized query with inline comments
- Required indexes with rationale
- Execution plan analysis
- Performance metrics (before/after)
- Platform-specific notes if applicable
Maintained by @jeffallan, Principal Consultant at Synergetic Solutions
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

