PluginBench
Skill
Official
Review
Audit score 70

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
Prerequisites
  • .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)
Claude Code
Cursor
Windsurf
Cline

How to use nuget-manager

  1. 1.For adding a package: run dotnet add [PROJECT] package PACKAGE_NAME [--version VERSION]
  2. 2.For removing a package: run dotnet remove [PROJECT] package PACKAGE_NAME
  3. 3.For updating versions: verify the target version exists using dotnet package search with JSON output
  4. 4.Determine if versions are managed in Directory.Packages.props (central) or individual .csproj files
  5. 5.Edit the appropriate file with the new version string
  6. 6.Run dotnet restore to verify compatibility and stability

Use cases

Good for
  • 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
Who it's for
  • .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

When should I edit .csproj files directly?

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.

How do I verify a package version exists before updating?

Use dotnet package search PACKAGE_NAME --exact-match --format json and parse the output with jq or PowerShell to confirm the version is present.

What should I do if dotnet restore fails after a version update?

Revert the version change immediately and investigate the compatibility issue. The restore command validates that the new version is compatible with the project.

How are package versions managed—per-project or centrally?

Search for Directory.Packages.props in the solution root. If present, versions are managed centrally there. Otherwise, check individual .csproj files for PackageReference elements.

Can I add multiple packages at once?

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).
  • dotnet CLI available on your PATH.
  • jq (JSON processor) OR PowerShell (for version verification using dotnet package search).

Core Rules

  1. NEVER directly edit .csproj, .props, or Directory.Packages.props files to add or remove packages. Always use dotnet add package and dotnet remove package commands.
  2. DIRECT EDITING is ONLY permitted for changing versions of existing packages.
  3. 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 restore to 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:

  1. 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>" }

  2. Determine Version Management:

    • Search for Directory.Packages.props in the solution root. If present, versions should be managed there via <PackageVersion Include="Package.Name" Version="1.2.3" />.
    • If absent, check individual .csproj files for <PackageReference Include="Package.Name" Version="1.2.3" />.
  3. Apply Changes: Modify the identified file with the new version string.

  4. Verify Stability: Run dotnet restore on 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:

  1. Verify 13.0.3 exists: dotnet package search Newtonsoft.Json --exact-match --format json (and parse output to confirm "13.0.3" is present).
  2. Find where it's defined (e.g., Directory.Packages.props).
  3. Edit the file to update the version.
  4. Run dotnet restore.

Related skills

More from github/awesome-copilot and the wider catalog.

ONonboard-context-matic logo

onboard-context-matic

Official
github/awesome-copilot

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).

902 installsAudited
OOoo-component-documentation logo

oo-component-documentation

Official
github/awesome-copilot

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

1.8k installs
OPopenapi-to-application-code logo

openapi-to-application-code

Official
github/awesome-copilot

Generate production-ready applications from OpenAPI specifications with framework conventions and best practices.

9.5k installs
PDpdftk-server logo

pdftk-server

Official
github/awesome-copilot

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

10k installs
PEpenpot-uiux-design logo

penpot-uiux-design

Official
github/awesome-copilot

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

13k installs
PHphoenix-cli logo

phoenix-cli

Official
github/awesome-copilot

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.

898 installsAudited