Actually LSP Doctor

LSP setup diagnostic and fixer for Rust/TS/Ruby, but only as a full plugin.

Works with setup

Test report

Verdict
Works with setup
Score
8.8/10
Tested
Jul 16, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 1025dc9

The state-machine logic is genuinely good and I ran it for real (detect_ecosystems + write_state against a throwaway TS project, correct output both times) — but SKILL.md's own Step 1 sources lib/detect.sh, lib/ecosystems.sh, lib/state.sh and CONTEXT.md from "the plugin root ($CLAUDE_PLUGIN_ROOT)", none of which ship inside skills/actually-lsp-doctor/, so the mandated bare skill-folder copy is dead on arrival.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 4/5
  • Triggers reliably 5/5
  • Output vs. baseline 8/10
  • Docs & honesty 5/5

What Actually LSP Doctor does

Diagnoses and fixes the language-server setup for detected ecosystems (Rust, TypeScript, Ruby) in a project, running a six-state per-ecosystem machine and grounding a 'ready' verdict in a real LSP documentSymbol probe rather than a shell heuristic. Triggers on a SessionStart LSP nudge, failing LSP calls, or a direct /actually-lsp-doctor invocation.

How to install Actually LSP Doctor

git clone https://github.com/technicalpickles/pickled-claude-plugins
cd pickled-claude-plugins
mkdir -p ~/.claude/skills
cp -r plugins/actually-lsp/skills/actually-lsp-doctor ~/.claude/skills/actually-lsp-doctor
# BROKEN as a bare skill copy: Steps 1/3/6 source lib/detect.sh, lib/ecosystems.sh, lib/state.sh and read CONTEXT.md from "the plugin root ($CLAUDE_PLUGIN_ROOT)", none of which exist inside the skill folder. Real fix: copy the whole plugins/actually-lsp/ directory (lib/, hooks/, activation/, CONTEXT.md, .claude-plugin/plugin.json) and load it as an actual plugin (or export CLAUDE_PLUGIN_ROOT to point at that copy) instead of a bare skills/ copy.

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Actually LSP Doctor

  • /actually-lsp-doctor LSP setup diagnostic and fixer for Rust/TS/Ruby, but only as a full plugin.

It also activates on plain-language prompts like these:

  • My TypeScript language server isn't working, can you diagnose it?
  • Check if rust-analyzer is properly set up in this project
  • Fix the LSP setup for my Ruby project so autocomplete works again

Frequently asked questions

Is the Actually LSP Doctor skill free?
Yes. The skill itself is free from technicalpickles/pickled-claude-plugins. SkillProof publishes the install command and an independent test verdict at no cost.
Does Actually LSP Doctor work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 16, 2026. Verdict: Works with setup. The state-machine logic is genuinely good and I ran it for real (detect_ecosystems + write_state against a throwaway TS project, correct output both times) — but SKILL.md's own Step 1 sources lib/detect.sh, lib/ecosystems.sh, lib/state.sh and CONTEXT.md from "the plugin root ($CLAUDE_PLUGIN_ROOT)", none of which ship inside skills/actually-lsp-doctor/, so the mandated bare skill-folder copy is dead on arrival.
What is the Actually LSP Doctor SkillProof Score?
8.8/10 — installs cleanly 4/5, triggers reliably 5/5, output vs. baseline 8/10, docs & honesty 5/5.
How do I install Actually LSP Doctor?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Actually LSP Doctor with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.