Migrate
Invoke as $migrate.
Use this skill when the user needs to perform a large-scale codebase reorganization, dependency upgrade, or pattern migration.
Process
- Understand the migration target from the user's description.
- Audit the current state — find all instances of the old pattern.
- Present the migration plan and wait for approval. Use
update_planto track the work; userequest_user_inputonly if the session is already in Plan mode and a structured choice would help. - Execute in verifiable batches, running type-checks and tests after each.
- Final verification: full test suite, build, and grep for remaining old patterns.
Output
- Scope: files and packages affected
- Changes Made: batch-by-batch summary
- Verification: type-check, tests, build results
- Manual Follow-ups: anything that couldn't be automated
Constraints
- Always present the plan and get approval before making changes. Do not assume a Claude-style
EnterPlanModeor clear-context accept flow exists. - Process one package at a time in monorepos.
- Do not change behavior — migrations should be structural only.
Alignment Page
Follow the shared alignment-page convention via the packaged convention resolver; output path is alignment/migrate-{topic}.html.
Default Shipping Contract
Follow the shared shipping contract convention in CLAUDE.md.