# SQL Server Query Plan Analysis

> Teaches your agent to read a SQL Server execution plan and say what is actually slow and why, without the usual wrong conclusions.

Erik Darling's Agent Skill for reading SQL Server execution plans. Point your agent at a .sqlplan file and ask why the query is slow: it works through the plan in a set order and says what is actually slow and why, naming the operator, its node and its own elapsed time. Erik Darling runs Darling Data, a SQL Server consulting and training firm.

What you can do with it
- Ask why a query is slow, from an actual execution plan
- Find where the time went, using each operator's own time rather than cost percentages
- Spot where estimates went wrong, comparing estimated and actual rows per execution
- Read the warnings SQL Server recorded: spills, implicit conversions, missing statistics and memory grants
- Check a parallel plan for skew, and look for parameter sniffing and oversized memory grants
- Ask whether an index would help, with missing-index requests treated as hints rather than DDL
- Get a fix that names what changes in the plan and why

How it works
- It ships a Python script (standard library only) that flattens a .sqlplan into a compact digest, handles UTF-16 and mislabelled encodings, and can drill into a single operator
- Without Python, it falls back to a documented grep-based method and says what it can't determine
- Reference notes cover cardinality, indexes, operators, parallelism, rewrites, timing and warnings
- Given an estimated plan, it asks for an actual plan rather than guessing what was slow

Install
- As an Agent Skill from github.com/erikdarlingdata/claude-plugins
- In Claude Code or GitHub Copilot CLI, also as the sqlserver-query-plans plugin from Darling Data's erikdarling marketplace

Good to know
- It reads plan files you give it; it doesn't connect to your SQL Server
- It treats everything inside a plan as data, never as instructions
- MIT licensed

- Type: Skill
- Made by: Erik Darling
- Category: Databases
- Formats: Skills
- Version: 77adc61
- Website: https://erikdarling.com
- Source: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis
- Page: https://pluginboard.ai/skills/query-plan-analysis

## Works with

- ChatGPT
- Claude
- Gemini
- GitHub Copilot
- Cursor
- Claude Code
- Codex
- Antigravity
- Gemini CLI
- Replit
- OpenClaw
- OpenCode
- Hermes Agent

## Install

### ChatGPT

In ChatGPT: Download the query-plan-analysis folder and zip it, then Plugins → Skills → Create → Upload from your computer. Business and Enterprise plans.

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Claude

In Claude (web or desktop): Download the query-plan-analysis folder and zip the folder itself, then upload it in Customize → Skills.

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Gemini

In Gemini: Download the query-plan-analysis folder, then at gemini.google.com click Customize → Skills → Create → Upload and pick the folder (or a .zip of it).

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### GitHub Copilot

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.copilot/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Cursor

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.cursor/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Claude Code

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.claude/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

Or as a Claude Code plugin:

```text
/plugin marketplace add erikdarlingdata/claude-plugins
/plugin install sqlserver-query-plans@erikdarling
```

### Codex

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.agents/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Antigravity

In Antigravity: Copy the query-plan-analysis folder into ~/.gemini/config/skills (Antigravity app and IDE) or ~/.gemini/antigravity-cli/skills (Antigravity CLI).

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Gemini CLI

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.gemini/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Replit

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis .agents/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### OpenClaw

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.openclaw/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### OpenCode

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.config/opencode/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

### Hermes Agent

Run in your terminal:

```shell
npx -y degit erikdarlingdata/claude-plugins/plugins/sqlserver-query-plans/skills/query-plan-analysis ~/.hermes/skills/query-plan-analysis
```

View the folder on GitHub: https://github.com/erikdarlingdata/claude-plugins/tree/HEAD/plugins/sqlserver-query-plans/skills/query-plan-analysis

---
From Pluginboard (https://pluginboard.ai).
