lsp-plugins
Skill0 starsChanged 50 days agoUnlicenseView on GitHub
Install the official language server (LSP) for the backend stack so the agent gets real static types, imports, and diagnostics instead of guessing from file reads.
- Installs packages
In this repository10 other files it gives its agents.
- skill-starter-kitSkill
- browser-verifySkill
- cloud-clisSkill
- consistencySkill
- docs-freshnessSkill
- github-mcpSkill
- guardrailsSkill
- security-gateSkill
- taste-codeSkill
- verify-gateSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Don't use for:
- Very specific: line 41
If the marketplace is missing: /plugin marketplace add anthropics/claude-plugins-official.
- Very specific: line 51
Install per-stack only, never the whole set: Every installed plugin's tools and metadata occupy context in projects that never use that …
- Very specific: line 68
Identify the stack: Ask the agent or inspect for markers: tsconfig.json → TS.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
LSP Plugins: Language Server for the Backend Stack
Language servers give the agent precise, current answers about types, imports, symbols, and diagnostics — instead of re-reading entire files and inferring. This skill installs the right server for the stack in use, so the agent can ask structural questions with correct answers.
What it does NOT do: change how you edit code. It adds a fast, accurate structural query path (types, references, definitions, errors) alongside normal file editing.
When to Use
- Starting work on a codebase in an unfamiliar / typestrict stack.
- Any time the agent is unsure about types, imports, or whether code will typecheck — an LSP query is cheaper and more reliable than eyeballing the whole file.
- Setting up a new machine / new project (part of the Project Starter Kit run).
Don't use for:
- Interpretation of semantics or business logic — that is not a structural concern.
- In-place replacement of the build/test pipeline.
Prerequisites
- The backend stack is identified (see table). Project uses a package manager with the server available (npm/pnpm/yarn, go, pip/uv, cargo).
- The editor/agent is wired to run the LSP server over the standard JSON-RPC/LSP protocol.
Preferred Path: Official Anthropic LSP Plugins (Claude Code)
Anthropic ships first-party per-language LSP plugins in the official marketplace — use these before hand-wiring servers. In a Claude Code session:
/plugin install typescript-lsp@claude-plugins-official # TypeScript/JS
/plugin install pyright-lsp@claude-plugins-official # Python
/plugin install gopls-lsp@claude-plugins-official # Go
/plugin install rust-analyzer-lsp@claude-plugins-official # Rust
/plugin install clangd-lsp@claude-plugins-official # C/C++If the marketplace is missing: /plugin marketplace add anthropics/claude-plugins-official.
Also available: csharp-lsp, jdtls-lsp, kotlin-lsp, liquid-lsp, lua-lsp, php-lsp,
ruby-lsp, swift-lsp — 13 LSP plugins in total: 12 Anthropic first-party plus
liquid-lsp, which is Shopify-owned (verified against the live marketplace.json).
The plugin wires the connection but does NOT install the server binary — install the
binary from the table below first (the plugin's LSP tool then gives automatic post-edit
diagnostics plus navigation: definitions, references, hover types, call hierarchies).
Cloud sessions don't start plugin language servers. Hosts without the marketplace (e.g.
Hermes) use the manual path alone.
Install per-stack only, never the whole set. Every installed plugin's tools and metadata
occupy context in projects that never use that language — a Python-only repo should not be
paying for gopls-lsp and typescript-lsp. Detect the stack (step 1), install the one or two
that match, and skip the rest. This is the kit component with the best ratio of accuracy gained
to context spent; scoping it is what keeps that true.
Server Binaries (install per stack — required for the plugins too)
| Stack | Server (package) | Install (per-project) |
| TypeScript/JS | TypeScript language server (typescript-language-server, or tsserver from typescript) | npm i -D typescript-language-server typescript |
| Go | gopls (official) | go install golang.org/x/tools/gopls@latest |
| Python | pyright (official) or pylsp | npm i -g pyright or pip install python-lsp-server |
| Rust | rust-analyzer | via rustup component add rust-analyzer |
How to Run (Procedure)
- Identify the stack. Ask the agent or inspect for markers:
tsconfig.json→ TS;go.mod→ Go;pyproject.toml/requirements.txt→ Python;Cargo.toml→ Rust. Do not guess. - Install the server binary from the table, then install the matching official plugin (Claude Code) — or run the binary alone on other hosts.
- Restart the editor/agent so the server attaches to the workspace.
- Verify the server is live (see Verification) before relying on it.
- Use it for structural queries: symbols, definitions, references, type of expression, file diagnostics — the primary reason it was installed.
Pitfalls
- Wrong server for the stack. Installing pyright into a TS project wastes the step. Identify the stack first, every time.
- Server started before project load. It answers stale/wrong until the workspace is reopened.
- Version skew. A server older than the toolchain can emit phantom diagnostics. Keep the server matching the installed toolchain version.
- Monorepos / multiple languages. Install per-language servers touched in the task; don't collapse to one.
Works with →
verify-gate— LSP diagnostics catch the type error in the file you just edited; the gate catches the regression three modules away. Fix LSP errors before ending the turn so the gate bounces less.graphify— this is the default retrieval path; Graphify is for orientation only.guardrailsformat.shruns after each edit; LSP re-reads the formatted file.docs-freshness— LSP knows a signature exists; it cannot know the call is semantically right for the installed version. Different question, different tool.
Verification
typecheck-style check or "no errors" from the server for a file known to be correct.- Definitions / references resolve to the right file for a probe symbol.
- The server process is running and attached to the current workspace.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

