Add lsp-setup skill for configuring LSP servers in Copilot CLI#1272
Add lsp-setup skill for configuring LSP servers in Copilot CLI#1272brunoborges wants to merge 5 commits intostagedfrom
Conversation
Adds a new skill that helps users install and configure Language Server Protocol servers for GitHub Copilot CLI. Includes: - Interactive workflow: detect OS, install server, write config, verify - Bundled reference with 14 languages (Java/jdtls, TypeScript, Python, Go, Rust, C/C++, C#, Ruby, PHP, Kotlin, Swift, Lua, YAML, Bash) - Per-OS install commands and ready-to-use lsp-config.json snippets - Support for both user-level and repo-level configuration Co-authored-by: Copilot <[email protected]>
🔍 Skill Validator Results2 resource(s) checked | ✅ All checks passed Full output |
There was a problem hiding this comment.
Pull request overview
Adds a new lsp-setup skill to help users install/configure Language Server Protocol (LSP) servers for GitHub Copilot CLI, including bundled per-language install guidance and example configuration snippets.
Changes:
- Add
skills/lsp-setupskill instructions describing an interactive LSP setup workflow and config locations/format. - Add bundled reference data (
references/lsp-servers.md) covering install commands + config snippets for 14 languages. - Update
docs/README.skills.mdto include the new skill entry.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| skills/lsp-setup/SKILL.md | Defines the LSP setup workflow, config locations, and expected JSON structure. |
| skills/lsp-setup/references/lsp-servers.md | Provides per-language install commands and config snippets used by the skill. |
| docs/README.skills.md | Registers the new skill in the skills index. |
Comments suppressed due to low confidence (1)
skills/lsp-setup/SKILL.md:28
- This section lists only
~/.copilot/lsp-config.jsonand.github/lsp.jsonas config locations, but the Learning Hub plugin docs also mentionlsp.jsonat the repo root as a valid location. If rootlsp.jsonis supported, include it here (and in the scope question) so the skill doesn’t omit a documented option.
Copilot CLI reads LSP configuration from two locations (repo-level takes precedence):
- **User-level**: `~/.copilot/lsp-config.json`
- **Repo-level**: `.github/lsp.json`
- Update SKILL.md description to mention both config paths (user-level and repo-level) instead of only lsp-config.json - Clarify workflow step 6 with explicit file paths - Add note in references/lsp-servers.md explaining snippets are objects to insert under the lspServers key - Regenerate docs/README.skills.md with updated description Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
|
This works really nicely. I tested it by installing LSP servers for Python and Rust. The only thing I find a little strange (probably nothing to do with this PR) is that after the installation is complete I expected to be able to do This makes adding an LSP server way easier. Is this going to be available from this page: https://awesome-copilot.github.com/skills/? I'll document that it's findable there by searching for "lsp" - if that's not correct please let me know. |
aaronpowell
left a comment
There was a problem hiding this comment.
Just want to get an update on the .NET/C# part to align with the guidance from the .NET team.
|
|
||
| ## C# (.NET) | ||
|
|
||
| **Server**: [OmniSharp](https://github.com/OmniSharp/omnisharp-roslyn) or [csharp-ls](https://github.com/razzmatazz/csharp-language-server) |
There was a problem hiding this comment.
This isn't correct, it should be using the roslyn-language-server, see https://github.com/dotnet/skills/blob/main/plugins/dotnet/lsp.json for a reference.
Summary
Adds a new lsp-setup skill that guides users through installing and configuring Language Server Protocol (LSP) servers for GitHub Copilot CLI.
What it does
The skill provides an interactive workflow:
lsp-config.jsonconfiguration (user-level or repo-level)Included languages
Bundled reference data covers 14 languages with per-OS install commands and ready-to-use config snippets:
Files changed
skills/lsp-setup/SKILL.md— skill definition and agent instructionsskills/lsp-setup/references/lsp-servers.md— bundled reference datadocs/README.skills.md— auto-generated (vianpm run build)Validation
npm run skill:validate— all 272 skills validnpm run build— README and marketplace regeneratedbash scripts/fix-line-endings.sh— line endings normalized