Files
dotnet__skills/plugins/dotnet
Roman Głogowski e03f2f2b38 Add Claude Code-shaped .lsp.json for the dotnet plugin
Claude Code auto-discovers `.lsp.json` at plugin root and expects a
schema that differs from Copilot CLI's `lsp.json`:

- No outer `lspServers` wrapper in the external file (the wrapper is
  only used when defining LSP servers inline in `plugin.json`).
- Required field is `extensionToLanguage`, not `fileExtensions`.

Without this file, Claude Code silently rejects the existing
`lsp.json` (Copilot CLI shape) and the Roslyn language server is
never registered — `/reload-plugins` reports `0 plugin LSP servers`.
After adding `.lsp.json`, the count becomes `1 plugin LSP server`
and `findReferences`, `goToImplementation`, etc. work end-to-end.

The existing `lsp.json` is left untouched so Copilot CLI continues
to work; the two hosts read different filenames and never see each
other's config.

References:
- https://code.claude.com/docs/en/plugins-reference (lspServers,
  external `.lsp.json` format, required fields)
- https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers (Copilot CLI uses `lsp.json` with `lspServers` wrapper and `fileExtensions`)

Signed-off-by: Roman Głogowski <roman.glogowski@volue.com>
2026-05-05 08:41:38 +02:00
..
2026-04-21 12:57:18 +00:00

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.

Prerequisites:

  • .NET SDK installed
  • dotnet available on PATH

Skills

  • csharp-scripts
  • dotnet-pinvoke
  • nuget-trusted-publishing