Claude-skill-registry dotnet-dependency
This skill should be used when investigating .NET project dependencies, understanding why packages are included, listing references, or auditing for outdated/vulnerable packages.
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-dependency" ~/.claude/skills/majiayu000-claude-skill-registry-dotnet-dependency && rm -rf "$T"
manifest:
skills/data/dotnet-dependency/SKILL.mdsource content
.NET Dependencies
Investigate and manage .NET project dependencies using built-in dotnet CLI commands.
When to Use This Skill
Invoke when the user needs to:
- Search for NuGet packages or find latest versions
- Add, update, or remove package references
- Understand why a specific NuGet package is included
- List all project dependencies (NuGet packages or project references)
- Find outdated or vulnerable packages
- Trace transitive dependencies
- Manage dotnet tools (search, install, update)
Quick Reference
| Command | Purpose |
|---|---|
| Search NuGet for packages |
| List all versions of a package |
| Add/update package to latest version |
| Add/update package to specific version |
| Remove package reference |
| Show dependency graph for a package |
| List NuGet packages |
| Include transitive dependencies |
| List project-to-project references |
| Find packages with newer versions |
| Find packages with security issues |
| (Third-party) Check outdated packages |
| (Third-party) Auto-update packages |
| Search for dotnet tools |
| Update local tool to latest |
| Update all local tools |
Search NuGet Packages
Find packages and check latest versions directly from CLI:
# Search for packages by keyword dotnet package search Serilog --take 5 # Find latest version of a specific package dotnet package search Aspire.Hosting.AppHost --take 1 # Include prerelease versions dotnet package search ModelContextProtocol --prerelease --take 3 # List ALL available versions of a package (version history) dotnet package search Newtonsoft.Json --exact-match # JSON output for scripting dotnet package search Serilog --format json --take 3
Add and Update Packages
# Add package (installs latest stable version) dotnet add package Serilog # Add specific version dotnet add package Serilog -v 4.0.0 # Add prerelease version dotnet add package ModelContextProtocol --prerelease # Add to specific project dotnet add src/MyProject/MyProject.csproj package Serilog # Update existing package to latest (same command as add) dotnet add package Serilog # Remove package dotnet remove package Serilog
Note:
dotnet add package both adds new packages and updates existing ones to the specified (or latest) version.
Manage Dotnet Tools
# Search for tools dotnet tool search dotnet-outdated --take 3 # Update a local tool (from manifest) dotnet tool update cake.tool # Update with prerelease dotnet tool update aspire.cli --prerelease # Update all local tools dotnet tool update --all # Update global tool dotnet tool update -g dotnet-ef
Investigate Package Dependencies
To understand why a package is included in your project:
# Why is this package included? dotnet nuget why Newtonsoft.Json # For a specific project dotnet nuget why path/to/Project.csproj Newtonsoft.Json # For a specific framework dotnet nuget why Newtonsoft.Json --framework net8.0
Output shows the complete dependency chain from your project to the package.
List NuGet Packages
# Direct dependencies only dotnet list package # Include transitive (indirect) dependencies dotnet list package --include-transitive # For a specific project dotnet list package --project path/to/Project.csproj # JSON output for scripting dotnet list package --format json
List Project References
# List project-to-project references dotnet list reference --project path/to/Project.csproj
Transitive Project References
No built-in command shows transitive project dependencies. To find if Project A depends on Project B transitively:
- Recursive approach: Run
on each referenced projectdotnet list reference - Parse .csproj files: Search for
elements recursively:<ProjectReference>
# Find all ProjectReference elements grep -r "ProjectReference" --include="*.csproj" .
Update Dependencies
Using dotnet outdated (Third-party)
If installed (
dotnet tool install -g dotnet-outdated-tool):
# Check for outdated packages dotnet outdated # Auto-update to latest versions dotnet outdated -u # Update only specific packages dotnet outdated -u -inc PackageName
Using built-in commands
# Check for outdated packages dotnet list package --outdated # Include prerelease versions dotnet list package --outdated --include-prerelease
Progressive Disclosure
For security auditing (vulnerable, deprecated, outdated packages), load references/security-audit.md.