adamnaghs/lsp/SKILL.md
Multi-language code navigation via persistent LSP daemons. Supports Python (pyright), TypeScript/JS, Rust, Go, C/C++, Bash, Java, CSS, HTML, JSON. Auto-detects language from file extension and lazy-starts the appropriate server. Use instead of grep for definitions, references, hover, symbols, and diagnostics.
npx skillsauth add openclaw/skills lspInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Multi-language LSP client that manages per-language background daemons. Auto-detects the language from file extension and routes queries to the correct server. Each server lazy-starts on first use and idles out after 5 minutes of inactivity.
Use this instead of grep/read when you need to:
| Language | Server | Extensions | Install |
|----------|--------|------------|---------|
| Python | pyright-langserver | .py, .pyi, .pyx | npm install -g pyright |
| TypeScript/JS | typescript-language-server | .ts, .tsx, .js, .jsx, .mjs, .cjs | npm install -g typescript-language-server typescript |
| Rust | rust-analyzer | .rs | rustup component add rust-analyzer |
| Go | gopls | .go | go install golang.org/x/tools/gopls@latest |
| C/C++ | clangd | .c, .h, .cpp, .cc, .hpp | apt install clangd or brew install llvm |
| Bash | bash-language-server | .sh, .bash, .zsh | npm install -g bash-language-server |
| Java | jdtls | .java | eclipse.jdt.ls |
| CSS | vscode-css-language-server | .css, .scss, .less | npm install -g vscode-langservers-extracted |
| HTML | vscode-html-language-server | .html, .htm | npm install -g vscode-langservers-extracted |
| JSON | vscode-json-language-server | .json, .jsonc | npm install -g vscode-langservers-extracted |
Only install the servers you need. The skill auto-detects which are available and reports helpful install commands for missing ones.
The skill includes a Python script at {baseDir}/scripts/lsp-query.py. This is the LSP client -- it manages background daemons and handles all queries.
To make it callable as lsp-query from anywhere, symlink it into your PATH:
ln -sf {baseDir}/scripts/lsp-query.py /usr/local/bin/lsp-query
# or:
ln -sf {baseDir}/scripts/lsp-query.py ~/.npm-global/bin/lsp-query
Alternatively, invoke it directly:
{baseDir}/scripts/lsp-query.py <command> [args...]
Set LSP_WORKSPACE to the repo root before querying. If unset, defaults to the git root or cwd.
All line and column numbers are 1-indexed (human-friendly, matching editor display).
lsp-query definition /path/to/file.py <line> <col>
lsp-query references /path/to/file.py <line> <col>
lsp-query hover /path/to/file.py <line> <col>
lsp-query symbols /path/to/file.py
lsp-query workspace-symbols "ClassName"
lsp-query diagnostics /path/to/file.py
lsp-query completions /path/to/file.py <line> <col>
lsp-query signature /path/to/file.py <line> <col>
lsp-query rename /path/to/file.py <line> <col> new_name
lsp-query languages # Show all supported languages + install status
lsp-query servers # List running language daemons
lsp-query shutdown # Stop all daemons
lsp-query shutdown python # Stop just the Python daemon
{baseDir}/
├── SKILL.md # This file
└── scripts/
└── lsp-query.py # Python script -- multi-language LSP client + daemon manager
lsp-query.py is a self-contained Python script (~850 lines, stdlib only, no pip dependencies). It:
~/.cache/lsp-query/daemon.sock)| Variable | Default | Description |
|----------|---------|-------------|
| LSP_WORKSPACE | git root or cwd | Workspace root for LSP servers |
| LSP_SERVER | auto per language | Override server command for ALL languages |
| LSP_LANG | auto from extension | Force a specific language (bypass detection) |
| LSP_TIMEOUT | 300 | Server idle timeout in seconds |
| LSP_SOCK | ~/.cache/lsp-query/daemon.sock | Unix socket path |
export LSP_WORKSPACE=/path/to/repo
# Python
lsp-query symbols src/model.py
lsp-query hover src/model.py 42 10
lsp-query references src/model.py 42 10
# TypeScript (auto-detected from .ts extension)
lsp-query symbols src/index.ts
lsp-query definition src/app.tsx 15 8
# Rust
lsp-query symbols src/main.rs
lsp-query diagnostics src/lib.rs
# Check what's available
lsp-query languages
lsp-query servers
lsp-query shutdown to restart all servers fresh.LSP_LANG=rust lsp-query symbols myfile to force.tools
Use when the user wants to connect to, test, or use the McDonalds service at mcp.mcd.cn, including checking authentication, probing MCP endpoints, listing tools, or calling McDonalds MCP tools through a reusable local CLI.
development
Web scraping platform — Twitter/X data, Vinted marketplace, and general web scraping API
development
SlowMist AI Agent Security Review — comprehensive security framework for skills, repositories, URLs, on-chain addresses, and products (Claude Code version)
data-ai
去除中文文本中的 AI 写作痕迹,使其读起来自然。基于维基百科 AI 写作特征指南,检测 24 种 AI 模式。触发词:humanizer-cn、去除 AI 痕迹、去除 AI 写作痕迹、中文文本人性化。