.NET Skills for VS Code Chat Plugins: Complete Guide to the dotnet/skills Repository

The dotnet/skills repository ships nine plugin categories—including SDK management, automated upgrades, test generation, MAUI diagnostics, and AI-assisted workflows—that integrate directly with VS Code Chat through GitHub Copilot.

The dotnet/skills repository provides a modular ecosystem of skill plugins designed specifically for the VS Code Chat extension. Each plugin resides under the plugins/ directory and exposes capabilities through SKILL.md definitions that specify required inputs, execution logic, and VS Code-specific integration points.

Core Development and SDK Management

.NET SDK Setup and Acquisition

The plugins/dotnet plugin handles fundamental SDK operations. The setup-local-sdk skill enables VS Code to discover and download specific .NET SDK versions, pinning the environment for consistent builds. According to the source code in plugins/dotnet/skills/setup-local-sdk/SKILL.md, this skill interacts with the dotnet.acquire API to install exact versions required by your workspace.

Automated Project Upgrades

The plugins/dotnet-upgrade plugin streamlines migration across .NET versions. It contains specialized skills for transitioning from .NET 8→9, 9→10, and 10→11, including nullable-reference type migration. The migrate-dotnet9-to-dotnet10 skill references VS Code-specific settings in plugins/dotnet-upgrade/skills/migrate-dotnet9-to-dotnet10/references/containers-interop-dotnet9to10.md, requiring explicit version pinning for VS Code users through the dotnet.acquire configuration.

Testing and Quality Assurance

Test Generation and Execution

The plugins/dotnet-test plugin provides comprehensive testing capabilities through the code-testing-agent skill. This agent explicitly targets "VS Code with GitHub Copilot extension" environments and supports MSTest, XUnit, and MTP (Microsoft Testing Platform) hot-reload scenarios. As documented in plugins/dotnet-test/skills/code-testing-agent/SKILL.md, enabling nested delegation requires the chat.subagents.allowInvocationsFromSubagents flag in VS Code settings.

Test Framework Migration

The plugins/dotnet-test-migration plugin facilitates converting between testing frameworks—XUnit to XUnit v3, XUnit to MSTest, and VSTest to MTP. The migrate-vstest-to-mtp skill includes validation steps that verify the VS Code Test Explorer correctly discovers migrated tests, ensuring IDE integration remains intact throughout the transition.

Platform-Specific Development

MAUI Diagnostics and Configuration

The plugins/dotnet-maui plugin includes the dotnet-maui-doctor skill for environment validation. This skill performs IDE-specific checks for VS Code or Visual Studio and provides configuration snippets for .vscode/settings.json. The source in plugins/dotnet-maui/skills/dotnet-maui-doctor/SKILL.md handles safe-area calculations, shell navigation, and dependency injection setup for cross-platform applications.

ASP.NET Core and Blazor Support

The plugins/dotnet-aspnetcore and plugins/dotnet-blazor plugins offer specialized skills for web development. The dotnet-webapi skill supports minimal API file uploads and JS interop patterns, with capabilities defined in plugins/dotnet-aspnetcore/skills/dotnet-webapi/SKILL.md. These skills leverage the VS Code Chat interface to scaffold endpoints and validate routing configurations.

Build and Advanced Workflows

MSBuild Diagnostics

The plugins/dotnet-msbuild plugin exposes the msbuild-agent for build-performance analysis and binlog generation. Located at plugins/dotnet-msbuild/agents/msbuild.agent.md, this agent auto-detects the host IDE and can diagnose complex build failures directly from chat commands. It supports target authoring, project-reference resolution, and property pattern analysis.

AI-Assisted Development

The plugins/dotnet-ai plugin contains the MCP C# debug skill, which provides complete VS Code configuration guidance for Model Context Protocol servers. The skill in plugins/dotnet-ai/skills/mcp-csharp-debug/SKILL.md includes templates for .vscode/mcp.json and launch.json, enabling debugging of C# MCP implementations within the VS Code environment.

Advanced Capabilities

The plugins/dotnet-advanced plugin handles specialized scenarios including trusted NuGet publishing, P/Invoke declarations, and C# scripting. While these skills lack VS Code-specific markup, they integrate seamlessly through the standard chat plugin interface as documented in plugins/dotnet-advanced/skills/nuget-trusted-publishing/SKILL.md.

How VS Code Discovers .NET Skills

VS Code Chat loads these capabilities through a skills.json manifest generated by the repository's CI pipeline. This manifest lists each skill's identifier, description, required inputs, and host compatibility. When users enter requests matching a skill's intent, the extension invokes the underlying .NET binary or script and streams results back into the chat UI.

Enabling .NET Skills in VS Code

Configure your workspace to access the full skill library by modifying .vscode/settings.json:

{
  "chat.plugins.enabled": true,
  "chat.plugins.marketplaces": ["dotnet/skills"],
  "chat.subagents.allowInvocationsFromSubagents": true,
  "dotnet.acquire.sdkVersion": "8.0.400"
}

With this configuration, invoke skills directly from the VS Code Chat input:

> dotnet upgrade project /path/to/csproj
> dotnet test generate MyProject.Tests
> dotnet maui doctor
> dotnet ai select-technology

Summary

  • Nine plugin categories cover SDK management, upgrades, testing, MAUI, ASP.NET Core, MSBuild, AI workflows, and advanced scenarios.
  • SKILL.md files in each plugin directory define capabilities, inputs, and VS Code integration points.
  • Nested sub-agent support requires chat.subagents.allowInvocationsFromSubagents for testing and complex workflows.
  • IDE auto-detection allows skills to adapt behavior for VS Code versus Visual Studio.
  • skills.json manifest generated by CI enables automatic discovery by VS Code Chat.

Frequently Asked Questions

How do I enable nested sub-agents for .NET testing skills in VS Code?

Set chat.subagents.allowInvocationsFromSubagents to true in .vscode/settings.json. The code-testing-agent skill in plugins/dotnet-test/skills/code-testing-agent/SKILL.md explicitly requires this flag to delegate tasks to helper agents for test generation and execution.

What configuration is required to use the .NET SDK setup skill in VS Code?

Add dotnet.acquire.sdkVersion to your .vscode/settings.json to pin a specific SDK version. The setup-local-sdk skill in plugins/dotnet/skills/setup-local-sdk/SKILL.md uses this value when invoking the dotnet.acquire API to ensure VS Code installs the exact version required by your project.

Which .NET skills support MAUI development in VS Code Chat?

The dotnet-maui-doctor skill provides comprehensive MAUI support, including environment checks and VS Code configuration snippets. Located in plugins/dotnet-maui/skills/dotnet-maui-doctor/SKILL.md, it validates safe-area settings, shell navigation, and dependency injection for cross-platform projects.

How does VS Code Chat discover available .NET skills from the repository?

VS Code Chat loads a skills.json manifest file generated by the repository's continuous integration pipeline. This manifest indexes all SKILL.md definitions under plugins/, mapping skill identifiers to their execution handlers and enabling real-time invocation through the Copilot Chat interface.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →