Agent skill · Databases

database-migration-plan

Write a safe, zero-downtime database migration plan for a schema change. Use when asked to plan a database migration, design a zero-downtime schema change, document an expand/contract migration, produce a rollback procedure for a database change, or coordinate a database schema update with a deployment. Produces a structured migration plan covering migration objectives, backward compatibility analysis, expand/contract phase breakdown, exact SQL, rollback steps per phase, data validation queries, and a deployment runbook.

mohitagw15856github.com/mohitagw15856GitHub ↗
claude-codecursorMIT
Install
npx skills add mohitagw15856/pm-claude-skills --skill database-migration-plan --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 17 KB
Bundled scripts: none
Path: skills/database-migration-plan/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,255
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Database Migration Plan Skill Produce a complete, safe database migration plan for a schema change. A migration plan is not just the SQL — it is a coordinated sequence of steps that ensures the application stays available, data stays consistent, and every step can be rolled back independently. The expand/contract pattern is the default approach: expand the schema to support both old and new states, migrate the application, then contract to remove the old state. Never combine schema changes and data backfills in a single migration that runs during deployment. ## Required Inputs Ask for these if not already provided: - **Current schema state** — the DDL or description of the table(s) as they are now - **Target schema state** — the DDL or description of what the table(s) should look like after migration - **Migration reason** — why this change is being made (new feature, performance fix, normalization, compliance) - **Database engine** — PostgreSQL, MySQL, SQLite, CockroachDB, etc. - **Estimated data volume** — approximate number of rows in affected tables - **Deployment constraints** — is any downtime allowed? What is the expected traffic level during migration? Are there multiple

What's inside
Steps it walks through
  1. Required Inputs
  2. Output Format
  3. 1. Migration Overview
  4. 2. Backward Compatibility Analysis
  5. 3. Expand/Contract Phases
  6. Phase Overview
  7. Phase 1 — Expand Schema
  8. Phase 2 — Backfill Existing Data
  9. Phase 3 — Enforce Constraints
  10. Phase 4 — Contract (Remove Old Column)
  11. 4. Data Validation Plan
  12. 5. Performance Impact Assessment
  13. 6. Deployment Runbook
  14. Quality Checks
More from pm-claude-skills
All skills →
About this skill
What does the database-migration-plan skill do?

Write a safe, zero-downtime database migration plan for a schema change. Use when asked to plan a database migration, design a zero-downtime schema change, document an expand/contract migration, produce a rollback procedure for a database change, or coordinate a database schema update with a deployment. Produces a structured migration plan covering migration objectives, backward compatibility analysis, expand/contract phase breakdown, exact SQL, rollback steps per phase, data validation queries, and a deployment runbook.

How do I install it?

Run `npx skills add mohitagw15856/pm-claude-skills --skill database-migration-plan --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From mohitagw15856/pm-claude-skills, a repository with 1,255 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going