Claude-skill-registry dotnet-update-packages
Use when user mentions updating NuGet packages, checking for outdated dependencies, upgrading .NET package versions, or asks about package updates in a .NET project.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dotnet-update-packages" ~/.claude/skills/majiayu000-claude-skill-registry-dotnet-update-packages && rm -rf "$T"
manifest:
skills/data/dotnet-update-packages/SKILL.mdsource content
.NET Package Updates
When to Use
This skill applies when the user:
- Asks about outdated NuGet packages
- Wants to update dependencies in a .NET project
- Mentions package version upgrades
- Discusses dependency management in .NET
Workflow
-
List outdated packages (including transitive) using:
dotnet package list --outdated --include-transitive --format json -
Parse output to identify:
- Projects with outdated packages
- Whether each package is direct or transitive
-
Analyze project dependencies by reading
elements in each csproj<ProjectReference> -
Present findings in a readable format showing project, package name, current → latest version
-
Confirm with user before making changes
-
Update packages per project with
parameter:--project- Update leaf projects first (no dependencies)
- Then update dependent projects
- Independent branches can run in parallel
dotnet package update <package> --project <path-to-csproj> -
Verify with
dotnet build -
If build fails, ask user:
- Fix automatically (review errors, apply fixes)
- Fix manually (show errors, let user handle)
Key Commands
| Command | Purpose |
|---|---|
| List outdated packages (incl. transitive) |
| Update specific package in project |
| Update all packages in project |
Transitive vs Direct Packages
- Direct: Explicitly in csproj. Update directly.
- Transitive: Pulled in by dependencies. Marked
in output.[T]- To update: update the parent package, or add direct reference to pin version
Notes
- Requires .NET 8+ SDK for
dotnet package update - Always use
parameter to update per-project--project - Update in dependency order: leaves first, then dependents
- Always confirm with user before updating
- Run build after updates to catch breaking changes