← ClaudeAtlas

dependency-upgradelisted

Bring a repo's dependencies up to the latest versions across JavaScript (npm/pnpm/yarn), Ruby (bundler), Python (uv/poetry/pip), and GitHub Actions — reading changelogs/migration guides for major bumps, applying the needed code changes, and landing each step as its own verified commit. Use when the user wants to "update my packages", "upgrade dependencies", "bump deps to latest", "check for outdated packages", or do this across all their repos (fleet mode). Gates every commit on a green test suite; defers any major it can't get green to a written report. Pairs with the github-actions skill (Actions pins) and respects dev-env-setup's 4-day dependency cooldown.
mickzijdel/dev-hooks · ★ 0 · Code & Development · score 71
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