cd /news/ai-agents/sql-skill-pack Β· home β€Ί topics β€Ί ai-agents β€Ί article
[ARTICLE Β· art-82766] src=superml.org β†— pub= topic=ai-agents verified=true sentiment=Β· neutral

SQL Skill Pack

A new SQL Skill Pack from an unnamed course teaches building two validator skills: sql-migration-safety-check, which flags destructive migration patterns like dropped columns and unindexed foreign keys, and sql-query-review, which catches missing WHERE clauses, SELECT *, and N+1 patterns. The pack emphasizes strict failure handling to prevent softening blocking findings.

read5 min views11 publishedJul 26, 2026
SQL Skill Pack
Image: Superml (auto-discovered)

Β· Agentic AI Β· 5 min read

πŸ“‹ Prerequisites

  • Python Skill Pack (previous lesson)

🎯 What You'll Learn

  • Build a Validator skill that catches destructive or unsafe migration patterns before they run
  • Build a Reviewer skill that checks query safety and performance against real anti-patterns
  • Design failure handling for a skill that could recommend a genuinely destructive action

What This Pack Covers #

Two skills: one that checks database migrations for destructive or risky changes before they run, and one that reviews hand-written queries for correctness and performance issues. Both deal with actions that are expensive or dangerous to get wrong, which makes the failure-handling discipline from Skill Engineering especially relevant here.

Skill 1: sql-migration-safety-check #

---
name: sql-migration-safety-check
description: Reviews a SQL migration file for destructive or risky changes before it runs β€” dropped columns, missing defaults on new NOT NULL columns, and lock-heavy operations on large tables. Use when reviewing a migration, before running one against production, or when the user asks if a migration is safe.
metadata:
  version: "1.0.0"
---

## Constraints

Never state a migration is "safe" without checking every rule below. When
uncertain about a table's size or production usage, say so explicitly
rather than assuming it's small.

## Review checklist

1. **Dropped columns or tables.** Flag any `DROP COLUMN` or `DROP TABLE` β€”
   these are irreversible without a backup. Confirm a rollback plan exists
   before calling this acceptable.
2. **NOT NULL without a default.** Adding a `NOT NULL` column to an
   existing table without a `DEFAULT` will fail on any table with existing
   rows. Flag this as a blocking issue, not a suggestion.
3. **Unindexed foreign keys.** A new foreign key column without an
   accompanying index will cause slow joins and slow cascade deletes as
   the table grows.
4. **Lock-heavy operations on large tables.** `ALTER TABLE` operations that
   rewrite an entire table (adding a column with a non-null default on
   most database engines, for example) lock the table for the duration.
   Flag this and suggest a safer, phased approach when possible β€” add the
   column nullable first, backfill, then add the constraint separately.

## On failure

If any blocking issue is found, do not soften the assessment β€” state
clearly that the migration should not run as written, and what needs to
change first.

Pattern: Validator, with an explicit constraint (from Skill Engineering) against the failure mode that matters most here β€” a validator that’s been talked into softening a genuinely blocking finding is worse than no validator at all.

Skill 2: sql-query-review #

---
name: sql-query-review
description: Reviews a SQL query for correctness and performance issues β€” missing WHERE clauses on UPDATE/DELETE, SELECT *, and likely N+1 query patterns. Use when reviewing a query before it ships, or when the user asks whether a query is safe or efficient.
metadata:
  version: "1.0.0"
---

## Review checklist

1. **UPDATE or DELETE without a WHERE clause.** This is the single highest-
   severity finding this skill can report β€” flag it first, ahead of every
   other check, and state plainly what rows would be affected (all of them).
2. **SELECT \*.** Flag in application code (fine in ad-hoc exploration, not
   in code that ships) β€” it breaks when columns are added later and pulls
   more data than needed.
3. **Queries inside a loop.** If the surrounding code shows a query being
   constructed or executed inside a loop over application-level records,
   flag this as a likely N+1 pattern and suggest a single batched query
   or a join instead.
4. **Unparameterized string-built queries.** Any query built via string
   concatenation or f-strings with user input inserted directly is a SQL
   injection risk β€” flag this as blocking, not a style note.

Report findings ordered by severity: missing WHERE clause and injection
risk first, then performance issues.

Pattern: Reviewer β€” assessing already-written SQL against criteria and reporting specific, prioritized findings, per Skill Design Patterns.

Why Severity Ordering Matters Here #

Both skills above explicitly order their findings by severity rather than just listing checks in an arbitrary sequence. This matters more for a SQL pack than for most: a missing WHERE

clause on a DELETE

is catastrophic and a SELECT *

is a minor style issue, and a skill that reports them with equal visual weight risks a genuinely dangerous finding getting lost among cosmetic ones. This is worth checking specifically during testing β€” not just whether a skill catches every issue, but whether the most dangerous one is impossible to miss in its output.

Testing Both Skills #

Run sql-migration-safety-check

against a migration with no issues, one with exactly one blocking issue (a DROP COLUMN

), and one with several issues at different severities β€” confirm the blocking issue is never softened into a mere suggestion. Run sql-query-review

against a query that’s genuinely fine, one with an unqualified DELETE

, and one with a plausible N+1 pattern in the surrounding code β€” this last case is the hardest to get reliably right, since it depends on the skill reading context beyond just the query text itself, and is worth testing with a real code snippet, not just the bare SQL.

Summary #

sql-migration-safety-check

is a Validator focused on irreversible or lock-heavy changes, with an explicit constraint against softening a blocking findingsql-query-review

is a Reviewer covering correctness (missing WHERE, injection risk) and performance (SELECT *, N+1 patterns), ordered by severity- Both skills deal with genuinely destructive or risky actions, which is exactly the case Skill Engineeringsays warrants explicit, non-negotiable constraints rather than soft suggestions - Test not just whether each skill catches every issue, but whether the most severe one is impossible to miss in the output

Next, a pack for the collaboration layer around code β€” pull requests, issue triage, and release notes, using the GitHub CLI.

── more in #ai-agents 4 stories Β· sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/sql-skill-pack] indexed:0 read:5min 2026-07-26 Β· β€”