skills-catalog/ln-822-nuget-upgrader/SKILL.md
Upgrades .NET NuGet packages with breaking change handling. Use when updating .NET dependencies.
npx skillsauth add levnikolaevich/claude-code-skills ln-822-nuget-upgraderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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. Ifshared/is missing, fetch files via WebFetch fromhttps://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}.
Type: L3 Worker Category: 8XX Optimization
Upgrades .NET NuGet packages with automatic breaking change detection and migration.
| Aspect | Details |
|--------|---------|
| Input | Solution or project path plus upgrade policy |
| Output | Updated .csproj files and a machine-readable dependency upgrade summary |
| Supports | .NET 6, 7, 8, 9, 10 |
Phases: Pre-flight -> Find Projects -> Security Audit -> Check Outdated -> Identify Breaking -> Apply Upgrades -> Restore and Build -> Report
| Check | Required | Action if Missing |
|-------|----------|-------------------|
| .csproj file(s) | Yes | Block upgrade |
| .sln file | No | Fall back to recursive project discovery |
| dotnet CLI | Yes | Block upgrade |
| Workspace baseline safe | Yes | In managed runs coordinator already prepared it; in standalone runs protect rollback locally |
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.
| Method | Command |
|--------|---------|
| Find .csproj files | Get-ChildItem -Recurse -Filter *.csproj |
| Read solution members | dotnet sln list |
| Check | Command |
|-------|---------|
| Vulnerable packages | dotnet list package --vulnerable |
| Outdated packages | dotnet list package --outdated |
Actions:
| Severity | Action | |----------|--------| | Critical | Block and report | | High | Warn and continue | | Moderate/Low | Log only |
| Step | Command |
|------|---------|
| Install helper | dotnet tool install --global dotnet-outdated-tool |
| Detect outdated packages | dotnet outdated --output json |
Detection flow:
Common examples:
| Package | Breaking Version | Key Changes | |---------|------------------|-------------| | Microsoft.EntityFrameworkCore | 8 -> 9 | Query and migration changes | | Serilog.AspNetCore | 7 -> 8 | Configuration updates | | Swashbuckle.AspNetCore | 6 -> 7 | Minimal API integration changes |
| Priority | Tool | When to Use |
|----------|------|-------------|
| 1 | mcp__context7__query-docs | First choice for library docs |
| 2 | mcp__Ref__ref_search_documentation | Official Microsoft docs |
| 3 | WebSearch | Latest info and community fixes |
Use the tool chain to confirm migrations before applying them.
Priority order:
| Action | Command |
|--------|---------|
| Update one package | dotnet add package <name> --version <ver> |
| Update many packages | dotnet outdated --upgrade |
| Step | Command |
|------|---------|
| Restore | dotnet restore |
| Build | dotnet build --configuration Release |
| Test | dotnet test |
On failure:
| Field | Description |
|-------|-------------|
| solution | Solution path |
| projects[] | Updated projects |
| duration | Total time |
| upgrades[] | Applied upgrades |
| verification | Restore/build/test verdict |
| warnings[] | Non-blocking issues |
| artifact_path | Durable worker report path, if written |
Options:
upgradeType: major # major | minor | patch
auditLevel: high
minimumReleaseAge: 14
includePrerelease: false
targetFramework: net10.0
runTests: true
runBuild: true
| Error | Cause | Solution | |-------|-------|----------| | CS0246 | Missing type | Search for replacement API | | NU1605 | Downgrade detected | Check package constraints | | Build fail | Breaking change | Apply migration guide or rollback offending package |
MANDATORY READ: Load shared/references/coordinator_summary_contract.md
Emit a dependency-worker summary envelope.
Managed mode:
ln-820 passes deterministic runId and exact summaryArtifactPathsummaryArtifactPathStandalone mode:
runId and summaryArtifactPath.hex-skills/runtime-artifacts/runs/{run_id}/dependency-worker/ln-822--{identifier}.jsonMonitor (2.1.98+): For restore/build/test commands expected >30s, use Monitor. Fallback: Bash(run_in_background=true).
.csproj files discovereddotnet restore, dotnet build, and required tests succeeddependency-worker summary artifact written to the managed or standalone pathVersion: 1.1.0 Last Updated: 2026-01-10
testing
Checks runtime lifecycle and config validation: bootstrap, shutdown, probes, cleanup, env sync, and fail-fast startup. Use for runtime readiness.
testing
Checks races, deadlocks, async hazards, TOCTOU, blocking I/O, and shared resource contention. Use when auditing concurrency correctness.
testing
Checks diagnosability through structured logs, metrics, traces, correlation IDs, and useful log levels. Use when auditing incident visibility.
development
Finds code that can be safely deleted: unreachable, unused, obsolete compatibility, and commented-out code. Use when pruning dead code.