Skip to content
Development
Skill

/absolute-upgrade

Dependency upgrades: outdated/vulnerable deps planned into semver waves (patch/minor batched, majors gated and changelog-read), applied incrementally with lockfiles regenerated and tests green after each. Runs on green main. Triggers on "absolute upgrade", "upgrade our

From plugin
absolute
22211 skills

Claude Code

$ npx -y skills add dhruvjainin/absolute --skill absolute-upgrade --agent claude-code

SKILL.md

absolute-upgrade.SKILL.md
name: absolute-upgrade
version: 0.5.0
description: >
  Dependency upgrades: outdated/vulnerable deps planned into semver waves (patch/minor batched, majors gated and changelog-read), applied incrementally with lockfiles regenerated and tests green after each. Runs on green main.
  Triggers on "absolute upgrade", "upgrade our dependencies", "bump deps", "update packages", "move off the deprecated X", "clear the Dependabot backlog".
category: workflow
tags:
  - workflow
  - maintenance
  - dependencies
  - upgrade
  - security
platforms:
  - claude-code
  - gemini-cli
  - openai-codex
  - mcp
user-invocable: true
argument-hint: "[target]"
license: MIT
maintainers:
  - github: maddhruv

> 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:

| Ecosystem | Detect outdated | Lockfile / manifest | |---|---|---| | npm | `npm outdated --json` | `package-lock.json` | | pnpm | `pnpm outdated --format json` | `pnpm-lock.yaml` | | yarn | `yarn outdated --json` | `yarn.lock` | | Python (pip) | `pip list --outdated --format=json` | `requirements*.txt` | | Python (poetry/uv) | `poetry show --outdated` / `uv pip list --outdated` | `pyproject.toml` + lock | | Go | `go list -u -m -json all` | `go.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:

| Wave | Jump | Default | |---|---|---| | 1 | patch (`x.y.Z`) | batch together, fix now | | 2 | minor (`x.Y.z`) | batch by package family, fix now | | 3 | major (`X.y.z`) / pre-1.0 minor | **one 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.
Read more
@maddhruv
Ships withabsolute

A development workflow engine for AI coding agents. Eleven separate skills — a one-time absolute-init (interview + stack detection → config), a build loop you run every day (think → spec → plan → build → polish → document), plus an engineering-health family

Stars on GitHub

Momentum

stars in total
222
Star history of maddhruv/absolute on GitHub, a chart by star-history.com

Other skills on absolute.

absolute-audit

absolute-audit

Vulnerability and security scan (defensive, your own repo): dependency CVEs plus risky code patterns (secrets, injection, weak…

@maddhruv@maddhruvInstall Skill
absolute-debt

absolute-debt

Lint and typecheck debt paydown: clear pre-existing repo-wide lint/type violations and suppressions (@ts-ignore, # type: ignore)…

@maddhruv@maddhruvInstall Skill
absolute-deflake

absolute-deflake

Flaky test fixes: detect nondeterministic tests empirically (repeat/shuffle/parallel runs), diagnose the root cause, fix it —…

@maddhruv@maddhruvInstall Skill
absolute-docs

absolute-docs

Diátaxis-driven documentation for AI coding agents: write, improve, or audit tutorials, how-tos, reference, explanation, and…

@maddhruv@maddhruvInstall Skill
absolute-init

absolute-init

One-time setup for absolute: interview how you want it to behave (output style, autonomy, TDD strictness, spec dir, families) +…

@maddhruv@maddhruvInstall Skill
absolute-prune

absolute-prune

Dead code and dependency cleanup, repo-wide: unused deps, unreferenced exports, unreachable code, orphaned files — removed only…

@maddhruv@maddhruvInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about absolute-upgrade.

Which coding agents can use absolute-upgrade?
absolute-upgrade installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.