Skip to content
cccskills
FreePublished on GitHub

migration-guard

Review database migration files for naming conventions and dangerous operations. Auto-activates for migration files.

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

See how to install

Files included (1)

  • SKILL.md3.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Migration review

Review the current migration file for naming conventions, rollback presence, and dangerous operations.

Step 1: Identify the file being reviewed

Use the current file context to determine which migration file is being worked on. If the user specified a file path, use that. If the context is ambiguous, ask the user which file to review before proceeding.

Step 2: Check the file name

Extract the file name (not the full path) and check it against two accepted naming formats:

Format A — Timestamp prefix: Pattern: YYYYMMDDHHMMSS_description.sql Example: 20260513143207_add_user_roles.sql

  • Year: 4 digits
  • Month: 2 digits (01–12)
  • Day: 2 digits (01–31)
  • Hour: 2 digits (00–23)
  • Minute: 2 digits (00–59)
  • Second: 2 digits (00–59)
  • Underscore separator
  • Description: lowercase letters, digits, underscores
  • Extension: .sql

Format B — Sequential prefix: Pattern: NNNN_description.sql Example: 0042_add_user_roles.sql

  • Number: 1 or more digits, typically zero-padded to 4 digits
  • Underscore separator
  • Description: lowercase letters, digits, underscores
  • Extension: .sql

If the file name matches neither format, mark the naming check as FAIL and note the reason.

Step 3: Check for rollback

Read the file content and look for either:

  • A clearly labeled rollback section (a comment like -- rollback, -- down, -- revert, followed by SQL that undoes the migration)
  • A comment explicitly marking it as irreversible (e.g., -- This migration is irreversible, -- no rollback)

If neither is present, mark rollback as NO.

Step 4: Check for dangerous operations

Read the file and scan for these patterns (case-insensitive):

  • DROP TABLE without IF EXISTS immediately following — flag as WARNING
  • DROP TABLE IF EXISTS — acceptable, no warning
  • DELETE FROM without a WHERE clause on the same or next line — flag as WARNING
  • UPDATE without a WHERE clause on the same or next line — flag as WARNING
  • TRUNCATE on any table — flag as WARNING (destructive, often irreversible in production)
  • DROP COLUMN — flag as NOTICE (may break dependent code; not always dangerous but requires attention)

For each match, note the line number.

Step 5: Output the checklist

Present findings in this format:

Migration review: <filename>

Naming convention: PASS
  - Format: timestamp-prefix / sequential-prefix
  
  (or)
  
Naming convention: FAIL
  - Reason: <specific reason>

Rollback: YES / NO / MARKED IRREVERSIBLE
  - <brief note on what the rollback does, or why it is marked irreversible>

Dangerous operations: NONE
  
  (or)
  
Dangerous operations:
  WARNING line 14: DELETE without WHERE clause
  WARNING line 22: TRUNCATE on orders table
  NOTICE  line 31: DROP COLUMN — confirm no dependent code references this column

Do not modify the migration file. This skill reviews only.

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

Write an Architecture Decision Record (ADR) document for a technical decision. Use when documenting a technical choice, architectural decision, or design decision.

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

davila7/claude-with-skills13Updated May 15, 2026

REST API design conventions for this codebase. Use when writing or reviewing API endpoints, route definitions, response formatting, or client code that calls the API.

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

davila7/claude-with-skills13Updated May 15, 2026

Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.

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

davila7/claude-with-skills13Updated May 15, 2026

Create a git branch named after a GitHub issue.

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

davila7/claude-with-skills13Updated May 15, 2026

Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.

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

davila7/claude-with-skills13Updated May 15, 2026

Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.

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

davila7/claude-with-skills13Updated May 15, 2026

See all skills by davila7

Report a problem with this skill