mcpField
A
absolute-upgrade

absolute-upgrade

github.com/dhruvjaininDevelopment221142 installsUpdated 2w ago
Repository

About absolute-upgrade

absolute-upgrade is a development skill for teams maintaining outdated project dependencies. It groups upgrades into risk-ranked waves, verifies each with the project's tests and build, and treats major version changes separately.

Key features

  1. 01Scan outdated dependencies across ecosystems
  2. 02Group upgrades by semantic-version risk
  3. 03Review major-version changes individually
  4. 04Regenerate lockfiles and run tests and builds
  5. 05Revert a wave that cannot pass verification

Use cases

  1. 01Perform routine dependency updates
  2. 02Work through a dependency upgrade backlog
  3. 03Move to a specified version or replace a deprecated package

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dhruvjainin/absolute --skill absolute-upgrade

After installing, type/absolute-upgradein Claude Code to confirm it loaded.

Details

From the project README

Start your first response with the ⬆️ emoji.

Absolute Upgrade

Bring dependencies current — safely, in risk-ranked waves, with tests green after each. Not a blind npm update: outdated and vulnerable deps are grouped by blast radius (patch/minor → safe wave; major/breaking → gated, one at a time, changelog-read), applied incrementally, and verified against the project's own test suite.

Runs the shared engine in references/health-engine.md — read it for the DETECT → SCAN → TRIAGE → FIX → VERIFY → REPORT loop and the safety contract. This file covers only what's specific to dependency upgrades.


When to use

  • Routine "bring deps up to date" / "upgrade our dependencies".
  • A specific bump: "upgrade React to 19", "move off the deprecated X package".
  • Clearing npm outdated / Dependabot backlog without 40 separate PRs.

Not for: adding a new dependency (that's a work/feature decision), or auditing vulnerabilities specifically → use /absolute audit (it triages CVEs; upgrade moves versions).


What it scans

Per ecosystem, list outdated deps with current → wanted → latest and the jump type:

EcosystemDetect outdatedLockfile / manifest
npmnpm outdated --jsonpackage-lock.json
pnpmpnpm outdated --format jsonpnpm-lock.yaml
yarnyarn outdated --jsonyarn.lock
Python (pip)pip list --outdated --format=jsonrequirements*.txt
Python (poetry/uv)poetry show --outdated / uv pip list --outdatedpyproject.toml + lock
Gogo list -u -m -json allgo.mod / go.sum

Also flag: deps with known deprecations, duplicate/multiple versions of the same package, and direct vs transitive (only direct deps are upgrade targets; transitives follow).


Risk ranking (TRIAGE)

Group the upgrade plan into waves by semver jump — safest first:

WaveJumpDefault
1patch (x.y.Z)batch together, fix now
2minor (x.Y.z)batch by package family, fix now
3major (X.y.z) / pre-1.0 minorone at a time, gated — read the changelog/migration guide first, list breaking changes

For every major bump: locate breaking changes (CHANGELOG, release notes, codemod if the package ships one), inventory call sites that touch the changed API, and state the migration before applying. Peer-dependency conflicts get resolved in the same wave as their driver.


Fix & verify

  • Apply a wave, regenerate the lockfile, run the project's full test + build (a passing install is not a passing upgrade).
  • Majors: apply the version bump and the required code migration in the same wave, or the build breaks. Use the package's codemod where one exists.
  • A wave that can't go green within reason → revert it, report it as blocked with the error, keep the green waves. Never --force / --legacy-peer-deps to mask a real conflict.

Gotchas

  1. Lockfile-only "upgrade". Bumping the manifest without regenerating + committing the lockfile ships untested transitive versions. Always regenerate.
  2. Batching a major in with patches. One breaking bump fails the whole wave and hides which change broke it. Majors are always solo.
  3. Green install ≠ green project. npm install succeeding proves nothing — run tests.
  4. Pinning around a failure. If a bump breaks something, fix or defer it; don't pin the dependency tree to dodge it silently.

Companion commands

  • /absolute audit — if the goal is fixing vulnerabilities, start there; it'll route back here for the version moves.
  • /absolute deflake — flaky tests can mask whether an upgrade truly passed.
  • /absolute work — if an upgrade needs real feature-level migration work, hand off.

Comments

Markdown supported