sql-linting

sql-linting is a skill for Claude Code from ajitpratap0/GoSQLX. It costs 90 tokens per session (1,022 once invoked), scanned A, original, Apache-2.0.

A SQL linter that checks queries against style, safety, performance, and naming rules. Linting means finding issues in code without changing what the code is intended to do.

In plain words
What is it for?
Use it on SQL text, .sql files, or a specific GoSQLX rule when you need a style check or an explanation of a lint finding.
Why use it?
It makes inconsistent or potentially problematic SQL easier to spot and explains rule IDs and which issues can be fixed automatically.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is gosqlx lint -r ./queries/ # recurse into a directory.

Part of the gosqlx plugin — 5 skills, 4 commands, 1 agent, 1 hook, 1 MCP server shipped together

Good fit Use it on SQL text, .sql files, or a specific GoSQLX rule when you need a style check or an explanation of a lint finding.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/ajitpratap0/GoSQLX
agentmods
npx agentmods add skills/ajitpratap0/gosqlx/sql-linting

Made for: Claude Code.

Or install gosqlx, the plugin that ships this one along with the rest of its 5 skills, 4 commands, 1 agent, 1 hook, 1 MCP server.

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 sql-linting

README.md
[![agentmods](https://agentmods.dev/badge/skills/ajitpratap0/gosqlx/sql-linting/github.svg)](https://agentmods.dev/skills/ajitpratap0/gosqlx/sql-linting)
Your own site
<a href="https://agentmods.dev/skills/ajitpratap0/gosqlx/sql-linting"><img src="https://agentmods.dev/badge/skills/ajitpratap0/gosqlx/sql-linting/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 sql-linting

Your own site · 80×15
<a href="https://agentmods.dev/skills/ajitpratap0/gosqlx/sql-linting"><img src="https://agentmods.dev/badge/skills/ajitpratap0/gosqlx/sql-linting.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 90 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,022 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.
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.00090 $0.01022
Opus 5.5 $0.00036 $0.00409
Sonnet 5.5 $0.00018 $0.00204
Haiku 4.5 $0.00009 $0.00102

Measured yesterday against content hash 3623bab73cc4, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

sql-linting 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 yesterday.

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.

plugins/gosqlx/skills/sql-linting/SKILL.md · 74 lines

How it starts

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

SQL linting with GoSQLX

Input: $ARGUMENTS - SQL, a .sql file, or a rule ID to explain.

Which rules run where

Entry point Rules applied
MCP lint_sql (mcp__plugin_gosqlx_gosqlx__lint_sql) L001-L010 (style). Keyword case expected UPPER, trailing commas, max line 100
gosqlx lint CLI L001-L010; --auto-fix fixes L001, L002, L003, L007, L010
gosqlx.Lint() Go library All 30 rules, L001-L030

L011-L030 are not returned by lint_sql or the CLI. When you spot one of those patterns yourself, cite the rule ID as guidance and say it comes from the Go library's rule set.

Rules

ID Rule Severity Auto-fix
L001 Trailing whitespace Warning Yes
L002 Mixed indentation (tabs and spaces) Error Yes
L003 Consecutive blank lines Warning Yes
L004 Indentation depth (excessive nesting) Warning No
L005 Long lines Info No
L006 Column alignment in SELECT lists Info No
L007 Keyword case consistency Warning Yes
L008 Comma placement (trailing vs leading) Info No
L009 Aliasing consistency Warning No
L010 Redundant whitespace Info Yes
L011 DELETE without WHERE Error No
L012 UPDATE without WHERE Error No
L013 DROP without IF EXISTS Warning No
L014 TRUNCATE TABLE Warning No
L015 SELECT ... INTO OUTFILE / DUMPFILE Error No
L016 SELECT * Warning No
L017 Missing WHERE on full scan (no WHERE or LIMIT) Warning No
L018 Leading wildcard LIKE ('%x') Warning No
L019 NOT IN with NULL risk (prefer NOT EXISTS) Warning No
L020 Correlated subquery in SELECT list (N+1) Warning No
L021 OR chain instead of IN Warning No
L022 Function on indexed column in WHERE Warning No
L023 Implicit cross join (comma joins) Warning No
L024 Table alias required Warning No
L025 Reserved keyword used as identifier Warning No
L026 INSERT without explicit column list Warning No
L027 UNION instead of UNION ALL Warning No
L028 LIMIT without ORDER BY Warning No
L029 Subquery that can be a JOIN Warning No
L030 DISTINCT on many columns Warning No

Read the full file on GitHub · 74 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. yesterday First seen · 74 lines · 90 tokens per session scan A 3623bab73cc4

Subscribe to this mod's changes

sql-linting is a skill published in the GitHub repository ajitpratap0/GoSQLX (120 stars, last pushed today), licensed Apache-2.0. It adds 90 tokens to every session and 1,022 once invoked, about $0.0004 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-10-22.

Related

Other skills, from other repositories

gograph

Go repository intelligence for Claude Code. Use when reading, navigating, editing, reviewing, or refactoring a Go codebase. Exposes 64 query, analysis, and workflow capabilities through the local gograph MCP server, including bounded first-call exploration, AST-aware call graphs, blast-radius analysis, impact, and…

ozgurcd/gograph · 69 tokens

squix

Run SQL queries across databases (Postgres, MySQL, SQLite, etc.) via the squix CLI. Use for running named queries, exploring schema, or parameterized queries. Always use -f for non-interactive output.

eduardofuncao/squix · 50 tokens

golang-samber-hot

In-memory caching in Golang using samber/hot — eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, TwoQueue, SIEVE, FIFO), TTL, cache loaders, sharding, stale-while-revalidate, missing key caching, and Prometheus metrics. Apply when using or adopting samber/hot, when the codebase imports…

alexastrum/skl · 122 tokens

golang-database

Comprehensive guide for Go database access — parameterized queries, struct scanning, NULLable columns, transactions, isolation levels, SELECT FOR UPDATE, connection pool, batch processing, context propagation, and migration tooling. Use when writing, reviewing, or debugging Golang code that interacts with PostgreSQL…

alexastrum/skl · 99 tokens

sq

Guides use of the sq CLI to query SQL databases and tabular files with SLQ (sq's jq-like query language) or native SQL, manage sources, choose output formats, and run inspect, diff, and table commands. Use when the user mentions sq, SLQ, wrangling CSV/Excel/JSON/DB data, cross-source joins, or command-line data…

neilotoole/sq · 89 tokens

homebutler

Tells an agent what changed on a server since it last looked - plus status, Docker, backups, Proxmox. Every tool is classed read, write or destructive, so an agent can tell a look from a change before it makes the call.

Higangssh/homebutler · 56 tokens