본문으로 건너뛰기
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(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 / 1,000자

이 양식은 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 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일 업데이트

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일 업데이트

davila7의 스킬 모두 보기

이 스킬의 문제 신고