Get the FREE Ultimate OpenClaw Setup Guide →

ln-710-dependency-upgrader

npx machina-cli add skill levnikolaevich/claude-code-skills/ln-710-dependency-upgrader --openclaw
Files (1)
SKILL.md
6.6 KB

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.

ln-710-dependency-upgrader

Type: L2 Domain Coordinator Category: 7XX Project Bootstrap Parent: ln-700-project-bootstrap

Coordinates dependency upgrades by detecting package managers and delegating to appropriate L3 workers.


Overview

AspectDetails
InputDetected stack from ln-700
OutputAll dependencies upgraded to latest compatible versions
Workersln-711 (npm), ln-712 (nuget), ln-713 (pip)

Workflow

See diagram.html for visual workflow.

Phases: Pre-flight → Detect → Security Audit → Delegate → Collect → Verify → Report


Phase 0: Pre-flight Checks

Verify project state before starting upgrade.

CheckMethodBlock if
Uncommitted changesgit status --porcelainNon-empty output
Create backup branchgit checkout -b upgrade-backup-{timestamp}Failure
Lock file existsCheck for lock fileMissing (warn only)

Skip upgrade if uncommitted changes exist. User must commit or stash first.


Phase 1: Detect Package Managers

Detection Rules

Package ManagerIndicator FilesWorker
npmpackage.json + package-lock.jsonln-711
yarnpackage.json + yarn.lockln-711
pnpmpackage.json + pnpm-lock.yamlln-711
nuget*.csproj filesln-712
piprequirements.txtln-713
poetrypyproject.toml + poetry.lockln-713
pipenvPipfile + Pipfile.lockln-713

Phase 2: Security Audit (Pre-flight)

Security Checks

Package ManagerCommandBlock Upgrade
npmnpm audit --audit-level=highCritical only
pippip-audit --jsonCritical only
nugetdotnet list package --vulnerableCritical only

Release Age Check

OptionDefaultDescription
minimumReleaseAge14 daysSkip packages released < 14 days ago
ignoreReleaseAgefalseOverride for urgent security patches

Per Renovate best practices: waiting 14 days gives registries time to pull malicious packages.


Phase 3: Delegate to Workers

CRITICAL: All delegations use Task tool with subagent_type: "general-purpose" for context isolation.

Prompt template:

Task(description: "Upgrade deps via ln-71X",
     prompt: "Execute ln-71X-{worker}. Read skill from ln-71X-{worker}/SKILL.md. Context: {delegationContext}",
     subagent_type: "general-purpose")

Anti-Patterns:

  • ❌ Direct Skill tool invocation without Task wrapper
  • ❌ Any execution bypassing subagent context isolation

Delegation Context

Each worker receives standardized context:

FieldTypeDescription
projectPathstringAbsolute path to project
packageManagerenumnpm, yarn, pnpm, nuget, pip, poetry, pipenv
options.upgradeTypeenummajor, minor, patch
options.allowBreakingboolAllow breaking changes
options.testAfterUpgradeboolRun tests after upgrade

Worker Selection

Package ManagerWorkerNotes
npm, yarn, pnpmln-711-npm-upgraderHandles all Node.js
nugetln-712-nuget-upgraderHandles .NET projects
pip, poetry, pipenvln-713-pip-upgraderHandles all Python

Phase 4: Collect Results

Result Schema

FieldTypeDescription
statusenumsuccess, partial, failed
upgrades[]arrayList of upgraded packages
upgrades[].packagestringPackage name
upgrades[].fromstringPrevious version
upgrades[].tostringNew version
upgrades[].breakingboolIs breaking change
warnings[]arrayNon-blocking warnings
errors[]arrayBlocking errors

Phase 5: Verify Build

Build Commands by Stack

StackCommand
Node.jsnpm run build or yarn build
.NETdotnet build --configuration Release
Pythonpytest or python -m pytest

On Build Failure

  1. Identify failing package from error
  2. Search Context7/Ref for migration guide
  3. Apply known fixes
  4. If still fails: rollback package, log warning

Phase 6: Report Summary

Report Schema

FieldTypeDescription
totalPackagesintTotal packages analyzed
upgradedintSuccessfully upgraded
skippedintAlready latest
failedintRolled back
breakingChangesintMajor version upgrades
buildVerifiedboolBuild passed after upgrade
durationstringTotal time

Configuration

Options:
  # Upgrade scope
  upgradeType: major          # major | minor | patch

  # Breaking changes
  allowBreaking: true
  autoMigrate: true           # Apply known migrations

  # Security
  auditLevel: high            # none | low | moderate | high | critical
  minimumReleaseAge: 14       # days, 0 to disable
  blockOnVulnerability: true

  # Scope
  skipDev: false              # Include devDependencies
  skipOptional: true          # Skip optional deps

  # Verification
  testAfterUpgrade: true
  buildAfterUpgrade: true

  # Rollback
  rollbackOnFailure: true

Error Handling

Recoverable Errors

ErrorRecovery
Peer dependency conflictTry --legacy-peer-deps
Build failureRollback package, continue
Network timeoutRetry 3 times

Fatal Errors

ErrorAction
No package managers foundSkip this step
All builds failReport to parent, suggest manual review

References


Definition of Done

  • Pre-flight checks passed (clean git state, backup branch created)
  • All package managers detected from indicator files
  • Security audit completed per manager (critical vulns block upgrade)
  • Workers delegated via Task tool with context isolation
  • Worker results collected with upgrade/skip/fail counts
  • Build verified after all upgrades applied
  • Summary report generated with totalPackages, upgraded, skipped, failed, buildVerified

Version: 1.1.0 Last Updated: 2026-01-10

Source

git clone https://github.com/levnikolaevich/claude-code-skills/blob/master/ln-710-dependency-upgrader/SKILL.mdView on GitHub

Overview

ln-710-dependency-upgrader orchestrates dependency upgrades by detecting all package managers in a project and delegating tasks to the appropriate workers (ln-711, ln-712, ln-713). This ensures upgrades are aligned across npm/yarn/pnpm, NuGet, and Python tools, delivering a unified upgrade outcome. It also enforces pre-flight checks, security audits, and standardized delegation contexts.

How This Skill Works

The skill performs pre-flight checks, detects the package managers present, and runs a security audit before delegating upgrades to specialized workers. Delegations use a Task tool with subagent_type: general-purpose and pass a standardized delegationContext to the appropriate worker (ln-711 for Node.js tools, ln-712 for NuGet, ln-713 for Python). Results are collected, verified, and reported in a consolidated upgrade result.

When to Use It

  • You have a mono-repo or multi-language project with npm/yarn/pnpm, NuGet, and Python dependencies needing coordinated upgrades.
  • You want to upgrade all dependencies to latest compatible versions in one pass to reduce drift between ecosystems.
  • You need pre-flight safety checks (uncommitted changes, backups) and a backup strategy before upgrading.
  • You require a standardized delegation context to ensure consistent upgrade behavior across different package managers.
  • You want to enforce security auditing and verification steps before applying upgrades.

Quick Start

  1. Step 1: Run ln-710 to detect all package managers in the project and determine the workers to delegate to.
  2. Step 2: Specify upgradeType (major/minor/patch) and set options like allowBreaking and testAfterUpgrade before starting.
  3. Step 3: Review the consolidated results report, run tests if enabled, and merge changes after verification.

Best Practices

  • Run Phase 0 pre-flight checks and create a backup branch before starting upgrades.
  • Explicitly set upgradeType (major, minor, patch) and consider options.allowBreaking for risky changes.
  • Always use the Task wrapper for delegations to maintain isolation and traceability.
  • Optionally enable testAfterUpgrade to automatically validate upgrades with tests.
  • Perform security audits (npm audit, pip-audit, etc.) and respect release age guidelines before upgrading.

Example Use Cases

  • A multi-repo project with npm for frontend and NuGet for backend requires synchronized upgrades to avoid breaking cross-language integrations.
  • A Python project using poetry and pipenv coordinates Python dependencies in one upgrade pass to minimize version conflicts.
  • A legacy C# project upgrades NuGet packages while ensuring corresponding Python/JS dependencies are kept in sync.
  • Security-first upgrade: run npm audit and pip-audit prior to applying upgrades and wait for safe windows.
  • Upgrade reporting: after upgrading, collect a unified report detailing upgraded packages, versions, and verification status.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers