Skip to content
cccskills
FreePublished on GitHub

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 dependencies", "bump deps", "update packages", "move off the deprecated X", "clear the Dependabot backlog".

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md4.4 KB
  • README.md725 B
  • references/health-engine.md5.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Vulnerability and security scan (defensive, your own repo): dependency CVEs plus risky code patterns (secrets, injection, weak authz), severity x reachability triaged and remediated without suppressing. Complements the built-in /security-review. Triggers on "absolute audit", "security audit", "are we vulnerable", "scan for CVEs", "check for secrets/injection", "harden this".

The English summary is being prepared. Showing the original description.

maddhruv/absolute221Updated Jul 6, 2026

Lint and typecheck debt paydown: clear pre-existing repo-wide lint/type violations and suppressions (@ts-ignore, # type: ignore) one rule per wave, fixing causes not symptoms. Runs on green main. For diff-scoped quality use absolute-simplify. Triggers on "absolute debt", "fix our lint warnings", "clear the type errors", "get to strict mode", "burn down suppressions".

The English summary is being prepared. Showing the original description.

maddhruv/absolute221Updated Jul 6, 2026

Flaky test fixes: detect nondeterministic tests empirically (repeat/shuffle/parallel runs), diagnose the root cause, fix it — never retry/skip/sleep — and verify across many randomized runs. Triggers on "absolute deflake", "fix flaky tests", "CI is flaky", "this test fails randomly/intermittently".

The English summary is being prepared. Showing the original description.

maddhruv/absolute221Updated Jul 6, 2026

Diátaxis-driven documentation for AI coding agents: write, improve, or audit tutorials, how-tos, reference, explanation, and developer docs (README, CONTRIBUTING, ADRs). Detects the docs stack; gates on the outline before writing prose; verifies every claim against the code before it ships. Triggers on "absolute docs", "write docs", "write a tutorial", "write a README", "document this", "improve this doc", "audit our docs".

The English summary is being prepared. Showing the original description.

maddhruv/absolute221Updated Jul 6, 2026

One-time setup for absolute: interview how you want it to behave (output style, autonomy, TDD strictness, spec dir, families) + detect the stack once, then write `.absolute.config.json` (project, committed) and `~/.absolute/config.json` (user defaults + per-project overrides). Every other absolute-* command reads it instead of re-detecting; non-blocking — commands proceed without it and soft-recommend it. Triggers on "absolute init", "set up absolute", "initialize absolute", "configure absolute", "first-time setup", "remember my conventions for this repo".

The English summary is being prepared. Showing the original description.

maddhruv/absolute221Updated Jul 6, 2026

Dead code and dependency cleanup, repo-wide: unused deps, unreferenced exports, unreachable code, orphaned files — removed only with tool evidence, in reversible waves. Runs on green main. For diff-scoped cleanup use absolute-simplify. Triggers on "absolute prune", "remove dead code", "find unused deps/exports", "what can we delete", "clean up orphaned files".

The English summary is being prepared. Showing the original description.

maddhruv/absolute221Updated Jul 6, 2026

See all skills by maddhruv

Report a problem with this skill