Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Safely upgrades project dependencies by inventorying outdated packages, reading changelogs and migration guides, staging upgrades in isolated commits, running tests at each step, and rolling back cleanly on failure. Use this skill when asked to "upgrade dependencies", "bump packages", "update npm/pip/cargo/go modules", "resolve a CVE / security advisory", "migrate to the latest version of <library>", "fix outdated dependencies", "do a dependency bump PR", or when a Dependabot/Renovate PR needs r
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 146% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 124% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 71% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 94% | 0% |
This skill drives safe, auditable dependency upgrades across ecosystems (npm/yarn/pnpm, pip/poetry/uv, cargo, go modules, bundler, maven/gradle, composer). The core discipline: one upgrade per commit, tests green between each, and a known-good rollback point at all times. Never bulk-upgrade everything and hope.
Keywords: dependency upgrade, bump packages, outdated, semver, breaking change, changelog, migration guide, lockfile, CVE, security advisory, Dependabot, Renovate, rollback, npm audit, pip-audit.
Use this skill when the user wants to update libraries, patch a vulnerability, migrate a major version, or vet an automated bump PR.
upgrade must be revertable without touching unrelated work.
migration guide before bumping across a major version.
before each commit. No green, no commit.
return to. See references/rollback.md.
Follow these steps in order. Do not skip the inventory or the changelog read.
git status). If not, stop and ask theuser how to proceed — never upgrade on top of uncommitted changes.
are already failing, report that and stop — you cannot attribute later failures otherwise.
references/ecosystems.md for the canonical commands per package manager.
python3 scripts/check_outdated.py --dir <repo>.It auto-detects the ecosystem and prints a risk-tiered table (patch / minor / major) plus any known advisories it can surface from the native auditor.
npm outdated, pip list --outdated,cargo outdated, go list -m -u all) — see references/ecosystems.md.
transitive dependency.
(b) isolated = every major bump, every framework/build-tool, anything with a published breaking-change list.
tools, test frameworks) go first, then their dependents.
bump or any framework migration.
npm update, or pin the resolved versions in themanifest), regenerate the lockfile.
(see template below). If red: bisect by splitting the batch in half, or fall back to upgrading each package individually to find the culprit.
For each isolated upgrade:
WebFetch orWebSearch for the project's CHANGELOG and "migration guide vX". Note every breaking change that touches the codebase.
(renamed APIs, removed options, config schema changes, peer-dep bumps).
roll back this single upgrade (see references/rollback.md) and report the blocker to the user with the changelog evidence. Do not leave the tree broken.
time on the final state.
deferred and why, and the rollback SHA. Use templates/upgrade-report.md.
| Semver jump | Default action | Gate | |-------------|----------------|------| | Patch x.y.Z | Batch | Tests green | | Minor x.Y.z (well-behaved lib) | Batch | Tests green | | Minor with deprecation notices | Isolate | Read changelog, tests green | | Major X.y.z | Isolate, one commit | Read migration guide, code changes, tests green | | Build tool / framework / test runner | Isolate, extra scrutiny | Migration guide + full build + smoke test | | 0.y.z libraries | Treat minor as major (0ver) | Read changelog | | Has CVE/advisory | Front of queue, isolate | Verify advisory resolved post-upgrade |
See references/breaking-changes.md for ecosystem-specific breaking-change patterns (peer deps, ESM/CJS, Python type stubs, Rust edition bumps, etc.).
chore(deps): upgrade <package> from <old> to <new>
- <breaking change handled> / <reason>
- Changelog: <url>
- Resolves: <CVE-id or advisory> # if applicable
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>^ to *.issue rather than forcing an incompatible bump.
npm test, make test) over guessing.locally, check the changelog — don't merge on green CI alone for majors.
failure. Always isolate majors.
build time.
move too; the lockfile resolution may silently downgrade something.
0.x semver semantics — minor bumps there are breaking.causing huge unintended churn. Pin the PM version.
references/ecosystems.md — per-ecosystem commands: detect outdated, audit,upgrade, regenerate lockfile, run tests.
references/breaking-changes.md — common breaking-change patterns and how todetect/handle them per ecosystem.
references/rollback.md — precise rollback procedures (single upgrade, wholebatch, lockfile-only) using git.
scripts/check_outdated.py — auto-detecting outdated-dependency reporter withrisk tiers; pure stdlib, shells out to native tools.
templates/upgrade-report.md — fill-in final report.examples/npm-major-upgrade.md — worked example: a React major bump.Other measured skills in the registry, with their headline benchmark lift.