Claude-code-skills ln-821-npm-upgrader
Upgrades npm/yarn/pnpm dependencies with breaking change handling. Use when updating JavaScript/TypeScript dependencies.
git clone https://github.com/levnikolaevich/claude-code-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"
skills-catalog/ln-821-npm-upgrader/SKILL.mdPaths: File paths (
,shared/,references/) 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../ln-*is missing, fetch files via WebFetch fromshared/.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
| Aspect | Details |
|---|---|
| Input | Project path, package manager type, upgrade policy |
| Output | Updated package manifest and a machine-readable dependency upgrade summary |
| Supports | npm, 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
| Check | Required | Action if Missing |
|---|---|---|
| Yes | Block upgrade |
Lock file (, , ) | No | Warn and regenerate before final verification |
| Package manager available | Yes | Block upgrade |
| Workspace baseline safe | Yes | In 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.
| Category | Examples | Priority |
|---|---|---|
| peer | , | 1 |
| framework | , , | 2 |
| build | , , | 3 |
| ui | , | 4 |
| state | , | 5 |
| utils | , | 6 |
| dev | , , test tooling | 7 |
Phase 2: Security Audit
| Manager | Command |
|---|---|
| npm | |
| yarn | |
| pnpm | |
Actions:
| Severity | Action |
|---|---|
| Critical | Block and report |
| High | Warn and continue |
| Moderate/Low | Log only |
Phase 3: Check Outdated
| Manager | Command |
|---|---|
| npm | |
| yarn | |
| pnpm | |
Phase 4: Identify Breaking Changes
MANDATORY READ: Load breaking_changes_patterns.md for full patterns.
Detection flow:
- Compare current vs latest major versions.
- Check shared breaking-change patterns.
- Query Context7 or Ref for migration guides before changing code.
Common breaking examples:
| Package | Breaking Version | Key Changes |
|---|---|---|
| react | 18 -> 19 | JSX transform, refs as props |
| vite | 5 -> 6 | ESM-only, newer Node baseline |
| eslint | 8 -> 9 | Flat config |
| tailwindcss | 3 -> 4 | CSS-first config |
| typescript | 5.4 -> 5.5+ | Stricter inference |
Phase 5: Apply Upgrades
Upgrade order:
- peer dependencies
- framework packages
- build tools
- UI libraries
- utilities
- dev dependencies
| Manager | Command |
|---|---|
| npm | |
| yarn | |
| pnpm | |
Peer dependency conflicts:
| Situation | Solution |
|---|---|
| ERESOLVE | |
| Still fails | only as last resort |
MCP Tools for Migration Search
| Priority | Tool | When to Use |
|---|---|---|
| 1 | | First choice for library docs |
| 2 | | Official docs and GitHub |
| 3 | WebSearch | Latest info and community fixes |
Use MCP tools to fetch migration guides before applying non-trivial changes.
Phase 6: Apply Migrations
- Use MCP tools to find the current migration guide.
- Apply automated code transforms only when the guide supports them.
- Log manual follow-up steps for the final report.
Do not hardcode migrations without checking current documentation.
Phase 7: Verify Build
| Check | Command |
|---|---|
| TypeScript | or |
| Build | |
| Tests | if available |
On failure:
- Identify the failing package.
- Search Context7 or Ref for the fix.
- If unresolved, rollback that package and continue with the remaining candidates.
Phase 8: Report Results
| Field | Description |
|---|---|
| Project path |
| npm, yarn, or pnpm |
| Total time |
| Breaking changes applied |
| Feature updates |
| Bug fixes |
| Applied migrations |
| Already latest or policy-skipped |
| Build/test/type-check verdict |
| Non-blocking issues |
| 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
| Error | Cause | Solution |
|---|---|---|
| ERESOLVE | Peer dependency conflict | Retry with legacy peer dependency mode |
| ENOENT | Missing lock file | Regenerate dependencies first |
| Build fail | Breaking change | Apply migration guide or rollback offending package |
| Type errors | Version mismatch | Update 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:
passes deterministicln-820
and exactrunIdsummaryArtifactPath- write the summary to the provided
summaryArtifactPath
Standalone mode:
- omit
andrunIdsummaryArtifactPath - 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
-
summary artifact written to the managed or standalone pathdependency-worker
Version: 1.1.0 Last Updated: 2026-01-10