Esta skill debe usarse cuando el usuario pide "explorar con LSP", "usar LSP chain", "indexar codebase", "navegar codigo con precision", "explorar TypeScript/JavaScript/Go", o necesita una metodologia estructurada para explorar codebases usando Language Server Protocol en lugar de lectura de archivos.
View on GitHubplugins/lsp-toolkit/skills/lsp-chain/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/DieGopherLT/dotclaudefiles/blob/main/plugins/lsp-toolkit/skills/lsp-chain/SKILL.md -a claude-code --skill lsp-chainInstallation paths:
.claude/skills/lsp-chain/# The LSP Chain Methodology
Structured approach for code exploration using Language Server Protocol, providing zero false positives and significant token savings compared to file reading.
## Supported Languages
- TypeScript (.ts, .tsx)
- JavaScript (.js, .jsx)
- Go (.go)
For other languages (Python, Rust, C#, etc.), use standard Glob/Grep/Read approach.
## The LSP Chain Flow
```text
[Glob/Grep] -> Candidate file
|
[Already indexed?] --Yes--> Skip documentSymbol
| No |
v v
[documentSymbol] <---------------+
|
[Selective Read] -> Only if implementation context needed
|
[hover/goToDefinition] -> Understand symbol
|
[findReferences/incomingCalls] -> Expand to other files
|
[Dead end?]
| No | Yes
v v
next file [Glob/Grep] -> New chain
```
## Key Concepts
### Dead End
A dead end occurs when:
- References lead to external dependencies (node_modules, stdlib)
- Symbol is a leaf (no internal dependencies)
When hitting a dead end, start a new chain from a different file.
### Memoization Rules
- `documentSymbol` only once per file (no re-indexing)
- `Read` optional even on already indexed files
- Cache is contextual during the session
## Tool Selection Guide
| Tool | Use For |
|------|---------|
| `Glob/Grep` | Initial discovery, non-code files, text patterns |
| `documentSymbol` | File index (functions, classes, exports) |
| `hover` | Symbol types and documentation |
| `goToDefinition` | Jump to definition |
| `findReferences` | All usages of a symbol |
| `incomingCalls/outgoingCalls` | Trace call flow |
## Workflow Phases
### Phase 1: Discovery
Use Glob/Grep to find candidate files related to the task:
```bash
# Routes/handlers
Glob: **/routes/**/*.{ts,js,go}
Glob: **/handlers/**/*.{ts,js,go}
# Services
Glob: **/services/**/*.{ts,js,go}
# By pattern
Grep: "router\.(get|post|put|delete)"
Grep: "fetch|axios|http\."
```
### Phase 2: Ind