Common Use Cases for dotnet/skills: Automating .NET Development with Agent Skills
The dotnet/skills repository provides Agent Skills that automate SDK installation, framework migrations, test upgrades, and build diagnostics for AI-assisted .NET development.
The dotnet/skills repository is a curated collection of Agent Skills that extend coding agents—including Copilot, Claude Code, Cursor, and Codex CLI—with deep .NET expertise. Each plugin implements self-contained skills formatted as markdown specifications that describe tasks, inputs, and step-by-step workflows for AI assistants. By leveraging these skills, development teams can automate complex .NET workflows, enforce consistent best practices, and accelerate project modernization without context switching.
Local .NET SDK Installation and Management
Managing local .NET SDK installations represents a foundational use case for the repository. The setup-local-sdk skill automates downloading specific .NET versions into project-local .dotnet/ folders, configuring global.json with the paths feature, and updating .gitignore to exclude the local runtime.
This skill resides in plugins/dotnet/skills/setup-local-sdk/SKILL.md. It guides agents through executing the official dotnet-install script with precise channel and quality flags, ensuring reproducible build environments across different machines.
# Add the marketplace and install the skill
/plugin marketplace add dotnet/skills
/plugin install setup-local-sdk@dotnet-agent-skills
# Verify installation
/skills
When invoked, the skill executes a workflow that downloads the install script, runs it with --channel and --quality flags, captures the installed version via ./.dotnet/dotnet --version, and generates a global.json file that prioritizes the local SDK.
Framework and Language Modernization
Migrating legacy codebases to modern .NET standards is a critical use case supported by specialized upgrade skills.
Nullable Reference Type Migration
The migrate-nullable-references skill in plugins/dotnet-upgrade/skills/migrate-nullable-references/SKILL.md detects existing project configurations and automatically adds #nullable enable directives where missing. It executes dotnet format with nullable-specific flags to safely transition codebases to null-safe paradigms without breaking existing functionality.
Test Framework Upgrades
For testing infrastructure modernization, the migrate-xunit-to-xunit-v3 skill in plugins/dotnet-test-migration/skills/migrate-xunit-to-xunit-v3/SKILL.md handles complex transitions between testing platforms. It parses project files, updates NuGet references from xUnit v2 to v3, rewrites test attributes, and validates the new Microsoft.Testing.Platform integration.
# Run the migration skill
dotnet skill migrate-nullable-references --project MyApp.csproj
Build System Diagnostics and Package Management
The repository provides deep integration with MSBuild and NuGet for troubleshooting and modernization.
MSBuild Issue Resolution
The resolve-project-references skill in plugins/dotnet-msbuild/skills/resolve-project-references/SKILL.md executes dotnet msbuild with diagnostic JSON output flags to identify failing targets and circular project-reference loops. It analyzes the build graph and suggests property-pattern improvements or local MSBuild server configurations for performance testing.
Central Package Management Conversion
The convert-to-cpm skill in plugins/dotnet-nuget/skills/convert-to-cpm/SKILL.md automates the transition to Central Package Management (CPM). It generates Directory.Packages.props at the repository root, migrates version numbers from individual <PackageReference> elements in project files, and runs dotnet restore to verify the centralized layout works correctly.
# Convert a project to CPM
dotnet skill convert-to-cpm --project MyLib.csproj
Web, Mobile, and Cloud Development
Specialized skills target modern application development frameworks with scaffolding and configuration automation.
ASP.NET Core and Blazor
The minimal-api-file-upload skill in plugins/dotnet-aspnetcore/skills/minimal-api-file-upload/SKILL.md scaffolds minimal API endpoints with file handling capabilities. It edits Program.cs, adds required package references like Microsoft.AspNetCore.Http.Features, and configures OpenTelemetry instrumentation when requested by the developer.
.NET MAUI Development
For cross-platform mobile developers, the maui-theming skill in plugins/dotnet-maui/skills/maui-theming/SKILL.md manages XAML resource dictionaries, configures Shell navigation patterns, and implements safe-area handling for iOS and Android platforms. It ensures platform-specific assets are present in the correct locations while updating MauiProgram.cs to register theme resources.
Specialized Engineering and Research
The repository includes skills for niche but critical development tasks and experimental scenarios.
Template Engine Operations
The template-validation skill in plugins/dotnet-template-engine/skills/template-validation/SKILL.md parses .template.config folders, validates template definitions against naming collision rules, and automates dotnet new --install workflows for teams authoring custom project templates.
AI-Assisted Technology Selection
Located in plugins/dotnet-ai/technology-selection/, these skills analyze project requirements to recommend appropriate machine learning approaches. They distinguish between LLM implementations, vector search solutions, or traditional ML.NET classifiers for tabular data, scaffolding starter code based on the specific use case.
Experimental Research
The exp-test-maintainability skill in plugins/dotnet-experimental/skills/exp-test-maintainability/SKILL.md executes bespoke benchmarks to measure test code quality, SIMD vectorization opportunities, and mock usage patterns, producing JSON reports with actionable refactoring suggestions.
Repository Structure and Validation
All skills in the repository follow the Agent Skills standard (agentskills.io), making them consumable by any compliant agent. The repository maintains quality through a dedicated validation system.
Key architectural files include:
plugins/<plugin>/plugin.json– Declares plugin identifiers, versions, and entry points for agent discoveryplugins/<plugin>/skills/<skill>/SKILL.md– Contains the canonical skill definition with structured inputs, workflows, and edge-case handlingeng/skill-validator/src/Program.cs– A static analysis binary that checks skill syntax, detects missing required fields, and ensures runtime compatibility across different agent platforms
The validator guarantees that skills like setup-local-sdk and convert-to-cpm remain well-formed and produce consistent, reproducible behaviors regardless of which AI assistant executes them.
Summary
- The dotnet/skills repository provides ready-to-use Agent Skills for automating complex .NET development tasks
- Primary use cases include local SDK installation, framework migration, test framework upgrades, and MSBuild diagnostics
- Skills cover Central Package Management conversion, ASP.NET Core scaffolding, and MAUI theming
- All skills follow the Agent Skills standard and are validated by the
eng/skill-validatortool located ineng/skill-validator/src/Program.cs - Developers invoke skills through natural language within Copilot, Claude Code, or compatible agents, or via CLI commands like
dotnet skill convert-to-cpm
Frequently Asked Questions
What is the dotnet/skills repository used for?
The dotnet/skills repository provides curated Agent Skills that teach AI coding assistants how to perform complex .NET development tasks. These skills automate workflows like installing specific .NET SDK versions into local directories, migrating projects to nullable reference types, and resolving MSBuild errors through standardized markdown specifications that any compliant agent can parse and execute.
How do I install and use a skill from dotnet/skills?
Install skills through your agent's plugin marketplace using commands like /plugin install setup-local-sdk@dotnet-agent-skills after adding the marketplace with /plugin marketplace add dotnet/skills. Once installed, invoke skills via natural language requests such as "Migrate this project to xUnit v3" or through explicit CLI patterns like dotnet skill migrate-nullable-references --project MyApp.csproj.
What types of .NET projects benefit most from these skills?
Projects undergoing modernization (upgrading from legacy .NET Framework or early .NET Core versions), microservices requiring consistent SDK versions via local installation, and enterprise codebases adopting Central Package Management see the most immediate value. Mobile developers using MAUI and teams implementing complex testing strategies with modern xUnit or MSTest platforms also benefit significantly from the automated migration paths and validation.
How are the skills in dotnet/skills validated for correctness?
The repository includes the skill-validator tool located in eng/skill-validator/src/Program.cs. This utility statically analyzes SKILL.md files and plugin.json manifests to ensure they contain required fields, valid syntax, and compatible structures before deployment, guaranteeing reliable behavior across different AI agent platforms including GitHub Copilot, Claude Code, and Cursor.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →