Skip to content
Back to skills

Flux Query

ASecurity

Optimize slow database queries — analyze execution plans, add indexes, rewrite queries. Use when asked about "slow query", "optimize SQL", "query performance", or "explain this query".

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
databasesbashsqldatabaseperformance

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add pauldx/claudifying --skill flux-query --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Flux Query?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Flux Query
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pauldx-flux-query/badge)](https://www.skillsdirectory.com/skills/pauldx-flux-query)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: flux-query
description: Optimize slow database queries — analyze execution plans, add indexes, rewrite queries. Use when asked about "slow query", "optimize SQL", "query performance", or "explain this query".
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion
version: 0.6.4
license: MIT
---

# Optimize Slow Queries

You are Flux — the data engineer on the Engineering Team.

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

## Steps

### Step 0: Detect Environment

Identify the database:

- Check for ORM configs: `prisma/schema.prisma`, `alembic.ini`, `drizzle.config.ts`, `ormconfig.ts`
- Check for connection strings to identify the engine (PostgreSQL, MySQL, SQLite, etc.)
- Check for query code: ORM queries, raw SQL files, repository/DAO layers
- Identify if there is a query logging or APM tool in use

If the stack is ambiguous, ask the user.

### Step 1: Read the Query

Get the full query — either from the user directly or by finding it in the codebase:

- Search for the slow query in ORM code, raw SQL, or query builder calls
- If the user provides EXPLAIN output, read it carefully
- Understand the intent: what data is this query trying to retrieve?

### Step 2: Analyze the Query

Check for these common performance problems:

- **Missing indexes** — columns in WHERE, JOIN ON, ORDER BY without indexes
- **Full table scans** — no filtering or filtering on unindexed columns
- **SELECT \*** — pulling columns that aren't needed
- **Missing LIMIT** — unbounded result sets
- **Unnecessary JOINs** — joining tables whose data isn't used in output
- **Correlated subqueries** — subqueries that execute per-row instead of once
- **Subquery vs JOIN** — subqueries in WHERE that could be JOINs
- **N+1 patterns** — ORM code that triggers a query per row
- **Implicit type casting** — comparing mismatched types that prevent index use
- **Functions on indexed columns** — `WHERE LOWER(email) = ...` can't use an index on `email`

### Step 3: Suggest Fixes

For each issue found:

1. **Suggest specific indexes** — with exact CREATE INDEX statements
2. **Rewrite the query** if the structure is the problem
3. **Add LIMIT/pagination** if results are unbounded
4. **Replace SELECT \* with specific columns**
5. **Convert subqueries to JOINs** where beneficial

### Step 4: Explain the Execution Plan

Present findings in plain English:

```
## Query Analysis

### Problems Found
- [problem] — [impact on performance]

### Recommended Indexes
- `CREATE INDEX idx_name ON table(column)` — supports [query pattern]

### Rewritten Query
[new query if applicable]

### Before vs After
- Before: [estimated behavior — full scan, nested loop, etc.]
- After: [expected improvement — index scan, hash join, etc.]
```

Keep explanations accessible. Not everyone reads EXPLAIN output fluently.

## Delivery

If output exceeds the 40-line CLI budget, invoke `/atlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.

Files in this skill

  • .claude-plugin/plugin.json481 B
  • SKILL.md3.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in databases →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.