SKILL.md
Codebase Migrate
Coordinate framework upgrades, API renames, config rewrites, and structural refactors across hundreds of files. Local edits are driven by the agent; the Composio CLI handles the surrounding ceremony: tracking issues, per-batch PRs, and CI verification.
When to Use
- Framework upgrade (React 17 → 19, Node 18 → 22, Django 4 → 5).
- API rename across a monorepo (e.g.,
getUserById→users.byId). - Config/format migration (webpack → vite, eslint → biome, jest → vitest).
- Any "change 200 files the same way" task that needs to ship in reviewable slices.
Prereqs
curl -fsSL https://composio.dev/install | bash
composio login
composio link github # for PRs + CI status
composio link linear # or jira — for migration tracking
Local tools the agent will use directly: git, rg, jscodeshift/ts-morph/comby/ast-grep (language-appropriate), and your test runner.
Planning Phase
- Define the transform precisely. Bad: "migrate to vitest." Good: "replace
jest.mockwithvi.mock, swapjest.fn()forvi.fn(), renamejest.config.js→vitest.config.tsusing template X." - Scope the blast radius:
rg -l 'jest\.(mock|fn|spyOn)' | wc -l rg -l 'from "jest"' | sort - File a tracking issue:
composio execute LINEAR_CREATE_ISSUE -d '{ "teamId":"TEAM_ID", "title":"Migrate test runner: jest → vitest", "description":"Batches of ~25 files. Checkpoint after each PR lands green." }'
Execute in Reviewable Batches
Loop: pick N files → transform → test → PR → wait for green → merge → next batch.
