upgrade-dependencies

Upgrade package.json dependencies through structured detection, triage, execution, and verification.

1|1|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/williamthorsen/codeassembly --skill upgrade-dependencies-williamthorsen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: upgrade-dependencies
Source: https://github.com/williamthorsen/codeassembly/tree/main/packages/agents/content/skills/upgrade-dependencies
Command: npx skills add https://github.com/williamthorsen/codeassembly --skill upgrade-dependencies-williamthorsen

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Upgrading dependencies is risky: hidden outdated packages, retired audit endpoints, peer dependency conflicts, and silent pins can break builds or leave security holes. This Skill provides a disciplined, package-manager-agnostic workflow that assesses before acting and verifies every green signal end to end. ## Core Features & Use Cases - Full-scope assessment: Detects the package manager from the lockfile, reads the complete outdated report, verifies the vulnerability audit channel actually works, and inspects registry metadata for ceilings before installing anything. - Risk-based triage and planning: Separates security fixes, patches, minors, and majors into dedicated PRs or batches, identifies interdependent cohorts that must upgrade atomically, and plans every pin with a recorded rationale plus an update-tooling cap. - Verified execution: Distinguishes genuine peer incompatibilities from ecosystem lag, runs codemods before manual edits, forces clean non-cached quality-gate runs, and checks root-to-workspace version alignment in monorepos. - Use Case: A maintainer of a pnpm monorepo needs to bump ESLint to a new major. The Skill walks them through reading the migration guide, upgrading the linter and its plugins as one cohort commit, curating new recommended rules one by one, and confirming no workspace is left on the old version. ## Quick Start Ask the agent to upgrade all outdated dependencies in this repository, triaging security fixes separately and verifying the full build, test, and lint gate after each change.

Frequently Asked Questions about upgrade-dependencies

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I safely upgrade dependencies in a package.json project?

Detect the package manager from the lockfile, read the full outdated report, triage updates by risk (security, patch, minor, major), then install each at an explicit version and verify with the project's own build, test, and lint scripts before committing.

How should I handle major version upgrades like ESLint or React?

Read the migration guide and changelog first, run official codemods before manual edits, and verify downstream packages support the new major. Commit one major per commit, except interdependent cohorts which form a single atomic commit.

Does this dependency upgrade workflow work with pnpm monorepos?

Yes. The workflow detects the package manager from the lockfile and fans every step out across all workspaces in a monorepo. Final verification checks root-to-workspace alignment so no workspace is left on an old version.

Why does my peer dependency conflict appear after a major upgrade?

Conflicts are either genuine incompatibility or ecosystem lag where the package shims removed APIs. Inspect the package's code path to tell them apart, then resolve real conflicts or use the package manager's sanctioned allowance mechanism, never blanket overrides.

What should I do when the npm or pnpm audit command fails?

A failing audit channel is a lookup problem, not a reason to skip the vulnerability check. Fall back to the project's own audit tooling, the registry's advisory API, or an independent vulnerability scanner, and prioritize whatever the working channel reports.

How do I pin a dependency without it being reverted later?

Record the pin's rationale in the commit body or ticket, and add a matching cap in the update tooling such as an ncu filter or a renovate/dependabot ignore rule. A pin without both is unfinished work that the next automated bump will silently revert.