dependency-upgradelisted
Install: claude install-skill mickzijdel/dev-hooks
# dependency-upgrade
Update a repo to the latest packages **safely and incrementally**: patch/minor in batched
per-ecosystem commits, each major in its own commit after reading the migration guide, and
**nothing committed unless the tests are green**. Covers JavaScript, Ruby, Python, and (by
delegating to [[github-actions]]) GitHub Actions. This skill does the *upgrade* work that
[[dev-env-setup]] deliberately leaves alone — dev-env-setup pins the *tooling* and sets the
4-day cooldown; this skill moves the *project's own dependencies* forward within that policy.
Per-ecosystem commands (list-outdated, upgrade, regenerate lockfile, where changelogs live)
are in [references/ecosystems.md](references/ecosystems.md) — **read it before upgrading any
ecosystem**.
## Workflow (one repo)
1. **Isolate.** Work on a clean tree in a dedicated worktree+branch off the local HEAD (never
on a dirty main) — see [[using-git-worktrees]]. Run the read-only preflight to see what's
present and what to list:
```bash
bash "$CLAUDE_PLUGIN_ROOT/skills/dependency-upgrade/scripts/upgrade_inventory.sh" .
```
It reports `has_js`/`has_ruby`/`has_python`/`has_actions`, the chosen package manager per
ecosystem, and the exact outdated-listing command for each. (`--run` also executes the
read-only listing commands whose tool is installed.) It reads only manifests
(`package.json`/`Gemfile`/`pyproject.toml`/…), so a Python repo whose single-file CLIs carry
**PEP 723 inline-script