convert-to-cpm

Convert .NET projects to NuGet Central Package Management via Directory.Packages.props.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/1k-off/umbraco-observability-playground --skill convert-to-cpm-1k-off
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convert-to-cpm
Source: https://github.com/1k-off/umbraco-observability-playground/tree/main/.agents/skills/convert-to-cpm
Command: npx skills add https://github.com/1k-off/umbraco-observability-playground --skill convert-to-cpm-1k-off

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Convert-to-CPM removes scattered, inconsistent NuGet package version declarations across many .NET projects so you can manage versions from a single source of truth using Directory.Packages.props.

Core Features & Use Cases

  • Convert to NuGet Central Package Management: Creates or updates Directory.Packages.props and removes redundant Version attributes from PackageReference entries.
  • Resolve and report version conflicts safely: Detects mismatches across projects, presents affected projects/versions, and requires explicit user decisions rather than silently guessing.
  • Preserve build correctness with validation artifacts: Captures baseline and post-conversion binlogs plus package-resolution snapshots to verify the conversion is version-neutral when intended.

Quick Start

Run the convert-to-cpm skill and provide the .sln or directory scope you want to centralize, including how you want to handle any detected version conflicts.

Frequently Asked Questions about convert-to-cpm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I centralize NuGet package versions across multiple .NET projects?

Centralize NuGet package versions across .NET projects by consolidating scattered PackageReference entries into a single Directory.Packages.props file, removing redundant Version attributes from all csproj, fsproj, and vbproj files within your solution or directory scope.

What is NuGet Central Package Management and when do I need it?

NuGet Central Package Management uses Directory.Packages.props to manage all package versions from a single source. You need it when package versions are duplicated, inconsistent, or drifting across multiple projects in your repository.

How do I resolve NuGet package version conflicts during a Central Package Management conversion?

Resolve NuGet package version conflicts during conversion by detecting mismatches across projects and requiring explicit user decisions for each conflict, ensuring the tool never silently guesses which version to apply to your Directory.Packages.props.

Can I use Central Package Management with packages.config projects?

Central Package Management does not support packages.config projects. The conversion specifically guards against packages.config projects and requires the PackageReference format to centralize versions into Directory.Packages.props successfully.

How do I validate a .NET build after converting to Directory.Packages.props?

Validate a .NET build after converting to Directory.Packages.props by capturing baseline and post-conversion binlogs plus package-resolution snapshots, verifying the Central Package Management migration is version-neutral and preserves build correctness.

What is the best way to stop NuGet versions from drifting across a multi-project .NET repo?

Stop NuGet version drift by adopting Central Package Management, which centralizes all version declarations into Directory.Packages.props and removes hardcoded versions from individual project files to ensure repository-wide consistency.