Data contract migrations
Cross-runtime skills for Claude Code, Codex, and multi-agent workflows.
npx -y skills add majiayu000/spellbook --skill data-contract-migrationsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
2.4 KB, as published. Nobody here has run it
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.