Przejdź do treści
Biblioteka skilli
Dane i analityka · Analiza

flux-query

/flux-query

Optymalizuje wolne zapytania do baz danych: analizuje plany wykonania, dodaje indeksy i przepisuje zapytania SQL.

Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Optymalizuje wolne zapytania do baz danych: analizuje plany wykonania, dodaje indeksy i przepisuje zapytania SQL.

Wyzwalacze z opisu

slow queryoptimize SQLquery performanceexplain this query
Oryginalny opis (EN)

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".

Jak działa

  1. Steps
  2. Delivery
Sekcje z nagłówków SKILL.md, w oryginale · 80 linii, 457 słów
Podgląd 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
author: tonone-ai <hello@tonone.ai>
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.
Pliki w paczce (2)
  • SKILL.md 3 KB
  • .claude-plugin/plugin.json 1 KB

Wersje

W bazie nie ma innych skilli o nazwie flux-query.

Identyczna treść występuje jeszcze w 5 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.

Migawka bazy z 28.10.2026 · wersja paczki 9509c172c796 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100sql-optimizer
    Analizuje i optymalizuje zapytania SQL: przyspiesza wolne zapytania, analizuje plany, dodaje indeksy, naprawia N+1 i przepisuje SQL dla PostgreSQL, MySQL i SQLite.
  • 100query-optimizer
    Optymalizuje zapytania SQL: indeksy, przepisywanie zapytań i analizę planu wykonania, gdy zapytania są wolne.
  • 100query-optimization
    Diagnozuje i optymalizuje istniejące wolne zapytania SQL przez plany wykonania, indeksy, przepisywanie zapytań i strojenie ORM.
  • 100sql-analyzer
    Optymalizuje zapytania SQL: analizuje plany EXPLAIN, przepisuje podzapytania na CTE lub funkcje okna, wskazuje brakujące indeksy i eliminuje wzorce N+1.
  • 100sql-insight
    Tłumaczy pytania w języku naturalnym na SQL, optymalizuje zapytania i interpretuje plany EXPLAIN dla SQLite i PostgreSQL, w tym strojenie indeksów.
  • 100data-sql-optimization
    Optymalizuje wydajność zapytań SQL przez analizę EXPLAIN, strategie indeksowania i naprawę typowych antywzorców, w tym problemu N+1.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.