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.
npx skills add lonormaly/builders-stack --skill optimize-a-querygit clone --depth 1 https://github.com/lonormaly/builders-stackWrote 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.
[](https://agentmods.dev/skills/lonormaly/builders-stack/optimize-a-query)<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.
<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>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once 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 |
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.
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_statementsshows 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 Scanon 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 singleinArray(...)batch — never aforloop ofdb.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;
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.
- 1mo ago First seen · 73 lines · 77 tokens per session scan A ef471645a4ed
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.
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".
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…
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.
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…
ecto-constraint-debug
Debug Ecto constraint violations - trace triggers, check migrations, find duplicate data. Use when seeing uniqueconstraint, foreignkeyconstraint, or checkconstraint errors.
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.