nuget-manager
github/awesome-copilot
Manage NuGet packages in .NET projects safely using dotnet CLI with strict workflows for adds, removes, and version updates.
What is nuget-manager?
This skill ensures consistent and safe management of NuGet packages across .NET projects and solutions. Use it when adding, removing, or updating NuGet package versions. It enforces the dotnet CLI for package operations and provides strict procedures for direct file edits only when updating versions.
- Add packages to projects using dotnet add package command
- Remove packages from projects using dotnet remove package command
- Update package versions with mandatory verification and restore workflow
- Verify package versions exist on NuGet before updating
- Determine whether versions are managed per-project or centrally via Directory.Packages.props
- Validate compatibility after version changes using dotnet restore
How to install nuget-manager
npx skills add https://github.com/github/awesome-copilot --skill nuget-manager- .NET SDK installed (typically .NET 8.0 SDK or later, or compatible version)
- dotnet CLI available on PATH
- jq (JSON processor) OR PowerShell (for version verification)
How to use nuget-manager
- 1.For adding a package: run dotnet add [PROJECT] package PACKAGE_NAME [--version VERSION]
- 2.For removing a package: run dotnet remove [PROJECT] package PACKAGE_NAME
- 3.For updating versions: verify the target version exists using dotnet package search with JSON output
- 4.Determine if versions are managed in Directory.Packages.props (central) or individual .csproj files
- 5.Edit the appropriate file with the new version string
- 6.Run dotnet restore to verify compatibility and stability
Use cases
- Adding a new NuGet dependency like Serilog to a specific project
- Removing unused packages from a solution to reduce bloat
- Updating a package version across the entire solution with compatibility verification
- Managing centralized package versions in Directory.Packages.props
- Verifying that a target package version exists before attempting to update
- .NET developers managing project dependencies
- DevOps engineers maintaining multi-project solutions
- Teams enforcing consistent package management practices
- Developers working with centralized package version management
nuget-manager FAQ
Only when changing versions of existing packages. Never edit .csproj or .props files to add or remove packages—always use dotnet add and dotnet remove commands instead.
Use dotnet package search PACKAGE_NAME --exact-match --format json and parse the output with jq or PowerShell to confirm the version is present.
Revert the version change immediately and investigate the compatibility issue. The restore command validates that the new version is compatible with the project.
Search for Directory.Packages.props in the solution root. If present, versions are managed centrally there. Otherwise, check individual .csproj files for PackageReference elements.
Use dotnet add package for each package individually. Run the command once per package to ensure each addition is properly tracked and verified.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: nuget-manager
description: 'Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using dotnet CLI for package management and provides strict procedures for direct file edits only when updating versions.'
NuGet Manager
Overview
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.
Prerequisites
- .NET SDK installed (typically .NET 8.0 SDK or later, or a version compatible with the target solution).
dotnetCLI available on yourPATH.jq(JSON processor) OR PowerShell (for version verification usingdotnet package search).
Core Rules
- NEVER directly edit
.csproj,.props, orDirectory.Packages.propsfiles to add or remove packages. Always usedotnet add packageanddotnet remove packagecommands. - DIRECT EDITING is ONLY permitted for changing versions of existing packages.
- VERSION UPDATES must follow the mandatory workflow:
- Verify the target version exists on NuGet.
- Determine if versions are managed per-project (
.csproj) or centrally (Directory.Packages.props). - Update the version string in the appropriate file.
- Immediately run
dotnet restoreto verify compatibility.
Workflows
Adding a Package
Use dotnet add [<PROJECT>] package <PACKAGE_NAME> [--version <VERSION>].
Example: dotnet add src/MyProject/MyProject.csproj package Newtonsoft.Json
Removing a Package
Use dotnet remove [<PROJECT>] package <PACKAGE_NAME>.
Example: dotnet remove src/MyProject/MyProject.csproj package Newtonsoft.Json
Updating Package Versions
When updating a version, follow these steps:
-
Verify Version Existence: Check if the version exists using the
dotnet package searchcommand with exact match and JSON formatting. Usingjq: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:
- Search for
Directory.Packages.propsin the solution root. If present, versions should be managed there via<PackageVersion Include="Package.Name" Version="1.2.3" />. - If absent, check individual
.csprojfiles for<PackageReference Include="Package.Name" Version="1.2.3" />.
- Search for
-
Apply Changes: Modify the identified file with the new version string.
-
Verify Stability: Run
dotnet restoreon the project or solution. If errors occur, revert the change and investigate.
Examples
User: "Add Serilog to the WebApi project"
Action: Execute dotnet add src/WebApi/WebApi.csproj package Serilog.
User: "Update Newtonsoft.Json to 13.0.3 in the whole solution"
Action:
- Verify 13.0.3 exists:
dotnet package search Newtonsoft.Json --exact-match --format json(and parse output to confirm "13.0.3" is present). - Find where it's defined (e.g.,
Directory.Packages.props). - Edit the file to update the version.
- Run
dotnet restore.
Related skills
More from github/awesome-copilot and the wider catalog.

onboard-context-matic
Interactive onboarding tour for the context-matic MCP server. Walks the user through what the server does, shows all available APIs, lets them pick one to explore, explains it in their project language, demonstrates model_search and endpoint_search live, and ends with a menu of things the user can ask the agent to do. USE FOR: first-time setup; "what can this MCP do?"; "show me the available APIs"; "onboard me"; "how do I use the context-matic server"; "give me a tour". DO NOT USE FOR: actually integrating an API end-to-end (use integrate-context-matic instead).

oo-component-documentation
Create or update standardized OO component documentation using shared templates and mode-specific guidance.

openapi-to-application-code
Generate production-ready applications from OpenAPI specifications with framework conventions and best practices.

pdftk-server
Command-line PDF manipulation: merge, split, encrypt, fill forms, watermark, and more.

penpot-uiux-design
Create professional UI/UX designs in Penpot with MCP tools and proven design principles.

phoenix-cli
Debug LLM applications using the Phoenix CLI. Fetch traces, analyze errors, structure trace review with open coding and axial coding, inspect datasets, review experiments, query annotation configs, and use the GraphQL API. Use whenever the user is analyzing traces or spans, investigating LLM/agent failures, deciding what to do after instrumenting an app, building failure taxonomies, choosing what evals to write, or asking "what's going wrong", "what kinds of mistakes", or "where do I focus" — even without naming a technique.