ln-821-npm-upgrader
Upgrades npm/yarn/pnpm dependencies with breaking change handling. Use when updating JavaScript/TypeScript dependencies.
How do I install this agent skill?
npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-821-npm-upgraderIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill automates Node.js dependency upgrades by analyzing project files, performing security audits, and applying migrations for breaking changes. It uses standard tools like npm, yarn, and pnpm, and retrieves documentation or missing configuration from the author's GitHub repository.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 2 issues
- Runlayerwarn
1/2 files flagged
What does this agent skill do?
Paths: File paths (
references/,../ln-*) are relative to this skill directory.
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 |
|---|---|---|
package.json | Yes | Block upgrade |
Lock file (package-lock.json, yarn.lock, pnpm-lock.yaml) | 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 | 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
| Manager | Command |
|---|---|
| npm | npm audit --audit-level=high |
| yarn | yarn audit --level high |
| pnpm | pnpm audit --audit-level high |
Actions:
| Severity | Action |
|---|---|
| Critical | Block and report |
| High | Warn and continue |
| Moderate/Low | Log only |
Phase 3: Check Outdated
| Manager | Command |
|---|---|
| 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:
- 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 | npm install <package>@latest --save |
| yarn | yarn add <package>@latest |
| pnpm | pnpm add <package>@latest |
Peer dependency conflicts:
| Situation | Solution |
|---|---|
| ERESOLVE | npm install --legacy-peer-deps |
| Still fails | npm install --force only as last resort |
MCP Tools for Migration Search
| Priority | Tool | When to Use |
|---|---|---|
| 1 | mcp__context7__query-docs | First choice for library docs |
| 2 | mcp__Ref__ref_search_documentation | 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 | npm run check or npx tsc --noEmit |
| Build | npm run build |
| Tests | npm test 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 | 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
| 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 references/coordinator_summary_contract.md
Emit a dependency-worker summary envelope.
Managed mode:
ln-820passes deterministicrunIdand exactsummaryArtifactPath- write the summary to the provided
summaryArtifactPath
Standalone mode:
- omit
runIdandsummaryArtifactPath - 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-workersummary artifact written to the managed or standalone path
Version: 1.1.0 Last Updated: 2026-01-10
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/levnikolaevich/claude-code-skills/ln-821-npm-upgrader">View ln-821-npm-upgrader on skillZs</a>