optimize-a-query

optimize-a-query is a skill for Claude Code, Codex from lonormaly/builders-stack. It costs 77 tokens per session (847 once invoked), scanned A, original, MIT.

A workflow for finding and fixing slow PostgreSQL database queries by examining how the database executes them and checking for ORM queries that repeat unnecessarily.

In plain words
What is it for?
Investigating slow pages, timed-out queries, and queries reported as heavy users of database resources, then confirming the fix.
Why use it?
It helps identify whether slowness comes from a missing index, inaccurate database statistics, or many repeated queries instead of guessing at a rewrite.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Investigating slow pages, timed-out queries, and queries reported as heavy users of database resources, then confirming the fix.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/lonormaly/builders-stack/optimize-a-query
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add lonormaly/builders-stack --skill optimize-a-query
Clone the repo
git clone --depth 1 https://github.com/lonormaly/builders-stack

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for optimize-a-query

README.md
[![agentmods](https://agentmods.dev/badge/skills/lonormaly/builders-stack/optimize-a-query/github.svg)](https://agentmods.dev/skills/lonormaly/builders-stack/optimize-a-query)
Your own site
<a href="https://agentmods.dev/skills/lonormaly/builders-stack/optimize-a-query"><img src="https://agentmods.dev/badge/skills/lonormaly/builders-stack/optimize-a-query/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for optimize-a-query

Your own site · 80×15
<a href="https://agentmods.dev/skills/lonormaly/builders-stack/optimize-a-query"><img src="https://agentmods.dev/badge/skills/lonormaly/builders-stack/optimize-a-query.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 77 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 847 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00077 $0.00847
Opus 5.5 $0.00031 $0.00339
Sonnet 5.5 $0.00015 $0.00169
Haiku 4.5 $0.00008 $0.00085

Measured 1mo ago against content hash ef471645a4ed, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

optimize-a-query scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/skills/optimize-a-query/SKILL.md · 73 lines

How it starts

The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Optimize a query

Measure, don't guess. A slow query is almost always a sequential scan that should be an index scan, or an ORM that fired N queries where one would do. Both are visible — you just have to look.

When to use

  • An endpoint/page is slow and you've traced it to a specific query.
  • A query times out or pg_stat_statements shows it as a top consumer.
  • Fixing the query needs a new/changed index → do the index work in design-a-schema.

1. Read the plan

Run the actual query with a plan (via psql against your DATABASE_URL, or Drizzle's logger):

EXPLAIN (ANALYZE, BUFFERS) SELECT ... ;

What to look for:

  • Seq Scan on a big table where you filter/join → missing index. The fix is an index (usually on the FK or the filtered column), not a query rewrite.
  • Rows Removed by Filter ≫ rows returned → the index isn't selective, or a partial index would help.
  • Estimated rows wildly off actual → stale stats: ANALYZE <table>; (autovacuum usually handles this).
  • Nested Loop over many rows → often the ORM N+1 below, not a single bad query.

2. Catch the ORM N+1

The most common "slow page" in this stack isn't one slow query — it's many fast ones. Loading a list and then fetching each row's relation in a loop fires 1 + N queries.

  • Symptom: the same short query in the logs, repeated with different ids.
  • Fix: use Drizzle's relational query with with (one join-backed query), or a single inArray(...) batch — never a for loop of db.query.
// ❌ N+1
for (const p of posts) p.author = await db.query.user.findFirst({ where: eq(user.id, p.authorId) });
// ✅ one query
const rows = await db.query.posts.findMany({ with: { author: true } });

3. Find the hot queries you didn't know about

pg_stat_statements ranks queries by total time (Neon supports it — CREATE EXTENSION IF NOT EXISTS pg_stat_statements;):

SELECT query, calls, mean_exec_time, total_exec_time
FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 10;

Read the full file on GitHub · 73 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 73 lines · 77 tokens per session scan A ef471645a4ed

Subscribe to this mod's changes

optimize-a-query is a skill published in the GitHub repository lonormaly/builders-stack (42 stars, last pushed 19d ago), licensed MIT. It adds 77 tokens to every session and 847 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

sql-optimizer

Analyzes SQL queries for missing indexes, N+1 patterns, suboptimal joins, and full table scans. Interprets EXPLAIN, detects anti-patterns, rewrites queries. Triggers on: "optimize this query", "slow query", "add indexes", "explain plan", "N+1 query", "why is this query slow".

Mathews-Tom/armory · 78 tokens

better-drizzle

Write, review, and debug code that uses better-drizzle, the typed repository layer over Drizzle ORM 1.x (better(db), client.users.findMany, paginate, cursor, upsertMany, relation include/connect, transactions, plugins such as rules/zod/soft-delete/timestamps/cache/tenant). Use whenever a project imports…

almeidazs/better-drizzle · 108 tokens

Drizzle ORM Testing

Testing patterns for Drizzle ORM covering migration testing, query builder testing, transaction testing, and database integration testing with PostgreSQL, SQLite, and MySQL.

PramodDutta/qaskills · 36 tokens

profiling-slow-api-endpoints

Profiles slow PostHog API endpoints when the main cost is in Postgres or Python. Use when a screen, picker, or list is slow; a Django endpoint has high tail latency; a query plan changes with tenant size; or a proposed database fix needs production evidence. Covers APM traces, safe production EXPLAIN, representative…

PostHog/posthog · 113 tokens

ecto-constraint-debug

Debug Ecto constraint violations - trace triggers, check migrations, find duplicate data. Use when seeing uniqueconstraint, foreignkeyconstraint, or checkconstraint errors.

oliver-kriska/claude-elixir-phoenix · 36 tokens

sql-optimization-patterns

Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance.

HermeticOrmus/LibreUIUX-Claude-Code · 44 tokens