ln-822-nuget-upgrader

Upgrades .NET NuGet packages with breaking change handling

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ln-822-nuget-upgrader" with this command: npx skills add levnikolaevich/claude-code-skills/levnikolaevich-claude-code-skills-ln-822-nuget-upgrader

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

AspectDetails
InputSolution/project path
OutputUpdated .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

CheckRequiredAction if Missing
.csproj file(s)YesBlock upgrade
.sln fileNoUse csproj discovery instead
Git clean stateYesBlock (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

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

ln-782-test-runner

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-140-test-docs-creator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-150-presentation-creator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-110-project-docs-coordinator

No summary provided by upstream source.

Repository SourceNeeds Review