skills/using-lsp-tools/SKILL.md
Use when mcp-language-server tools are available and you need semantic code intelligence. Triggers: 'find definition', 'find references', 'who calls this', 'rename symbol', 'type hierarchy', 'go to definition', 'where is this used', 'where is this defined', 'what type is this'. Provides navigation, refactoring, and type analysis via LSP.
npx skillsauth add axiomantic/spellbook using-lsp-toolsInstall 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.
rename_symbol handles all files. Manual Edit misses references.| Input | Required | Description |
|-------|----------|-------------|
| filePath | Yes | Absolute path to file being analyzed |
| line | Context | 1-indexed line number for position-based queries |
| column | Context | 1-indexed column for position-based queries |
| symbolName | Context | Fully-qualified name for definition/references |
| language | No | Language identifier if ambiguous |
| Output | Type | Description | |--------|------|-------------| | Symbol locations | Inline | File paths and positions from navigation queries | | Type information | Inline | Hover/signature data for understanding | | Refactoring edits | Applied | Direct code modifications from rename/actions | | Diagnostics | Inline | Errors and warnings for debugging |
| Task | LSP Tool | Fallback |
|------|----------|----------|
| Find definition | definition | Grep func X\|class X\|def X |
| Find usages | references | Grep symbol name |
| Understand symbol | hover | Read + infer |
| Rename | rename_symbol | Multi-file Edit (risky) |
| File outline | document_symbols | Grep definitions |
| Callers | call_hierarchy incoming | Grep + analyze |
| Callees | call_hierarchy outgoing | Read function |
| Type hierarchy | type_hierarchy | Grep extends/implements |
| Workspace search | workspace_symbol_resolve | Glob + Grep |
| Refactorings | code_actions | Manual |
| Signature | signature_help | Hover or read |
| Diagnostics | diagnostics | Build command |
| Format | format_document | Formatter CLI |
| Edit by line | edit_file | Built-in Edit |
Required: filePath (absolute), line/column (1-indexed), symbolName (fully-qualified for definition/references).
Use LSP when:
Use Grep/Glob when:
Exploration: document_symbols (structure) -> hover (types) -> definition (jump) -> references (usage)
Refactoring: code_actions (discover) -> rename_symbol (execute) OR references (assess impact) -> manual
Type debugging: hover (inferred) -> type_hierarchy (inheritance) -> diagnostics (errors)
Call analysis: call_hierarchy incoming = "who calls?" | outgoing = "what calls?"
Before completing:
If ANY unchecked: STOP and reconsider approach.
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment. Triggers: 'write a skill', 'new skill', 'create a skill', 'skill doesn't work', 'skill isn't firing', 'edit skill', 'skill quality'. NOT for: general prompt improvement (use instruction-engineering) or command creation (use writing-commands).
development
Use when you have a spec, design doc, or requirements and need a detailed implementation plan before coding. Triggers: 'write a plan', 'create implementation plan', 'plan this out', 'break this down into steps', 'convert design to tasks', 'implementation order'. Also invoked by develop during planning. NOT for: reviewing existing plans (use reviewing-impl-plans).
testing
Use when creating new commands, editing existing commands, or reviewing command quality. Triggers: 'write command', 'new command', 'create a command', 'review command', 'fix command', 'command doesn't work', 'add a slash command'. NOT for: skill creation (use writing-skills).
development
Use when about to claim discovery during debugging. Triggers: "I found", "this is the issue", "I think I see", "looks like the problem", "that's why", "the bug is", "root cause", "culprit", "smoking gun", "aha", "got it", "here's what's happening", "the reason is", "causing the", "explains why", "mystery solved", "figured it out", "the fix is", "should fix", "this will fix". Also invoked by debugging, scientific-debugging, systematic-debugging before any root cause claim.