safe-migrations SKILL.md skillA

safe-migrations from prabhdeepsingh/claude-plugins is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add prabhdeepsingh/claude-plugins/safe-migrations@git:20260825.06c64c5

Pins git:20260825.06c64c5 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
prabhdeepsingh/claude-plugins
Path
sonu/skills/safe-migrations/SKILL.md
Versions recorded
4
Latest version
git:20260825.06c64c5, committed Aug 25, 2026
First version recorded
Jul 3, 2026
Size
10,253 bytes
Repository stars
4
License
MIT

Zero-downtime schema and data migration discipline — expand → migrate → contract, never destructive in the release that ships the code, backfills as jobs, every step reversible. INVOKE PROACTIVELY when creating or editing a migration in any framework, writing ALTER TABLE / index / enum / constraint changes, planning a backfill, or shipping code and schema together. Not for greenfield schema design ([[code-standards]]) or diagnosing a broken migration ([[debugging]]).

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Safe migrations — the schema change and the safe path to it are different artifacts

The single most expensive junior mistake in backend work: writing the migration for the **final state** instead of the **safe path** to it. `ALTER TABLE users RENAME COLUMN email TO email_address` looks correct — and it is correct, for a world where the deploy is instantaneous. Real deploys are rolling: for minutes (or hours, or days if the deploy fails), **old code and new schema run against each other**. The rename ships, old pods still SELECT `email`, and production is down before the deploy finishes. Every rule below exists because the database outlives and overlaps every version of the code that touches it.

## How to apply this

Before writing any migration, answer one question: **"will the *previous* release's code still work against the schema this migration produces?"** If no, the migration must be split into stages. Then walk the change through the expand → migrate → contract sequence, and run the self-check before shipping.

---

## 1. The core law: every migration is compatible one release in each direction
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add prabhdeepsingh/claude-plugins/safe-migrations@sha256:8f8759eea3cc2715

The line at the top of this page pins the label git:20260825.06c64c5, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_f5jegoh6rndi2mai.svg)](https://markdownregistry.com/a/art_f5jegoh6rndi2mai)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 4 versions of this file, between Jul 3, 2026 and Aug 25, 2026, about one every 17 days.

versioncommittedcommitsizeaudit
git:20260825.06c64c5 latest2026-08-25 06c64c5 10,253 BA view · diff
git:20260729.94bdcd72026-07-29 94bdcd7 9,649 BA view · diff
git:20260705.279241d2026-07-05 279241d 9,824 BA view · diff
git:20260703.b05b13b2026-07-03 b05b13b 9,859 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (10253 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

prabhdeepsingh/claude-plugins · 4 stars · license MIT · pushed 2026-10-27 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_f5jegoh6rndi2mai
GET https://markdownregistry.com/api/v1/resolve?ref=prabhdeepsingh/claude-plugins/safe-migrations
GET https://markdownregistry.com/api/v1/blob/8f8759eea3cc27153c635e5d258e25cd6ae9e7c0f2e1f4c641fae95deaf04740

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from prabhdeepsingh/claude-plugins

plugin-dev SKILL.md skill
prabhdeepsingh/claude-plugins · .claude/skills/plugin-dev/SKILL.md · The maintainer's handbook for the sonu plugin and the claude-plugins repo. INVOKE whenever authoring, editing…
git:20260913.4e5ade4 · audit A · 4 stars
accessibility SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/accessibility/SKILL.md · Accessibility engineering for product interfaces — keyboard support, focus states, ARIA, forms, screen readers, hit…
git:20260826.41a30c8 · audit A · 4 stars
blast-radius SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/blast-radius/SKILL.md · Consumer-impact discipline for contract changes — enumerate every consumer, flag the ones that degrade silently, verify…
git:20260826.3bb29a7 · audit A · 4 stars
bug-finder SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/bug-finder/SKILL.md · Hunt for one real, previously unreported defect and file it as a well-evidenced ticket — proactive discovery, not…
git:20260825.06c64c5 · audit A · 4 stars
classify-tickets SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/classify-tickets/SKILL.md · Backlog hygiene as a sweep — exactly one type and one evidence-based priority per open ticket, and nothing else…
git:20260826.0b4d903 · audit A · 4 stars
code-standards SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/code-standards/SKILL.md · Prabhdeep (Sonu) Singh's personal coding standards — the house rules and quality bar for how code gets written. INVOKE…
git:20260913.4e5ade4 · audit A · 4 stars
colors SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/colors/SKILL.md · Color systems for web interfaces — OKLCH conversion and palette generation, contrast measurement (APCA/WCAG), gamut and…
git:20260826.41a30c8 · audit A · 4 stars
debugging SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/debugging/SKILL.md · The scientific debugging loop — reproduce first, pull the real event from the repo's observability stack, one…
git:20260913.4e5ade4 · audit A · 4 stars
design-tree SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/design-tree/SKILL.md · Make design decisions as an explicit branching tree — genuine alternatives, decisive rationale, rejected branches…
git:20260913.4e5ade4 · audit A · 4 stars
infra-standards SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/infra-standards/SKILL.md · Infrastructure, container, and CI/CD discipline — IaC, Dockerfiles and compose files, CI pipelines, platform deploy…
git:20260827.d52dc18 · audit A · 4 stars
intent-interview SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/intent-interview/SKILL.md · Pre-spec intent extraction — one question at a time, each with a guess attached, until you can predict the user's…
git:20260826.d0dd268 · audit A · 4 stars
interface-review SKILL.md skill
prabhdeepsingh/claude-plugins · sonu/skills/interface-review/SKILL.md · Cross-discipline review of a whole screen, flow, or feature — coordinates [[accessibility]], [[layout]]…
git:20260909.6dfa821 · audit A · 4 stars

Every file in prabhdeepsingh/claude-plugins

Other files named safe-migrations

safe-migrations SKILL.md skill
sigistry/marketplace · plugins/sql-safety-net/skills/safe-migrations/SKILL.md · This skill should be used when the user mentions "migration", "schema change", "zero downtime", "add column", "alter…
git:20260826.571bc2f · audit A · 3 stars

Browse by kind, by grade A, or by owner.