mcpField
L
ln-712-nuget-upgrader

ln-712-nuget-upgrader

github.com/levnikolaevichDevelopment58455 installsUpdated 2d ago
Repository

About ln-712-nuget-upgrader

A NuGet package upgrade skill for developers maintaining .NET projects. It audits vulnerable and outdated dependencies, identifies major-version breaking changes, then verifies the upgrade with builds and tests.

Key features

  1. 01Discover .csproj files in solutions
  2. 02Audit vulnerable and outdated packages
  3. 03Detect breaking changes in upgrades
  4. 04Apply package upgrades and migrations
  5. 05Run restore, build, and tests
  6. 06Produce an upgrade report

Use cases

  1. 01Find outdated NuGet packages across a solution
  2. 02Assess risks in major-version upgrades
  3. 03Verify builds and tests after dependency changes

MCP support

The skill uses MCP tools to look up library documentation and migration guides, prioritizing Context7 and MCP Ref.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-712-nuget-upgrader

After installing, type/ln-712-nuget-upgraderin Claude Code to confirm it loaded.

Bundled filesdiagram.htmlreferences/dotnet_version_matrix.md

Details

From the project README

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-712-nuget-upgrader

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-710-dependency-upgrader

Upgrades .NET NuGet packages with automatic breaking change detection and migration.


Overview

AspectDetails
InputSolution/project path
OutputUpdated .csproj files, migration report
Supports.NET 6, 7, 8, 9, 10

Workflow

See diagram.html for visual workflow.

Phases: Pre-flight → Find Projects → Security Audit → Check Outdated → Identify Breaking → Apply Upgrades → Restore & Build → Report


Phase 0: Pre-flight Checks

CheckRequiredAction if Missing
.csproj file(s)YesBlock upgrade
.sln fileNoUse csproj discovery instead

Workers assume coordinator (ln-710) already verified git state and created backup.


Phase 1: Find Projects

Discovery Methods
MethodCommand
Find .csprojGet-ChildItem -Recurse -Filter *.csproj
From solutiondotnet sln list

Phase 2: Security Audit

Commands
CheckCommand
Vulnerable packagesdotnet list package --vulnerable
Outdated packagesdotnet list package --outdated
Actions
SeverityAction
CriticalBlock upgrade, report
HighWarn, continue
Moderate/LowLog only

Phase 3: Check Outdated

Using dotnet-outdated
StepCommand
Install tooldotnet tool install --global dotnet-outdated-tool
Checkdotnet outdated --output json

Phase 4: Identify Breaking Changes

Detection
  1. Compare current vs latest major versions
  2. Check breaking_changes_patterns.md
  3. Use MCP tools (see below) for migration guides
Common Breaking Changes
PackageBreaking VersionKey Changes
Microsoft.EntityFrameworkCore8 → 9Query changes, migration format
Serilog.AspNetCore7 → 8Configuration format
Swashbuckle.AspNetCore6 → 7Minimal API support

MCP Tools for Migration Search

Priority Order (Fallback Strategy)
PriorityToolWhen to Use
1mcp__context7__query-docsFirst choice for library docs
2mcp__Ref__ref_search_documentationOfficial Microsoft docs
3WebSearchLatest info, community solutions
Context7 Usage
StepToolParameters
1. Find librarymcp__context7__resolve-library-idlibraryName: "EntityFrameworkCore"
2. Query docsmcp__context7__query-docsquery: "EF Core 8 to 9 migration breaking changes"
MCP Ref Usage
ActionToolQuery Example
Searchmcp__Ref__ref_search_documentation"dotnet EntityFrameworkCore 9 migration guide"
Readmcp__Ref__ref_read_urlURL from search results
WebSearch Fallback

Use when Context7/Ref return no results:

  • "<package> .NET <version> breaking changes migration"
  • "<error code> <package> fix"

Phase 5: Apply Upgrades

Priority Order
PriorityPackage Type
1SDK/Runtime (Microsoft.NET.Sdk)
2Framework (Microsoft.AspNetCore.*)
3EF Core (affects migrations)
4Logging (Serilog.*)
5Other packages
Commands
ActionCommand
Update specificdotnet add package <name> --version <ver>
Update alldotnet outdated --upgrade

Phase 6: Restore & Build

Commands
StepCommand
Restoredotnet restore
Builddotnet build --configuration Release
Testdotnet test
On Failure
  1. Identify failing package from error
  2. Search Context7/Ref for migration guide
  3. If unresolved: rollback package, continue

Phase 7: Report Results

Report Schema
FieldDescription
solutionSolution path
projects[]Updated projects
durationTotal time
upgrades[]Applied upgrades
buildVerificationPASSED or FAILED
testResultsX passed, Y failed

Configuration

Options:
  # 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

ErrorCauseSolution
CS0246Missing typeSearch for replacement API
NU1605Downgrade detectedCheck package constraints
Build failBreaking changeApply migration via Context7

References


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

Comments

Markdown supported