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-822-nuget-upgrader
Type:
L3 Worker
Category:
8XX Optimization
Parent:
ln-820-dependency-optimization-coordinator
Upgrades .NET NuGet packages with automatic breaking change detection and migration.
Overview
Aspect
Details
Input
Solution/project path
Output
Updated .csproj files, migration report
Supports
.NET 6, 7, 8, 9, 10
Workflow
Phases:
Pre-flight → Find Projects → Security Audit → Check Outdated → Identify Breaking → Apply Upgrades → Restore & Build → Report
Phase 0: Pre-flight Checks
Check
Required
Action if Missing
.csproj file(s)
Yes
Block upgrade
.sln file
No
Use csproj discovery instead
Git clean state
Yes
Block (need clean baseline for revert)
Workers assume coordinator (ln-820) already verified git state and created backup.
Worktree & Branch Isolation
MANDATORY READ:
Load
shared/references/git_worktree_fallback.md
— use ln-822 row.
Phase 1: Find Projects
Discovery Methods
Method
Command
Find .csproj
Get-ChildItem -Recurse -Filter .csproj
From solution
dotnet sln list
Phase 2: Security Audit
Commands
Check
Command
Vulnerable packages
dotnet list package --vulnerable
Outdated packages
dotnet list package --outdated
Actions
Severity
Action
Critical
Block upgrade, report
High
Warn, continue
Moderate/Low
Log only
Phase 3: Check Outdated
Using dotnet-outdated
Step
Command
Install tool
dotnet tool install --global dotnet-outdated-tool
Check
dotnet outdated --output json
Phase 4: Identify Breaking Changes
Detection
Compare current vs latest major versions
Check
breaking_changes_patterns.md
Use MCP tools (see below) for migration guides
Common Breaking Changes
Package
Breaking Version
Key Changes
Microsoft.EntityFrameworkCore
8 → 9
Query changes, migration format
Serilog.AspNetCore
7 → 8
Configuration format
Swashbuckle.AspNetCore
6 → 7
Minimal API support
MCP Tools for Migration Search
Priority Order (Fallback Strategy)
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, community solutions
Context7 Usage
Step
Tool
Parameters
1. Find library
mcp__context7__resolve-library-id
libraryName: "EntityFrameworkCore"
2. Query docs
mcp__context7__query-docs
query: "EF Core 8 to 9 migration breaking changes"
MCP Ref Usage
Action
Tool
Query Example
Search
mcp__Ref__ref_search_documentation
"dotnet EntityFrameworkCore 9 migration guide"
Read
mcp__Ref__ref_read_url
URL from search results
WebSearch Fallback
Use when Context7/Ref return no results:
"
Upgrade scope
upgradeType : major
major | minor | patch
Security
auditLevel : high minimumReleaseAge : 14
.NET specific
includePrerelease : false targetFramework : net10.0
Verification
runTests : true runBuild : true Error Handling Error Cause Solution CS0246 Missing type Search for replacement API NU1605 Downgrade detected Check package constraints Build fail Breaking change Apply migration via Context7 References breaking_changes_patterns.md dotnet_version_matrix.md Definition of Done All .csproj files discovered (via solution or recursive scan) Security audit completed ( dotnet list package --vulnerable ) Outdated packages identified via dotnet-outdated Breaking changes detected via breaking_changes_patterns.md and MCP tools Upgrades applied in priority order (SDK > Framework > EF Core > other) dotnet restore , dotnet build , dotnet test all pass Report returned with projects updated, upgrades applied, and build/test status Version: 1.1.0 Last Updated: 2026-01-10