lsp-plugins_skill

This skill helps you create and configure LSP plugins for Claude Code, enabling diagnostics and code intelligence from familiar language servers.
  • Shell

7

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill gwenwindflower/.charmschool --skill lsp-plugins

  • SKILL.md9.2 KB

Overview

This skill creates and manages Language Server Protocol (LSP) plugins for Claude Code so the agent can reuse the same language servers you run with Neovim. It scaffolds plugin metadata, LSP server mappings, and enables the plugin in Claude Code settings for immediate use. The goal is reproducible, version-controlled LSP integrations kept in your dotfiles repo.

How this skill works

The skill generates a plugin directory under agents/claude-code/plugins/, writes a plugin.json with author and repository metadata, and creates a .lsp.json that maps language IDs, commands, args, and file extensions to a server configuration. It validates common Mason paths (~/.local/share/nvim/mason/bin/), suggests using executables in PATH, and can add optional debug logging entries. Finally it updates ~/.claude/settings.json enabledPlugins and recommends verifying the plugin with a restart and a test file.

When to use it

  • You want Claude Code to provide diagnostics, hover, and code intelligence using your local language servers.
  • You maintain dotfiles and want LSP configs version-controlled alongside Neovim and other agent settings.
  • You are installing a new language server (pyright, gopls, typescript-language-server, etc.) and need a Claude plugin for it.
  • You need to customize file extension mappings or server args for a language server.
  • You are troubleshooting LSP startup or want verbose server logs for debugging.

Best practices

  • Create each plugin in agents/claude-code/plugins/<plugin-name>/ with kebab-case name matching plugin.json name.
  • Prefer executable names on PATH; only use full Mason absolute paths if the server is not globally available.
  • Populate plugin.json author fields from git config user.name and user.email for traceability.
  • Keep .lsp.json initializatonOptions and settings empty unless the server documentation requires values.
  • Add loggingConfig when debugging and check ~/.claude/debug/ for server logs.

Example use cases

  • Add pyright LSP plugin so Claude can provide Python diagnostics and type hints using the same pyright-langserver you use in Neovim.
  • Install gopls plugin to get Go symbol lookup and diagnostics inside Claude Code sessions.
  • Map typescript-language-server to both TypeScript and JavaScript with correct extensions and --stdio args.
  • Create a marksman plugin to enable Markdown linting and hover information using marksman server.
  • Temporarily enable verbose logging for an LSP that crashes on start to capture logs in ~/.claude/debug/.

FAQ

Create them under agents/claude-code/plugins/ inside your dotfiles repository so they stay version-controlled and symlinked into Claude Code.

What if Claude can't find the language server executable?

Verify the executable exists in ~/.local/share/nvim/mason/bin/<server> or is on PATH with which <server>. If needed, use the absolute path in .lsp.json command and enable logging to troubleshoot.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational