前端安装
- 作者仓库星标 0
- 作者更新于 实时读取
- 作者仓库 skills-registry
- 领域
- AI 智能
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 88 / 100 · 社区维护
- 作者 / 版本 / 许可
- @tomevault-io · 未声明 license
- Token 消耗评级
- 低消耗
- 接入复杂程度
- 即装即用
- 是否需要外部 API Key
- 不需要
- 兼容的系统
- macOS · Linux · Windows
- 底层运行要求
- Python >=3.10
- 文件与系统权限
-
- 只读
- 读取环境变量
- 允许写入 / 修改
- 网络行为
- 仅限本地
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: lsp
description: Multi-language code navigation via persistent LSP daemons. Supports Python (pyright), TypeScript…
category: AI 智能
runtime: Python
---
# lsp 输出预览
## PART A: 任务判断
- 适用问题:提示词、Agent 工作流、模型评估或自动化推理。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“Supported Languages / Setup / Prerequisites”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于提示词、Agent 工作流、模型评估或自动化推理,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“Supported Languages / Setup / Prerequisites”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、读取环境变量、写入/修改文件、主要在本地完成、通常不需要额外 API Key 给出执行前确认项。
## Running Rules
- 读取文件、读取环境变量、写入/修改文件;主要在本地完成;通常不需要额外 API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文出现了 `/usr`、`/path` 这类斜杠命令;如果你的 Agent 支持命令触发,优先用命令开场,再补充目标和边界。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、读取环境变量、写入/修改文件。
先用一个小任务确认它会围绕“Supported Languages / Setup / Prerequisites”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: lsp
description: Multi-language code navigation via persistent LSP daemons. Supports Python (pyright), TypeScript…
category: AI 智能
source: tomevault-io/skills-registry
---
# lsp
## 什么时候使用
- 把 AI / Agent方向的常用动作沉淀成 Agent 可调用的技能 适合处理AI Agent、提示词、模型评估与自动化推理,核心价值是把输入、判断、执行、验证和交付边界固定下来,避免 Agent 泛泛回答。 把任务拆成可执行、可检查…
- 面向提示词、Agent 工作流、模型评估或自动化推理,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「Supported Languages / Setup / Prerequisites」组织步骤,不把推断写成作者事实。
- 读取文件、读取环境变量、写入/修改文件;主要在本地完成;通常不需要额外 API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "lsp" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> Supported Languages / Setup / Prerequisites
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> Python | 读取文件、读取环境变量、写入/修改文件 | 主要在本地完成
安全层 -> 通常不需要额外 API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} LSP Code Navigation
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:
- Find where something is defined
- Find all usages of a symbol
- Get type signatures or docstrings
- List all classes/functions in a file
- Check for type errors before running code
- Search for a symbol across an entire workspace
Supported Languages
| 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.
Setup
Prerequisites
- Python 3.10+ (for the client script itself -- stdlib only, no pip deps)
- At least one language server installed (see table above)
Installation
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...]
Configuration
Set LSP_WORKSPACE to the repo root before querying. If unset, defaults to the git root or cwd.
Commands
All line and column numbers are 1-indexed (human-friendly, matching editor display).
Go to Definition
lsp-query definition /path/to/file.py <line> <col>
Find References
lsp-query references /path/to/file.py <line> <col>
Hover (Type Info)
lsp-query hover /path/to/file.py <line> <col>
Document Symbols
lsp-query symbols /path/to/file.py
Workspace Symbol Search
lsp-query workspace-symbols "ClassName"
Diagnostics
lsp-query diagnostics /path/to/file.py
Completions
lsp-query completions /path/to/file.py <line> <col>
Signature Help
lsp-query signature /path/to/file.py <line> <col>
Rename Preview
lsp-query rename /path/to/file.py <line> <col> new_name
Server Management
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
What's Included
{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:
- Forks a single background daemon process on first use
- The daemon lazy-starts language servers as needed (e.g., pyright for .py, typescript-language-server for .ts)
- Communicates with the daemon over a Unix socket (
~/.cache/lsp-query/daemon.sock) - Translates CLI commands into LSP JSON-RPC requests and prints human-readable results
- Each language server auto-stops after 5 minutes idle; the daemon itself stops when all servers are idle
Environment Variables
| 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 |
Examples
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
Troubleshooting
- "Server not found for X": The language server binary isn't installed. The error message includes the install command.
- "could not connect to LSP daemon": Daemon failed to start. Verify Python 3.10+ is available.
- Import errors in diagnostics: Expected when packages aren't installed in the current Python environment. These resolve on machines with the correct venv.
- Stale results: Run
lsp-query shutdownto restart all servers fresh. - Slow first query per language: Each server takes 1-2 seconds to cold-start. Subsequent queries to the same language are ~200ms.
- Wrong language detected: Use
LSP_LANG=rust lsp-query symbols myfileto force.
Source: AgentWorkers/skills — distributed by TomeVault.
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核