Skip to main content
plugin

dotnet — GitHub Copilot plugin: C# and .NET skills

C# and .NET skills plus a language server for .cs files. Useful when the agent edits C# code.

Install into GitHub Copilot · Command from the source All methods and platforms ↓
copilot plugin install dotnet@awesome-copilot
Open on GitHub

What dotnet does

The plugin adds four skills: csharp-expert, csharp-refactoring, msbuild and setup-local-sdk. The first routes a .NET request to an installed specialist, the second handles C# source refactoring, the third covers build failures, build performance and MSBuild authoring, and the fourth sets up a local SDK.

A C# language server (LSP) is declared inside and launched through the .NET CLI. Hosts that support the lspServers extension will load it. Codex plugin installs expose the skills but skip that declaration. You need the .NET 10 SDK, and dotnet has to be on PATH — otherwise the LSP will not start.

msbuild acts as a router: it loads bundled references instead of activating the specialists from the dotnet-msbuild plugin. Framework upgrades, legacy-project conversion, package-format migration and C# source refactoring sit outside its scope. Both plugins can live side by side, and you will not have to run two workflows for one task.

What it helps with

  • diagnose a failing MSBuild build
  • speed up a .NET build
  • review XML and imports in a project file
  • refactor a C# source file
  • set up a local .NET SDK

Example prompts for the agent

  • Figure out why this solution fails to build
  • Refactor this C# class
  • Set up a local .NET SDK for the project

How to install dotnet

Command from the source

copilot plugin install dotnet@awesome-copilot

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about dotnet

How do I install dotnet in GitHub Copilot?

Run copilot plugin install dotnet@awesome-copilot.

What does the dotnet plugin do?

It gives the agent C# and .NET skills and declares a C# language server for .cs files.

What does the language server need to run?

The .NET 10 SDK installed and dotnet on PATH. The plugin launches the server through the .NET CLI.

Source text

dotnet · MIT
# dotnet

Core .NET and C# skills for coding agents.

## Includes

- Common .NET development skills
- A C# language server integration for `.cs` files

## LSP

This plugin declares a C# LSP server that is launched through the .NET CLI.
The LSP declaration is available to hosts that support the plugin `lspServers` extension. Codex
plugin installs expose this plugin's skills but do not load that host-specific LSP declaration.

Prerequisites:
- .NET 10 SDK installed
- `dotnet` available on PATH

## Skills

- [csharp-expert](skills/csharp-expert/SKILL.md)
- [csharp-refactoring](skills/csharp-refactoring/SKILL.md)
- [msbuild](skills/msbuild/SKILL.md) — routed MSBuild diagnosis, performance, and authoring guidance
- [setup-local-sdk](skills/setup-local-sdk/SKILL.md)

### MSBuild entry and specialist skills

`msbuild` is the task-routed entry for build failures, build performance, and MSBuild
authoring review. It loads bundled references rather than activating the specialist
skills in the [dotnet-msbuild plugin](../dotnet-msbuild/README.md). The existing
plugin's skills and agents remain supported, unchanged alternative entry points;
installing both plugins does not require running both workflows for one task.

Authoring review includes advisory XML, import, and packed-layout questions without a checkout
or failed build, and preserves the current framework and project system. Framework
upgrades, legacy-project conversion, package-format migration, and C# source
refactoring are outside this entry's scope.

The bundled references and specialist skills share MSBuild owners. Review shared-guidance
updates against both surfaces and track applicable backports with their corresponding
evals rather than maintaining independent guidance. This consolidation leaves specialist
content unchanged; the bundled copy includes explicitly reviewed correctness fixes.
Migrating or retiring the specialist plugin is a separate change.

The [entry eval](../../tests/dotnet/msbuild/eval.yaml) covers the three task lanes
and out-of-scope requests. The normal plugin arm loads only `dotnet`.
The supplemental [coexistence experiment](../../msbuild-coexistence.experiment.yaml)
also exposes all `dotnet-msbuild` skills in its plugin arm, using the same stimuli
and outcomes without prescribing which overlapping skill must win selection.
Point `EXPERIMENT_FILE` at that experiment when running `eng/run-skill-evals.sh dotnet msbuild`.
Inspect its activation traces for duplicate workflows and out-of-scope activation;
the isolated arm's dormancy contract alone does not prove cross-plugin routing.

### C# expert marketplace routing

`csharp-expert` routes a .NET request to an installed specialist or identifies the smallest
`dotnet/skills` marketplace plugin that supplies a missing specialist. Its normal eval covers
solution detection, marketplace acquisition, fallback behavior, and dormancy.

The supplemental
[`csharp-expert-coexistence.experiment.yaml`](../../csharp-expert-coexistence.experiment.yaml)
and
[`csharp-expert-coexistence.claude.experiment.yaml`](../../csharp-expert-coexistence.claude.experiment.yaml)
load representative marketplace specialists in the plugin arm for GPT- and Claude-family executors.
Run either without a skill filter:

```bash
EXPERIMENT_FILE=./csharp-expert-coexistence.experiment.yaml ./eng/run-skill-evals.sh
EXPERIMENT_FILE=./csharp-expert-coexistence.claude.experiment.yaml ./eng/run-skill-evals.sh
```

Inspect the plugin-arm activation traces to confirm that installed specialists are invoked without
installation advice. This is trace evidence rather than a shared output grader because the
target-only arm may legitimately identify a missing specialist after completing a safe fallback.

© Microsoft · MIT · dotnet/skills

Similar plugins

All plugins for Programming languages →

From the same set101

use-igniteui-blazor Sets up and configures Ignite UI for Blazor Lite components in .NET 8.0+ applications. It configures packages, styles, and interactive render modes. CX Codex +1 1,500installs msbuild A skill for investigating failed MSBuild builds, measuring build performance and reviewing project XML. Useful when dotnet build breaks or drags. CX Codex +1 1,000installs winforms-expert A skill for Windows Forms work: it edits code so the project builds, behaves at runtime and stays editable in the Visual Studio Designer. CX Codex +1 955installs csharp-expert A dispatcher skill for C# and .NET work: figures out which installed specialist should own a task and gives install commands for the missing dotnet/skills plugin. CX Codex +1 902installs code-testing A skill that writes, repairs and strengthens tests for xUnit, MSTest, NUnit, pytest, Vitest/Jest and Go. Focused work runs inline; broad work goes to the test-engineer agent. CX Codex +1 863installs process-api-net11 Guides AI coding agents through the new System.Diagnostics.Process APIs in .NET 11 for dead-lock-free process execution, stream capturing, and lifecycle management. CX Codex +1 585installs test-value-evidence Checks that the tests for a specific PR, commit or feature actually catch the wrong behaviour, with red-green evidence tied to a revision. CX Codex +1 565installs eliminate-redundant-restores Safely eliminates duplicate NuGet restore invocations across multi-step .NET CI builds and scripts. It prevents NETSDK1004 and NETSDK1047 errors when suppressing restore steps. CX Codex +1 404installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor