mcpbeat

Data Contract Migrations

majiayu000/data-contract-migrations

Design and verify data contracts, schema changes, migrations, rollbacks, backfills, compatibility windows, tenant isolation, and API-to-database field mapping. Use when changing database schema, event payloads, persisted documents, analytics tables, multi-tenant data boundaries, or any user-visible data contract where silent fallback or undeclared fields would be dangerous.

666 tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
242
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/majiayu000/spellbook --skill data-contract-migrations

The instruction itself

6 sections, as written by the author

Data Contract Migrations

Purpose

Use this skill when data shape changes can break reads, writes, reports, tenants, or integrations. The goal is an explicit compatibility and migration plan, not just a SQL diff.

Preflight

Gather these facts before proposing changes:

  • Current schema, models, serializers, API contracts, and persisted samples.
  • Writers and readers of each field.
  • Migration tool and rollback support.
  • Data volume, tenant boundaries, and backfill cost.
  • Required zero-downtime or maintenance-window constraints.
  • Existing tests or fixtures that prove compatibility.

If the current data does not contain a field, treat it as absent. Do not invent fallback fields.

Migration Design

Use expand-migrate-contract for production systems:

  • Expand: add nullable columns, new tables, new enum values, or versioned payloads without breaking old readers.
  • Dual-write or adapter: write both old and new forms when needed.
  • Backfill: migrate historical data with batching, checkpoints, and retry behavior.
  • Read switch: move readers to the new contract after verification.
  • Contract: remove old fields only after the compatibility window and rollback risk pass.

For small systems, a direct migration is acceptable only when downtime, rollback, and data loss risks are explicitly low.

Required Checks

Every plan must include:

  • Forward migration command.
  • Rollback or roll-forward recovery command.
  • Backfill idempotency and resume behavior.
  • Data validation query before and after.
  • Tenant isolation check when tenants exist.
  • API/serializer compatibility test.
  • Observability for migration progress and failure.

Output Shape

contract_change:
affected_readers_writers:
migration_strategy:
backfill_plan:
rollback_or_recovery:
tenant_and_security_checks:
verification_queries:
test_commands:
release_gate:

Raise errors for missing critical data rather than warning and falling back to incomplete output.

How to use it

Copy the folder

Take majiayu000/data-contract-migrations from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.