absolute-audit
Vulnerability and security scan (defensive, your own repo): dependency CVEs plus risky code patterns (secrets, injection, weak authz), severity x reachability…
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
$ npx -y skills add maddhruv/absolute --skill absolute-upgrade --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/absolute-upgradeContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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.
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.
---
**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).
---
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).
---
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.
---
install is not a passing upgrade).
build breaks. Use the package's codemod where one exists.
keep the green waves. Never `--force` / `--legacy-peer-deps` to mask a real conflict.
---
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.
---
back here for the version moves.
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
Repo: maddhruv/absolute
Vulnerability and security scan (defensive, your own repo): dependency CVEs plus risky code patterns (secrets, injection, weak authz), severity x reachability…
Lint and typecheck debt paydown: clear pre-existing repo-wide lint/type violations and suppressions (@ts-ignore, # type: ignore) one rule per wave, fixing…
Flaky test fixes: detect nondeterministic tests empirically (repeat/shuffle/parallel runs), diagnose the root cause, fix it — never retry/skip/sleep — and…
Diátaxis-driven documentation for AI coding agents: write, improve, or audit tutorials, how-tos, reference, explanation, and developer docs (README,…
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…
Dead code and dependency cleanup, repo-wide: unused deps, unreferenced exports, unreachable code, orphaned files — removed only with tool evidence, in…