Claude-skill-registry-data lsp-management

LSP server recommendations, .lsp.json configuration, installation guides, and troubleshooting for Language Server Protocol in Claude Code

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/lsp-management" ~/.claude/skills/majiayu000-claude-skill-registry-data-lsp-management && rm -rf "$T"
manifest: data/lsp-management/SKILL.md
source content

LSP Management Skill

🚨 MANDATORY: Invoke docs-management First

STOP - Before providing ANY response about LSP configuration:

  1. INVOKE
    docs-management
    skill for Claude Code LSP documentation
  2. QUERY for the user's specific LSP topic
  3. BASE all responses on official documentation + this skill's knowledge base

Skipping this step results in outdated or incorrect information.

⚠️ EXPERIMENTAL: Claude Code LSP Status

LSP support in Claude Code is experimental and has known issues. Key points:

RequirementDetails
Environment Variable
ENABLE_LSP_TOOL=1
(singular) required to expose LSP tool
Current Versionv2.1.0+ has partial support (regression #17468)
Stable Versionv2.0.67 is last known stable LSP version
Configuration
.lsp.json
at project root or
lspServers
in plugin.json

See troubleshooting.md for version-specific issues and workarounds.

Overview

Central authority for Language Server Protocol (LSP) configuration in Claude Code. This skill provides:

  • LSP server recommendations by language/technology
  • Configuration patterns for
    .lsp.json
    files
  • Installation guides for each recommended server
  • Troubleshooting for common LSP issues

Architecture: Keyword registry + curated knowledge base. Delegates to docs-management for official Claude Code LSP documentation.

When to Use This Skill

Keywords: LSP, language server, language-server-protocol, code intelligence, hover, go-to-definition, find-references, diagnostics, pyright, typescript-language-server, gopls, rust-analyzer, csharp-ls, .lsp.json, LSP configuration, LSP setup, LSP troubleshooting

Use this skill when:

  • Setting up LSP servers for a project
  • Choosing between LSP server options for a language
  • Configuring
    .lsp.json
    files
  • Troubleshooting LSP issues (hover not working, diagnostics missing, etc.)
  • Understanding LSP server installation requirements
  • Auto-detecting needed LSPs based on project file types

Keyword Registry for docs-management Queries

Use these keywords when querying docs-management skill for official documentation:

Core Concepts

TopicKeywords
LSP Overview"LSP", "language server protocol", "code intelligence"
Configuration File".lsp.json", "LSP configuration", "language server config"
Features"hover", "go-to-definition", "find-references", "diagnostics", "document symbols"

Server-Specific

TopicKeywords
Python"pyright", "pylsp", "python language server"
TypeScript/JavaScript"typescript-language-server", "vtsls", "tsserver"
Go"gopls", "go language server"
Rust"rust-analyzer", "rust language server"
C#"csharp-ls", "OmniSharp", "C# language server"
C/C++"clangd", "ccls", "C++ language server"

Troubleshooting

TopicKeywords
Server Issues"LSP not working", "language server crash", "LSP restart"
Feature Issues"hover not working", "diagnostics missing", "go-to-definition failing"
Configuration Issues"LSP config invalid", ".lsp.json error", "extension mapping"

Quick Decision Tree

What do you need?

  1. Set up LSP for a new project → See server-database.md for recommended servers
  2. Configure .lsp.json → See configuration-patterns.md for patterns
  3. Install a specific LSP server → See installation-guide.md for per-server commands
  4. Fix LSP issues → See troubleshooting.md for common problems
  5. Understand Claude Code LSP support → Query docs-management: "LSP configuration Claude Code"

LSP Server Recommendations (Quick Reference)

LanguageRecommended ServerWhy
PythonPyrightFast, accurate type checking, broad ecosystem support
TypeScript/JavaScripttypescript-language-serverOfficial TypeScript support, widely used
GogoplsOfficial Go team server, comprehensive
Rustrust-analyzerDe facto standard, excellent performance
C#csharp-lsLightweight, cross-platform, dotnet tool
C/C++clangdLLVM-backed, fast, accurate
JavaEclipse JDTLSFull-featured, widely supported
RubysolargraphType inference, documentation support
PHPintelephensePremium features, fast
Lualua-language-serverOfficial, well-maintained
YAMLyaml-language-serverSchema validation, completion
JSONvscode-json-languageserverSchema validation, formatting

For detailed recommendations with alternatives and trade-offs, see server-database.md.

.lsp.json Configuration Format

Claude Code reads LSP configuration from

.lsp.json
in the project root.

Basic Structure:

{
  "server-name": {
    "command": "server-executable",
    "args": ["--stdio"],
    "extensionToLanguage": {
      ".ext": "language-id"
    },
    "restartOnCrash": true,
    "maxRestarts": 3
  }
}

Required Fields:

FieldTypeDescription
command
stringExecutable command for the server
args
string[]Command-line arguments (typically
["--stdio"]
)
extensionToLanguage
objectMaps file extensions to language IDs

Optional Fields:

FieldTypeDefaultDescription
restartOnCrash
boolean
true
Auto-restart server on crash
maxRestarts
number
3
Maximum restart attempts

For complete patterns and examples, see configuration-patterns.md.

Auto-Detection Strategy

When auto-detecting needed LSPs for a project:

  1. Scan for file extensions using Glob patterns
  2. Match extensions to languages using the mapping table below
  3. Recommend servers from server-database.md

Extension to Language Mapping

ExtensionsLanguageRecommended Server
.py
,
.pyi
Pythonpyright
.ts
,
.tsx
,
.js
,
.jsx
TypeScript/JavaScripttypescript-language-server
.go
Gogopls
.rs
Rustrust-analyzer
.cs
,
.csx
C#csharp-ls
.c
,
.h
,
.cpp
,
.hpp
,
.cc
C/C++clangd
.java
Javajdtls
.rb
Rubysolargraph
.php
PHPintelephense
.lua
Lualua-language-server
.yaml
,
.yml
YAMLyaml-language-server
.json
JSONvscode-json-languageserver

Integration with Existing Infrastructure

Relationship to audit-lsp

The

audit-lsp
command validates existing
.lsp.json
configurations. This skill provides:

  • Server recommendations that audit-lsp can validate against
  • Configuration patterns that audit-lsp checks for compliance
  • Troubleshooting guidance when audit-lsp finds issues

Relationship to setup-lsp

The

setup-lsp
command creates/updates
.lsp.json
configurations. This skill provides:

  • Server database for recommendations
  • Installation guides for chosen servers
  • Configuration templates for generation

Test Scenarios

These scenarios should activate this skill:

  1. Direct activation: "Use the lsp-management skill to recommend a Python LSP"
  2. Setup question: "How do I set up LSP for my TypeScript project?"
  3. Configuration question: "What should my .lsp.json look like for Go?"
  4. Troubleshooting: "My hover tooltips aren't working in Python files"
  5. Comparison: "Should I use pyright or pylsp for Python?"

Related Skills

SkillRelationship
docs-managementDelegates to for official Claude Code LSP documentation
plugin-developmentPlugins can provide LSP configurations via
lspServers
field

References

Detailed guides (load on-demand):

Official Documentation (via docs-management):

  • Query: "LSP configuration Claude Code"
  • Query: ".lsp.json format"

Version History

  • v1.0.0 (2026-01-11): Initial release
    • LSP server recommendations for 12+ languages
    • Configuration pattern documentation
    • Installation guides per server
    • Troubleshooting guide
    • Integration with audit-lsp and setup-lsp

Last Updated

Date: 2026-01-11 Model: claude-opus-4-5-20251101