lsp-local-symbols
À propos
Cette compétence fournit une analyse rapide des symboles à l'échelle du fichier en utilisant LSP, permettant aux développeurs de trouver les utilisations de symboles dans un fichier, de lister les symboles définis et d'obtenir des informations de type à des positions spécifiques. Elle est idéale pour l'analyse à portée locale sans recherches à l'échelle de l'espace de travail lors de l'utilisation du serveur MCP agent-lsp. Les capacités clés incluent la recherche de symboles dans le document, la mise en évidence et les informations au survol pour une exploration de code ciblée.
Installation rapide
Claude Code
Recommandénpx skills add blackwell-systems/agent-lsp -a claude-code/plugin add https://github.com/blackwell-systems/agent-lspgit clone https://github.com/blackwell-systems/agent-lsp.git ~/.claude/skills/lsp-local-symbolsCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
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
xused in this file?" — useget_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 herewrite— the symbol is assigned/mutated heretext— 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
| Question | Tool |
|---|---|
| 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"
Dépôt GitHub
Questions fréquentes
Qu’est-ce que le Skill lsp-local-symbols ?
lsp-local-symbols est un Skill Claude créé par blackwell-systems. Un Skill regroupe des instructions et des ressources que Claude charge à la demande pour effectuer des tâches liées à lsp-local-symbols sans consigne supplémentaire.
Comment installer lsp-local-symbols ?
Utilisez les commandes d’installation de cette page : ajoutez lsp-local-symbols à Claude Code comme plugin ou clonez son dépôt dans votre dossier skills, puis redémarrez Claude pour charger le Skill.
À quelle catégorie appartient lsp-local-symbols ?
lsp-local-symbols appartient à la catégorie Autre.
lsp-local-symbols est-il gratuit ?
Oui. lsp-local-symbols est référencé sur AIMCP et son installation est gratuite.
Compétences associées
LlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.
Cette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.
Cette compétence Claude analyse les marchés des paris sportifs, incluant les spreads, les over/under et les paris spéciaux, en examinant les tendances historiques et les statistiques situationnelles pour identifier les paris à valeur ajoutée. Elle fournit une sortie en markdown structuré avec des recommandations actionnables à des fins éducatives. Les développeurs doivent l'utiliser pour des outils d'analyse de paris sportifs tout en notant qu'elle est conçue uniquement pour le divertissement et l'éducation.
Cette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.
