К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

sql-pro — скилл для Claude Code: что делает и как установить

Оптимизирует медленные SQL-запросы, проектирует схемы баз данных и устраняет проблемы производительности. Пригодится при разборе планов EXPLAIN и миграции диалектов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Jeffallan/claude-skills --skill sql-pro -a claude-code
Открыть на GitHub

Что делает sql-pro

Скилл переводит оптимизацию базы данных на чёткие инженерные правила. Он помогает переписать тяжёлые коррелированные подзапросы через CTE или оконные функции, составить покрывающие индексы и разобрать вывод EXPLAIN ANALYZE. Поддерживаются диалекты PostgreSQL, MySQL, SQL Server и Oracle.

Внутри заложен пятиэтапный рабочий процесс: анализ схемы, проектирование операций над множествами, оптимизация планов, верификация и документирование. Скилл запрещает SELECT * и курсоры в продакшене. Для проверки существования строк он заставляет использовать EXISTS вместо COUNT, а фильтрацию выносит до выполнения JOIN.

Ориентир оптимизации жёсткий — выполнение быстрее 100 мс без последовательного сканирования больших таблиц. Если запрос не укладывается в этот порог, агент продолжает подбирать индексы или переписывать структуру условий.

Какие задачи решает

  • Ускорить медленный запрос с помощью CTE и оконных функций
  • Найти причину sequential scan по выводу EXPLAIN ANALYZE
  • Спроектировать покрывающий индекс под частые выборки
  • Перенести SQL-запрос между PostgreSQL, MySQL и Oracle

Примеры запросов агенту

  • Почему этот запрос к PostgreSQL работает медленно? Вот вывод EXPLAIN (ANALYZE, BUFFERS)
  • Оптимизируй подзапрос в таблице orders с помощью CTE и добавь покрывающий индекс
  • Перепиши этот аналитический запрос с оконными функциями под синтаксис SQL Server

Как установить sql-pro

1Через Skills CLI (Vercel)

npx skills add Jeffallan/claude-skills --skill sql-pro -a claude-code

2Вручную: положить файлы

~/.claude/skills/sql-pro/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/sql-pro/

Из того же набора61

Весь набор →
laravel-specialist https://github.com/Jeffallan Настраивает агента на разработку бэкенда на Laravel 10+ и PHP 8.2+. Помогает писать модели Eloquent, очереди Horizon, API resources и тесты Pest. Claude Code CX Codex Cursor +1 23 300установок golang-pro https://github.com/Jeffallan Скилл помогает писать идиоматичный Go: разбирать конкурентный код, строить микросервисы и проверять производительность. Пригодится для goroutines, gRPC и тестов. Claude Code CX Codex Cursor +1 18 900установок php-pro https://github.com/Jeffallan Задаёт правила разработки на PHP 8.3+ для Laravel и Symfony: включает strict_types, анализ в PHPStan на уровне 9 и тесты PHPUnit или Pest. Claude Code CX Codex Cursor +1 15 500установок flutter-expert https://github.com/Jeffallan Скилл для разработки кросс-платформных приложений на Flutter 3+ и Dart. Помогает с виджетами, управлением состоянием через Riverpod или Bloc, маршрутизацией GoRouter и оптимизацией производительности. Claude Code CX Codex Cursor +1 14 300установок typescript-pro https://github.com/Jeffallan Настраивает строгую типизацию TypeScript, генерирует брендированные типы и связывает tRPC. Пригодится при проектировании надёжных API и сложных generic-структур. Claude Code CX Codex Cursor +1 14 200установок kubernetes-specialist https://github.com/Jeffallan Скилл помогает создавать и проверять Kubernetes-манифесты, настраивать безопасность и разбирать сбои подов. Пригодится для деплоя и сопровождения кластерных workloads. Claude Code CX Codex Cursor +1 14 100установок devops-engineer https://github.com/Jeffallan Скилл создаёт Dockerfile, CI/CD-конфигурации и манифесты Kubernetes. Нужен для инфраструктуры, деплоя и разбора инцидентов. Claude Code CX Codex Cursor +1 11 200установок wordpress-pro https://github.com/Jeffallan Скилл помогает разрабатывать темы и плагины WordPress, блоки Gutenberg и магазины WooCommerce. Нужен для задач с REST API, хуками, безопасностью и производительностью. Claude Code CX Codex Cursor +1 9 700установок

Похожие

minimax-xlsx MiniMax-AI Скилл для создания, чтения, редактирования и проверки Excel-файлов (.xlsx, .xlsm, .csv, .tsv) прямо в коде. Пригодится, если нужно обработать табличные данные, построить финмодель или исправить формулы без потери форматирования. Claude Code CX Codex Cursor +1 3 800установок bigquery-observability официальный google Скилл помогает получать телеметрию BigQuery и выбирать подходящий источник данных. Подходит для анализа заданий, слотов, очередей и загрузки резервов. Claude Code Gemini CLI CX Codex 1 800установок spring-boot-testing официальный github Подбирает способ тестирования для Spring Boot 4: от проверки отдельного слоя до интеграционного теста. Пригодится, когда нужно выбрать подходящие аннотации и инструменты. GitHub Copilot 2 000установок sentiment-analysis phuryn Разбирает отзывы, опросы и тикеты поддержки по сегментам аудитории. Считает тональность от -1 до +1 и формулирует задачи пользователей по фреймворку JTBD. Claude Code CX Codex Cursor +1 3 100установок metrics-dashboard phuryn Скилл помогает спроектировать дашборд метрик продукта с North Star Metric, input-метриками, health-метриками и бизнес-метриками. Нужен, когда вы определяете KPI, настраиваете product analytics или строите план мониторинга данных. Claude Code CX Codex Cursor +1 3 000установок xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. Claude Code CX Codex Cursor +1 509 900установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. Claude Code CX Codex Cursor +1 103 500установок

Вопросы о sql-pro

Как установить sql-pro в Claude Code?

Выполните команду npx skills add Jeffallan/claude-skills --skill sql-pro -a claude-code в терминале или сохраните файл навыка в ~/.claude/skills/sql-pro/SKILL.md.

Что делает скилл sql-pro?

Он анализирует планы выполнения, проектирует схемы таблиц, подбирает индексы и устраняет узкие места в SQL-запросах без использования курсоров.

Какие СУБД поддерживает sql-pro?

Скилл содержит правила оптимизации и шаблоны миграции для PostgreSQL, MySQL, SQL Server и Oracle.

Исходный текст

SKILL.md · MIT
---
name: sql-pro
description: 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).
license: MIT
metadata:
  author: https://github.com/Jeffallan
  company: https://synergetic.solutions
  version: "1.1.0"
  domain: language
  triggers: SQL optimization, query performance, database design, PostgreSQL, MySQL, SQL Server, window functions, CTEs, query tuning, EXPLAIN plan, database indexing
  role: specialist
  scope: implementation
  output-format: code
  related-skills: devops-engineer
---

# SQL Pro

## Core Workflow

1. **Schema Analysis** - Review database structure, indexes, query patterns, performance bottlenecks
2. **Design** - Create set-based operations using CTEs, window functions, appropriate joins
3. **Optimize** - Analyze execution plans, implement covering indexes, eliminate table scans
4. **Verify** - Run `EXPLAIN ANALYZE` and confirm no sequential scans on large tables; if query does not meet sub-100ms target, iterate on index selection or query rewrite before proceeding
5. **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
```sql
-- 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 customer
```

### Window Function Pattern
```sql
-- 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
```sql
-- 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 `read` count signals missing cache / index

### Before / After Optimization Example
```sql
-- 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:
1. Optimized query with inline comments
2. Required indexes with rationale
3. Execution plan analysis
4. Performance metrics (before/after)
5. Platform-specific notes if applicable

Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)

[Documentation](https://jeffallan.github.io/claude-skills/skills/language/sql-pro/)

© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой