Install any skill in seconds. Free to start, no credit card required.
Get Started Free →workweave/lsp-guide
Recipes for the lsp tool — resolving where a symbol is defined, every place it is used, type signatures and docs, file outlines, and compiler/type errors through a real language server (Go, TypeScript/JavaScript, Python, Rust).
Passed 15 of 18 test cases with the skill, and 9 of 18 without it.
and 7 more in the full report
8 fixed11 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 7 test cases the skill fixed. Same model, same prompt, with and without the skill.
Unlike coordinate-based queries, what single parameter is required when running `documentSymbol` or `diagnostics`?
| Checked | Without skill | With skill |
|---|---|---|
| Names path as the single required parameter. | Missed | Passed |
The instructions your model reads when the skill loads.
The lsp tool answers semantic questions through the language's own server:
it resolves through imports, types, and aliases, where grep only matches text.
Reach for it whenever the question is about a symbol; keep grep for plain
strings, comments, and file types no server supports.
| Operation | Answers | Needs |
|---|---|---|
definition | where the symbol at a position is defined | path, line, column |
references | every place the symbol at a position is used | path, line, column |
hover | type signature + docs for the symbol at a position | path, line, column |
documentSymbol | the outline (types, functions, methods) of one file | path |
diagnostics | compiler/type errors and warnings for one file | path |
Positions are 1-based, and column must point at the identifier (its first
character works). All paths resolve against the working directory.
"Where is X defined?" — from any usage site of X:
{"operation": "definition", "path": "<file>", "line": <L>, "column": <C>}.
Don't know a usage site? Find one first (see next recipe's step 1).
"Everywhere X is used" — two steps, always:
rg -n --column '\bX\b' (the --column output is
exactly the coordinate the next call needs), or documentSymbol when you
already know the file.{"operation": "references", "path": "<decl file>", "line": <L>, "column": <C>}.A grep hit list is not a references answer: it includes comments and strings, misses aliased imports, and can't distinguish same-named symbols. Step 2 is what makes the answer authoritative.
"What is this / what's its signature?" — hover at the symbol. Prefer it
over reading the definition file when you only need the type or doc comment.
test cases passed, vs 9 / 18 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.