← ClaudeAtlas

migrate-dependencylisted

Migrates a dependency to a target version by pinning it, reading the changelog for breaking changes, updating call sites, running the tests, and writing a migration note. Use when asked to "upgrade this dependency", "bump the version of X", "migrate to X v2", "update the library", or when a dependency is out of date, deprecated, or has a security advisory. Use before merging any dependency version bump.
luminik-io/alfred · ★ 3 · AI & Automation · score 72
Install: claude install-skill luminik-io/alfred
# Migrate dependency ## When to use - A dependency is out of date, deprecated, or has a security advisory. - You are asked to move from one major version of a library to the next. - A transitive dependency needs pinning to a known-good version. A version bump is a behavior change. Treat it like one: pin it deliberately, find out what broke between versions, fix the call sites, and prove the tests still pass. "Bumped and it built" is not done. ## Procedure 1. **Pin the target version.** Set the exact version you are migrating to in the manifest (`package.json`, `pyproject.toml`, `build.gradle`, etc.) and the lockfile. Never migrate to a floating range; you cannot review what you cannot name. 2. **Read the changelog and migration guide** for every version between the current and target. List the breaking changes that touch APIs this repo actually uses. If the jump crosses several majors, note whether an intermediate step is safer than one leap. 3. **Migrate the call sites.** For each breaking change, update every usage: renamed functions, changed signatures, removed options, new required arguments. Search the repo for the old API to be sure none is missed (`grep` the old symbol). Do not paper over a removed API with a shim unless the guide recommends one. 4. **Run the tests.** Run the full suite, not just the touched module. A dependency change can break a caller far from where you edited. If tests assumed the old behavior, update the te