MCP HubMCP Hub
Volver a habilidades

lsp-local-symbols

blackwell-systems
Actualizado 6 days ago
53
2
53
Ver en GitHub
Otrogeneral

Acerca de

Esta habilidad proporciona un análisis rápido de símbolos a nivel de archivo utilizando LSP, permitiendo a los desarrolladores encontrar usos de símbolos dentro de un archivo, listar símbolos definidos y obtener información de tipos en posiciones específicas. Es ideal para análisis de ámbito local sin búsquedas en todo el espacio de trabajo cuando se utiliza el servidor MCP agent-lsp. Sus capacidades clave incluyen búsqueda de símbolos del documento, resaltado e información de despliegue para una exploración de código focalizada.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add blackwell-systems/agent-lsp -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/blackwell-systems/agent-lsp
Git CloneAlternativo
git clone https://github.com/blackwell-systems/agent-lsp.git ~/.claude/skills/lsp-local-symbols

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

Requires the agent-lsp MCP server.

lsp-local-symbols

File-scoped symbol analysis using the language server index. Faster than workspace-wide search for questions about a single file: what symbols are defined here, where is this symbol used within the file, and what type does it have.

Read-only — does not modify any files.

When to use

  • "Where is x used in this file?" — use get_document_highlights
  • "What functions and types are defined in this file?" — use list_symbols
  • "What type does this symbol have?" — use inspect_symbol
  • Reviewing a file before editing — get the full symbol map first
  • Local refactor scoping — confirm a symbol is only used in one place before inlining it

Use /lsp-impact instead when you need workspace-wide callers and cross-file references. Use /lsp-dead-code when auditing exported symbols for zero callers.

When NOT to use

get_document_highlights is file-scoped by design — it only finds usages within the open file. If a symbol is used across multiple files, this skill will not find those. Use find_references (via /lsp-impact) for cross-file analysis.


Workflow

Step 1 — Open the file

Open the file so the language server tracks it:

mcp__lsp__open_document
  file_path: "/abs/path/to/file.go"
  language_id: "go"              # go, typescript, python, rust, etc.

Step 2 — List all symbols in the file

Get the full symbol tree for the file:

mcp__lsp__list_symbols
  file_path: "/abs/path/to/file.go"

This returns all functions, types, variables, constants, and methods defined in the file — including nested symbols (methods on types, fields in structs).

Use this to:

  • Understand the file's structure before editing
  • Find the exact position of a named symbol
  • See what a file exposes before reading it in full

Reading the output: Each symbol has a range (full body including braces) and a selectionRange (just the name). Coordinates are 1-based. Use selectionRange.start.line and selectionRange.start.character as inputs to get_document_highlights and inspect_symbol.

Step 3 — Find all usages within the file

Call get_document_highlights at the symbol's position:

mcp__lsp__get_document_highlights
  file_path: "/abs/path/to/file.go"
  line: <selectionRange.start.line from Step 2>
  column: <selectionRange.start.character from Step 2>

Returns every occurrence of the symbol within the file, classified as:

  • read — the symbol is read here
  • write — the symbol is assigned/mutated here
  • text — a text match (fallback when semantic classification isn't available)

Speed note: get_document_highlights is significantly faster than find_references for file-local queries — it does not scan the entire workspace index. Use it first; escalate to find_references only if you need cross-file results.

Step 4 — Get type information (optional)

For any position of interest, get the type signature and docs:

mcp__lsp__inspect_symbol
  file_path: "/abs/path/to/file.go"
  line: <line>
  column: <column>

Returns the hover text: type signature, documentation, and inferred types. Useful for confirming what a symbol is before deciding to rename or inline it.


Output format

Report results in three sections (omit any section with no content):

## Symbols in <filename>

### Functions / Methods
- `FuncName` — line N–M
- `(Type) MethodName` — line N–M

### Types
- `TypeName` (struct/interface/alias) — line N

### Variables / Constants
- `ConstName` = value — line N

---

## Usages of `<symbol>` in <filename>

N occurrences across M lines:
- line 12 [write] — assignment
- line 34 [read]  — passed as argument
- line 67 [read]  — returned

---

## Type info

`<symbol>`: <type signature from inspect_symbol>

Decision guide

QuestionTool
What's in this file?list_symbols
Where is X used in this file?get_document_highlights
What type is X?inspect_symbol
Is X safe to inline (used once)?get_document_highlights — count occurrences
Is X used outside this file?Use /lsp-impact instead
Is X dead code (no callers anywhere)?Use /lsp-dead-code instead

Example

# "Where is the `config` variable used in server.go?"

open_document(file_path="/repo/server.go", language_id="go")
list_symbols(file_path="/repo/server.go")
  → finds `config` at selectionRange line 42, col 2

get_document_highlights(file_path="/repo/server.go", line=42, column=2)
  → returns 7 occurrences: 1 write (line 42), 6 reads

inspect_symbol(file_path="/repo/server.go", line=42, column=2)
  → "config *Config — the parsed server configuration"

Repositorio GitHub

blackwell-systems/agent-lsp
Ruta: skills/lsp-local-symbols
0
agentskillsai-agentsai-toolingclaudeclaude-codecode-intelligence

Habilidades relacionadas

llamaguard

Otro

LlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.

Ver habilidad

cost-optimization

Otro

Esta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.

Ver habilidad

quantizing-models-bitsandbytes

Otro

Esta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.

Ver habilidad

dispatching-parallel-agents

Otro

Esta Skill de Claude despliega múltiples agentes para investigar y solucionar 3 o más problemas independientes de forma concurrente. Está diseñada para escenarios que involucran fallos no relacionados que pueden resolverse sin estado compartido o dependencias. Su capacidad principal es la resolución paralela de problemas, asignando un agente por cada dominio problemático independiente para maximizar la eficiencia.

Ver habilidad