Skip to content

Add lsp-setup skill for configuring LSP servers in Copilot CLI#1272

Merged
brunoborges merged 12 commits intostagedfrom
skill/lsp-setup
Apr 9, 2026
Merged

Add lsp-setup skill for configuring LSP servers in Copilot CLI#1272
brunoborges merged 12 commits intostagedfrom
skill/lsp-setup

Conversation

@brunoborges
Copy link
Copy Markdown
Contributor

@brunoborges brunoborges commented Apr 2, 2026

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:

  1. Asks which language(s) the user wants LSP support for
  2. Detects the user's OS (macOS / Linux / Windows)
  3. Installs the appropriate LSP server
  4. Writes the lsp-config.json configuration (user-level or repo-level)
  5. Verifies the setup

Included languages

Bundled reference data covers 14 languages with per-OS install commands and ready-to-use config snippets. Each language has a single recommended LSP server:

Language LSP Server
TypeScript / JavaScript typescript-language-server
Java Eclipse JDT Language Server (jdtls)
Python pyright
Go gopls
Rust rust-analyzer
C / C++ clangd
C# Roslyn Language Server
Ruby solargraph
PHP intelephense
Kotlin kotlin-language-server
Swift sourcekit-lsp
Lua lua-language-server
YAML yaml-language-server
Bash bash-language-server

Files changed

  • skills/lsp-setup/SKILL.md — skill definition and agent instructions
  • skills/lsp-setup/references/lsp-servers.md — bundled reference data
  • docs/README.skills.md — auto-generated (via npm run build)

Validation

  • npm run skill:validate — all 272 skills valid
  • npm run build — README and marketplace regenerated
  • bash scripts/fix-line-endings.sh — line endings normalized

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 <223556219+Copilot@users.noreply.github.com>
@brunoborges brunoborges requested a review from aaronpowell as a code owner April 2, 2026 19:21
Copilot AI review requested due to automatic review settings April 2, 2026 19:22
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🔍 Skill Validator Results

2 resource(s) checked | ✅ All checks passed

Full output
Found 1 skill(s)
[lsp-setup] 📊 lsp-setup: 961 BPE tokens [chars/4: 996] (detailed ✓), 6 sections, 1 code blocks
�[32m✅ All checks passed (1 skill(s))�[0m

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-setup skill 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.md to 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.json and .github/lsp.json as config locations, but the Learning Hub plugin docs also mention lsp.json at the repo root as a valid location. If root lsp.json is 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 <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@brunoborges brunoborges enabled auto-merge April 6, 2026 16:09
@hubwriter
Copy link
Copy Markdown

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 /lsp reload and then see the new server listed when I did /lsp but in both cases I had to quit and start a new CLI session to see the new server listed.

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.

Copy link
Copy Markdown
Contributor

@aaronpowell aaronpowell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just want to get an update on the .NET/C# part to align with the guidance from the .NET team.

brunoborges and others added 2 commits April 9, 2026 12:23
Replace csharp-ls/OmniSharp with roslyn-language-server in the .NET
section, matching the official dotnet/skills reference configuration.

Addresses review feedback from @aaronpowell in PR #1272.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new lsp-setup skill to guide GitHub Copilot CLI users through installing LSP servers and generating LSP configuration files, backed by bundled reference data and listed in the skills index.

Changes:

  • Added skills/lsp-setup skill instructions for an interactive LSP install/config workflow.
  • Added bundled reference data for known LSP servers and config snippets.
  • Updated the generated skills catalog to include the new skill.
Show a summary per file
File Description
skills/lsp-setup/SKILL.md Defines the interactive workflow and config format/merging behavior for LSP setup.
skills/lsp-setup/references/lsp-servers.md Provides per-language install guidance and JSON snippets to merge into lspServers.
docs/README.skills.md Adds the new lsp-setup entry to the generated skills index.

Copilot's findings

  • Files reviewed: 3/3 changed files
  • Comments generated: 2

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

@brunoborges Unfortunately I hit an unexpected error while processing your comment. I've automatically reported this to GitHub.

You can ask me to try again later by mentioning me in a new comment.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 85efec86-6f78-4e73-aa56-ee26c6e00844

Sorry for the inconvenience!

2 similar comments
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

@brunoborges Unfortunately I hit an unexpected error while processing your comment. I've automatically reported this to GitHub.

You can ask me to try again later by mentioning me in a new comment.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 85efec86-6f78-4e73-aa56-ee26c6e00844

Sorry for the inconvenience!

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

@brunoborges Unfortunately I hit an unexpected error while processing your comment. I've automatically reported this to GitHub.

You can ask me to try again later by mentioning me in a new comment.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 85efec86-6f78-4e73-aa56-ee26c6e00844

Sorry for the inconvenience!

Replace pylsp primary + pyright alternative with a single pyright
recommendation for Python. Go already correctly recommends gopls.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new lsp-setup skill to guide users through installing and configuring Language Server Protocol (LSP) servers for GitHub Copilot CLI, including bundled per-language install/config reference data and an updated skills index.

Changes:

  • Added skills/lsp-setup/SKILL.md describing an interactive workflow for selecting language/OS, installing an LSP server, and writing/merging LSP config.
  • Added skills/lsp-setup/references/lsp-servers.md with install commands and ready-to-use config snippets for multiple languages.
  • Updated docs/README.skills.md to include the new skill entry.
Show a summary per file
File Description
skills/lsp-setup/SKILL.md Introduces the new skill workflow and configuration guidance for Copilot CLI LSP setup.
skills/lsp-setup/references/lsp-servers.md Provides bundled reference data (install steps + config snippets) the skill relies on.
docs/README.skills.md Registers the new skill in the generated skills index.

Copilot's findings

Comments suppressed due to low confidence (1)

skills/lsp-setup/SKILL.md:28

  • This section lists repo-level config only as .github/lsp.json, but other docs in this repo indicate repo-level LSP config can also be lsp.json at the repo root. Aligning the guidance here will avoid users configuring a path Copilot CLI doesn’t pick up in some setups.
Copilot CLI reads LSP configuration from two locations (repo-level takes precedence):

- **User-level**: `~/.copilot/lsp-config.json`
- **Repo-level**: `.github/lsp.json`

  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Rewrite description to emphasize code intelligence capabilities
(go-to-definition, find-references, hover) so the coding agent
triggers the skill when it needs deeper code understanding, while
still matching explicit LSP setup/configuration requests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
brunoborges and others added 2 commits April 9, 2026 14:33
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@brunoborges brunoborges requested a review from Copilot April 9, 2026 18:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new lsp-setup skill to help GitHub Copilot CLI users install and configure Language Server Protocol (LSP) servers, including bundled per-language/per-OS reference instructions.

Changes:

  • Added skills/lsp-setup skill definition with an interactive setup workflow for LSP configuration.
  • Added bundled reference data (lsp-servers.md) with install commands and config snippets for 14 languages.
  • Registered the new skill in docs/README.skills.md.
Show a summary per file
File Description
skills/lsp-setup/SKILL.md Defines the LSP setup workflow and expected config format/merge behavior.
skills/lsp-setup/references/lsp-servers.md Provides per-language install guidance and config snippets to insert under lspServers.
docs/README.skills.md Adds lsp-setup to the generated skills index.

Copilot's findings

  • Files reviewed: 3/3 changed files
  • Comments generated: 1

LSP servers are only loaded on Copilot CLI startup, so the user
must exit and re-launch for the new configuration to take effect.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@brunoborges brunoborges merged commit 13d5de8 into staged Apr 9, 2026
10 checks passed
@brunoborges brunoborges deleted the skill/lsp-setup branch April 9, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants