Claude-code-skills ln-821-npm-upgrader

Upgrades npm/yarn/pnpm dependencies with breaking change handling. Use when updating JavaScript/TypeScript dependencies.

install
source · Clone the upstream repo
git clone https://github.com/levnikolaevich/claude-code-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/levnikolaevich/claude-code-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills-catalog/ln-821-npm-upgrader" ~/.claude/skills/levnikolaevich-claude-code-skills-ln-821-npm-upgrader && rm -rf "$T"
manifest: skills-catalog/ln-821-npm-upgrader/SKILL.md
source content

Paths: File paths (

shared/
,
references/
,
../ln-*
) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. If
shared/
is missing, fetch files via WebFetch from
https://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}
.

ln-821-npm-upgrader

Type: L3 Worker Category: 8XX Optimization

Upgrades Node.js dependencies using npm, yarn, or pnpm with automatic breaking change detection and migration.


Overview

AspectDetails
InputProject path, package manager type, upgrade policy
OutputUpdated package manifest and a machine-readable dependency upgrade summary
Supportsnpm, yarn (classic and berry), pnpm

Workflow

Phases: Pre-flight -> Analyze -> Security Audit -> Check Outdated -> Identify Breaking -> Apply Upgrades -> Apply Migrations -> Verify Build -> Report


Phase 0: Pre-flight Checks

CheckRequiredAction if Missing
package.json
YesBlock upgrade
Lock file (
package-lock.json
,
yarn.lock
,
pnpm-lock.yaml
)
NoWarn and regenerate before final verification
Package manager availableYesBlock upgrade
Workspace baseline safeYesIn managed runs coordinator already prepared it; in standalone runs protect rollback locally

Runtime Coordination

Managed runs receive deterministic

runId
and exact
summaryArtifactPath
from
ln-820
. Standalone runs remain supported; if runtime arguments are omitted, generate a standalone run-scoped artifact before returning.


Phase 1: Analyze Dependencies

Read

package.json
and categorize dependencies for upgrade priority.

CategoryExamplesPriority
peer
typescript
,
@types/*
1
framework
react
,
vue
,
next
2
build
vite
,
webpack
,
esbuild
3
ui
@radix-ui/*
,
tailwindcss
4
state
@tanstack/react-query
,
zustand
5
utils
lodash
,
date-fns
6
dev
eslint
,
prettier
, test tooling
7

Phase 2: Security Audit

ManagerCommand
npm
npm audit --audit-level=high
yarn
yarn audit --level high
pnpm
pnpm audit --audit-level high

Actions:

SeverityAction
CriticalBlock and report
HighWarn and continue
Moderate/LowLog only

Phase 3: Check Outdated

ManagerCommand
npm
npm outdated --json
yarn
yarn outdated --json
pnpm
pnpm outdated --json

Phase 4: Identify Breaking Changes

MANDATORY READ: Load breaking_changes_patterns.md for full patterns.

Detection flow:

  1. Compare current vs latest major versions.
  2. Check shared breaking-change patterns.
  3. Query Context7 or Ref for migration guides before changing code.

Common breaking examples:

PackageBreaking VersionKey Changes
react18 -> 19JSX transform, refs as props
vite5 -> 6ESM-only, newer Node baseline
eslint8 -> 9Flat config
tailwindcss3 -> 4CSS-first config
typescript5.4 -> 5.5+Stricter inference

Phase 5: Apply Upgrades

Upgrade order:

  1. peer dependencies
  2. framework packages
  3. build tools
  4. UI libraries
  5. utilities
  6. dev dependencies
ManagerCommand
npm
npm install <package>@latest --save
yarn
yarn add <package>@latest
pnpm
pnpm add <package>@latest

Peer dependency conflicts:

SituationSolution
ERESOLVE
npm install --legacy-peer-deps
Still fails
npm install --force
only as last resort

MCP Tools for Migration Search

PriorityToolWhen to Use
1
mcp__context7__query-docs
First choice for library docs
2
mcp__Ref__ref_search_documentation
Official docs and GitHub
3WebSearchLatest info and community fixes

Use MCP tools to fetch migration guides before applying non-trivial changes.


Phase 6: Apply Migrations

  1. Use MCP tools to find the current migration guide.
  2. Apply automated code transforms only when the guide supports them.
  3. Log manual follow-up steps for the final report.

Do not hardcode migrations without checking current documentation.


Phase 7: Verify Build

CheckCommand
TypeScript
npm run check
or
npx tsc --noEmit
Build
npm run build
Tests
npm test
if available

On failure:

  1. Identify the failing package.
  2. Search Context7 or Ref for the fix.
  3. If unresolved, rollback that package and continue with the remaining candidates.

Phase 8: Report Results

FieldDescription
project
Project path
packageManager
npm, yarn, or pnpm
duration
Total time
upgrades.major[]
Breaking changes applied
upgrades.minor[]
Feature updates
upgrades.patch[]
Bug fixes
migrations[]
Applied migrations
skipped[]
Already latest or policy-skipped
verification
Build/test/type-check verdict
warnings[]
Non-blocking issues
artifact_path
Durable worker report path, if written

Configuration

Options:
  upgradeType: major          # major | minor | patch
  allowBreaking: true
  autoMigrate: true
  queryMigrationGuides: true
  auditLevel: high
  minimumReleaseAge: 14
  legacyPeerDeps: false
  force: false
  runBuild: true
  runTests: false
  runTypeCheck: true
  rollbackOnFailure: true

Error Handling

ErrorCauseSolution
ERESOLVEPeer dependency conflictRetry with legacy peer dependency mode
ENOENTMissing lock fileRegenerate dependencies first
Build failBreaking changeApply migration guide or rollback offending package
Type errorsVersion mismatchUpdate types or framework peer packages

Rollback: Restore

package.json
and the lock file, then run a clean install to restore the previous state.


References


Runtime Summary Artifact

MANDATORY READ: Load

shared/references/coordinator_summary_contract.md

Emit a

dependency-worker
summary envelope.

Managed mode:

  • ln-820
    passes deterministic
    runId
    and exact
    summaryArtifactPath
  • write the summary to the provided
    summaryArtifactPath

Standalone mode:

  • omit
    runId
    and
    summaryArtifactPath
  • write
    .hex-skills/runtime-artifacts/runs/{run_id}/dependency-worker/ln-821--{identifier}.json

Monitor (2.1.98+): For install/audit/build/test commands expected >30s, use

Monitor
. Fallback:
Bash(run_in_background=true)
.

Definition of Done

  • Package manifest analyzed and dependencies prioritized
  • Security audit completed for the selected package manager
  • Outdated packages identified
  • Breaking changes checked via patterns plus current docs
  • Upgrades applied with rollback on failure
  • Build and relevant verification commands pass after upgrades
  • dependency-worker
    summary artifact written to the managed or standalone path

Version: 1.1.0 Last Updated: 2026-01-10