
NuGet Manager enables developers to safely manage NuGet package dependencies in .NET projects and solutions using the `dotnet` CLI. The skill enforces strict procedures—requiring CLI commands for adding and removing packages while permitting direct file edits only for version updates—to maintain project integrity and prevent configuration errors. It solves the problem of inconsistent package management practices by providing a standardized workflow that includes version verification on NuGet, centralized or per-project version determination, and post-update compatibility validation via `dotnet restore`.
$ npx -y skills add github/awesome-copilot --skill nuget-manager --agent claude-codeInstalls into .claude/skills of the current project.
This skill ensures consistent and safe management of NuGet packages across .NET projects. It prioritizes using the dotnet CLI to maintain project integrity and enforces a strict verification and restoration workflow for version updates.
dotnet CLI available on your PATH.jq (JSON processor) OR PowerShell (for version verification using dotnet package search)..csproj, .props, or Directory.Packages.props files to add or remove packages. Always use dotnet add package and dotnet remove package commands..csproj) or centrally (Directory.Packages.props).dotnet restore to verify compatibility.Use dotnet add [<PROJECT>] package <PACKAGE_NAME> [--version <VERSION>].
Example: dotnet add src/MyProject/MyProject.csproj package Newtonsoft.Json
Use dotnet remove [<PROJECT>] package <PACKAGE_NAME>.
Example: dotnet remove src/MyProject/MyProject.csproj package Newtonsoft.Json
When updating a version, follow these steps:
Verify Version Existence:
Check if the version exists using the dotnet package search command with exact match and JSON formatting.
Using jq:
dotnet package search <PACKAGE_NAME> --exact-match --format json | jq -e '.searchResult[].packages[] | select(.version == "<VERSION>")'
Using PowerShell:
(dotnet package search <PACKAGE_NAME> --exact-match --format json | ConvertFrom-Json).searchResult.packages | Where-Object { $_.version -eq "<VERSION>" }
Determine Version Management:
Directory.Packages.props in the solution root. If present, versions should be managed there via <PackageVersion Include="Package.Name" Version="1.2.3" />..csproj files for <PackageReference Include="Package.Name" Version="1.2.3" />.Apply Changes: Modify the identified file with the new version string.
Verify Stability:
Run dotnet restore on the project or solution. If errors occur, revert the change and investigate.
Action: Execute dotnet add src/WebApi/WebApi.csproj package Serilog.
Action:
dotnet package search Newtonsoft.Json --exact-match --format json (and parse output to confirm "13.0.3" is present).Directory.Packages.props).dotnet restore.Sponsors