Skip to content
cccskills
FreePublished on GitHub

sql-query-reviewer

Reviews SQL queries for correctness, performance and safety problems such as SELECT star, missing indexes, unbounded updates, implicit casts and injection risks. Use when the user asks to optimize a query, explain why a query is slow, or check SQL before it runs on production data.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48 stars(GitHub 48 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SQL query reviewer

When to use

  • A query is slow or times out.
  • The user is about to run an UPDATE or DELETE on real data.
  • SQL is built from user input in application code.

Checklist

Safety first

  1. UPDATE or DELETE without a WHERE clause. Ask for confirmation and suggest running a SELECT COUNT(*) with the same condition first.
  2. Wrap destructive statements in a transaction and show how to roll back.
  3. String concatenation of user input into SQL. Replace it with bound parameters.

Correctness

  1. NULL comparisons written with = instead of IS NULL.
  2. LEFT JOIN followed by a WHERE condition on the right table, which silently turns it into an inner join.
  3. GROUP BY that does not match the selected columns, and COUNT(column) used where COUNT(*) was meant.
  4. NOT IN with a subquery that can return NULL. Prefer NOT EXISTS.

Performance

  1. SELECT * on wide tables. List the columns that are used.
  2. Functions on indexed columns in WHERE (WHERE LOWER(email) = ...). Suggest an expression index or a different predicate.
  3. Leading wildcards (LIKE '%term') that cannot use an index.
  4. Missing indexes on join and filter columns. Ask for EXPLAIN output instead of guessing.
  5. OFFSET pagination on large tables. Suggest keyset pagination.
  6. ORDER BY without LIMIT on large results, and DISTINCT used to hide a bad join.

Steps

  1. Identify the database engine. Advice differs between PostgreSQL, MySQL, SQLite and SQL Server.
  2. Go through the checklist and list only real findings, most serious first.
  3. Show the rewritten query next to each finding.
  4. If performance is the question and no EXPLAIN output was given, ask for it and say what to look for (sequential scans, row estimates far from actual rows).

Example

Input: DELETE FROM sessions WHERE created_at < now() - interval '30 days'

Review: valid, but deletes an unknown number of rows. Run SELECT COUNT(*) with the same condition first, delete in batches if the count is large, and keep it inside a transaction until the result looks right.

Errors

If the schema is unknown, say which assumptions the review makes about indexes and types.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Runs a list of HTTP checks against a base URL from a JSON file and reports status codes, response time and body assertions. Use when the user asks whether an API is up, wants a smoke test after a deploy, or needs to verify that endpoints return what the docs promise.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Turns git log output into a grouped markdown changelog using conventional commit prefixes such as feat, fix and docs. Use when the user prepares a release, asks for release notes, or wants a summary of what changed between two tags.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Writes clear git commit messages in the conventional commits style from a diff or a description of the change. Use when the user asks for a commit message, wants to tidy up a message before pushing, or has staged changes and no wording yet.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Profiles a CSV file column by column, reporting inferred type, missing values, unique counts and min, max and mean for numeric columns. Use when the user hands over a CSV and asks what is in it, whether the data is clean, or what to check before analysis.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Checks a Dockerfile for common problems such as unpinned base images, running as root, ADD instead of COPY, secrets in ENV or ARG and apt-get without cleanup. Use when the user asks to review, harden or slim down a Dockerfile.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Compares a .env file with its .env.example template and reports missing keys, undocumented extra keys, empty values and example files that contain real looking secrets. Use when the user asks why an app fails on startup with missing configuration, or wants to check environment files before committing.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

See all skills by Lethe044

Report a problem with this skill