What problem does it solve? Writing a SQLite schema migration for an offline mobile app is risky: a committed migration step and snapshot live on users' phones forever, with no server, no backfill, and no way to recall a bad release. This Skill enforces the five non-negotiable rules (forward-only, additive, never destructive, never re-meaning a column, one commit for bump plus generation plus tests) so a schema change ships without corrupting on-device data. ## Core Features & Use Cases - Migration step authoring: Guides the hand-written from<N>To<N+1> step in lib/core/db/migrations.dart, including the historical-schema trap (read schema.*, never db.* or today's table class) and the 12-step alterTable rebuild via drift's TableMigration. - Snapshot and codegen discipline: Runs make gen so drift_schemas/drift_schema_v<N>.json and generated test helpers land in the same commit as the version bump, with CI re-running generators and failing on any diff. - Verifier matrix extension: Extends the from-to migration matrix so every pair validates with PRAGMA foreign_key_check empty and quick_check ok, plus data-integrity tests for N-1 to N and every alterTable hop. - Use Case: When adding a new column to the ewes table, invoke this Skill to bump kSchemaVersion by one, write the additive step, regenerate the snapshot, and prove the whole from-to matrix still passes in a single commit. ## Quick Start Ask the AI to write a Shed Book schema migration for the new column you just defined, bumping the schema version and regenerating the drift snapshots and tests in one commit.