migration-safety SKILL.md skillA

This file is byte-identical to the first copy the registry indexed, one of 4 indexed copies. Same content hash, so the same checks give both the same grade.

migration-safety from jakeselby/model-citizen is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add jakeselby/model-citizen/migration-safety@git:20260929.1af83d7

Pins git:20260929.1af83d7 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
jakeselby/model-citizen
Path
primitives/skills/migration-safety/SKILL.md
Versions recorded
2
Latest version
git:20260929.1af83d7, committed Sep 29, 2026
First version recorded
Sep 19, 2026
Size
3,928 bytes
Repository stars
24
License
MIT

Write, review or apply a database schema migration without destroying data. Use for any task that creates or modifies a migration file (Alembic, Prisma, Django, Rails, Flyway, raw SQL), and before applying one to a shared environment.

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

# Migration safety

## Treat every environment as production

Staging and demo environments hold real data more often than anyone admits, and a migration
that destroys data in staging demonstrates that the same operation would run in production.
There is no "it's just staging" exception. **Never write a migration that could silently
destroy existing data.**

## Destructive operations — stop and surface to the human

Do not generate these autonomously. Describe what you intend and why, and wait for
confirmation before writing the file:

- `DROP TABLE`, `DROP COLUMN`, `TRUNCATE` — destroys rows or values permanently.
- `ALTER COLUMN … TYPE` with a lossy cast — the database rewrites the column; values that
  cannot be cast are lost.
- Removing `NOT NULL` and then dropping the column — same as above.
- `DELETE FROM` inside a migration — data loss with no recovery short of a backup.

## Safe patterns

**Adding a column.** Add it nullable first, even if the final intent is `NOT NULL`. Backfill in
a separate migration or deploy step. Add the constraint only after the backfill is confirmed.
Three small migrations beat one that rewrites data and adds a constraint at once.
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add jakeselby/model-citizen/migration-safety@sha256:4e0bb46970155628

The line at the top of this page pins the label git:20260929.1af83d7, 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_mrrpqgvetlwpfbbe.svg)](https://markdownregistry.com/a/art_mrrpqgvetlwpfbbe)

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

Versions

The registry has recorded 2 versions of this file, between Sep 19, 2026 and Sep 29, 2026, about one every 10 days.

versioncommittedcommitsizeaudit
git:20260929.1af83d7 latest2026-09-29 1af83d7 3,928 BA view · diff
git:20260919.6cf18f72026-09-19 6cf18f7 3,759 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 (3928 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

jakeselby/model-citizen · 24 stars · license MIT · pushed 2026-10-15 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_mrrpqgvetlwpfbbe
GET https://markdownregistry.com/api/v1/resolve?ref=jakeselby/model-citizen/migration-safety
GET https://markdownregistry.com/api/v1/blob/4e0bb46970155628416442530b8db3e359a5c6429606697b84ed8079b4fd4fd6

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 jakeselby/model-citizen

AGENTS.md AGENTS.md file
jakeselby/model-citizen · AGENTS.md
git:20261004.61824f0 · audit A · 24 stars
CLAUDE.md CLAUDE.md file
jakeselby/model-citizen · CLAUDE.md
git:20260916.a87d7de · audit B · 24 stars
DESIGN.md@_bmad-output/planning-artifacts/ux-designs/ux-agent-harness-2026-09-19 DESIGN.md file
jakeselby/model-citizen · _bmad-output/planning-artifacts/ux-designs/ux-agent-harness-2026-09-19/DESIGN.md
git:20260923.47f11bb · audit A · 24 stars
DESIGN.md@_bmad-output/planning-artifacts/ux-designs/ux-agent-harness-2026-09-23 DESIGN.md file
jakeselby/model-citizen · _bmad-output/planning-artifacts/ux-designs/ux-agent-harness-2026-09-23/DESIGN.md
git:20260928.3df90ff · audit A · 24 stars
CLAUDE.md@claude CLAUDE.md file
jakeselby/model-citizen · claude/CLAUDE.md
git:20260926.42228ff · audit A · 24 stars
api-verification SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/api-verification/SKILL.md · Prove a search, filter or API answer is real before relying on it, and budget web search across a fan-out. Use when…
git:20260929.1af83d7 · audit A · 24 stars
architecture-viewer SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/architecture-viewer/SKILL.md · Open or update an architecture diagram with the selected builtin or custom viewer, preserving a neutral session…
git:20260928.ca93e6d · audit A · 24 stars
code-quality-instruments SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/code-quality-instruments/SKILL.md · Measure whether a test suite is any good, not only that it passes — branch coverage, mutation score…
git:20260928.ca93e6d · audit A · 24 stars
delegation-tiering SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/delegation-tiering/SKILL.md · Decide whether to spawn a subagent, and on which model tier and reasoning effort. Use when planning a fan-out, choosing…
git:20261006.b2bd78a · audit A · 24 stars
design-loop SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/design-loop/SKILL.md · Raise the visual quality of something that renders through a build, screenshot, independent scored critique and fix…
git:20261006.b2bd78a · audit A · 24 stars
harness-authoring SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/harness-authoring/SKILL.md · Decide where an instruction belongs and write it there, then sync and lint. Use when asked to add, change or remove a…
git:20260928.ca93e6d · audit A · 24 stars
licensing-review SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/licensing-review/SKILL.md · Verify a third-party library, asset, model, font, dataset or copied snippet is safe to ship under the project's…
git:20260928.ca93e6d · audit A · 24 stars

Every file in jakeselby/model-citizen

Other files named migration-safety

migration-safety SKILL.md skill
jakeselby/agent-harness · directory/model-citizen/primitives/skills/migration-safety/SKILL.md · Write, review or apply a database schema migration without destroying data. Use for any task that creates or modifies a…
git:20260929.1af83d7 · audit A · 24 stars
migration-safety SKILL.md skill
jakeselby/model-citizen · directory/model-citizen/primitives/skills/migration-safety/SKILL.md · Write, review or apply a database schema migration without destroying data. Use for any task that creates or modifies a…
git:20260929.1af83d7 · audit A · 24 stars
migration-safety SKILL.md skill
jakeselby/agent-harness · primitives/skills/migration-safety/SKILL.md · Write, review or apply a database schema migration without destroying data. Use for any task that creates or modifies a…
git:20260929.1af83d7 · audit A · 24 stars

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