upgrade-dependencieslisted
Install: claude install-skill AlemTuzlak/skills
# Upgrade Dependencies
Drive a dependency upgrade from "bump X to latest" all the way to green — without hacking around the errors it causes.
**Core principle: fix upward, never patch sideways.** When a bump breaks something, the fix is to upgrade the *thing that's incompatible* to a version that supports the target — not to suppress the error, downgrade the target, or add `// @ts-ignore`. If nothing upstream supports the target yet, that's a blocker you report, not a workaround you invent.
JS/TS ecosystems only (npm / pnpm / yarn / bun, including workspace monorepos and nx/turbo).
## The workflow
Work the phases in order. Scan the full impact (phase 2) before touching anything, and collect all breakage (phase 4) before fixing — otherwise you'll fix the same file three times and discover missed references halfway through.
### 1. Resolve the target version
- Absolute latest **stable** by default: `npm view <pkg> version` (dist-tag `latest`). Ignore existing semver ranges — the user asked to upgrade.
- Use a prerelease (`next`/`rc`/`canary`) **only** if the user asked for it, or if it's the only version that unblocks a phase-5 blocker (and say so).
- Detect the package manager from the lockfile: `pnpm-lock.yaml`→pnpm, `bun.lockb`→bun, `yarn.lock`→yarn, `package-lock.json`→npm. Never substitute a different runner.
- Detect monorepo layout: root `workspaces`, `pnpm-workspace.yaml`, `nx.json`, `turbo.json`.
### 2. Scan the impact (read-only — before touching anything)
Do