跳到正文
cccskills
免费在 GitHub 公开

migration-guard

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

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

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.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

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.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Create a git branch named after a GitHub issue.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

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

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

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.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

查看 davila7 的全部技能

报告此技能的问题