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
Drafts and publishes fact-checked GitHub Discussions announcements. Use for releases, updates, or project news; not for release creation or issue responses.
testing
Prepares and publishes a tagged GitHub release from repository evidence. Use for an explicit release request; not for ordinary commits, packages, or community news.
testing
Validates, commits, pushes, and remotely verifies approved repository changes. Use when publication is requested; not for releases, package publishing, or announcements.
development
Reviews standalone skills and their configured distribution surfaces before publication. Use for skill release readiness; not for product code or implementation-plan review.