MCP HubMCP Hub
Retour aux compétences

lsp-docs

blackwell-systems
Mis à jour 5 days ago
53
2
53
Voir sur GitHub
Documentationwordai

À propos

Cette compétence offre une recherche de documentation à trois niveaux de repli pour les symboles de code lorsque les informations de survol LSP standard sont manquantes ou insuffisantes. Elle vérifie séquentiellement les infos de survol, la documentation hors ligne de la chaîne d'outils, et enfin les définitions sources, particulièrement utile pour les dépendances non indexées. C'est un outil en lecture seule qui nécessite le serveur MCP agent-lsp et fonctionne avec des noms de symboles entièrement qualifiés.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add blackwell-systems/agent-lsp -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/blackwell-systems/agent-lsp
Git CloneAlternatif
git clone https://github.com/blackwell-systems/agent-lsp.git ~/.claude/skills/lsp-docs

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

Requires the agent-lsp MCP server.

lsp-docs

Three-tier documentation lookup for any symbol. Works when the language server is unavailable, when hover returns empty results, or when the symbol lives in a transitive dependency that gopls or pyright does not index.

Read-only — does not modify any files.

Invocation: User provides symbol_name in fully-qualified form (e.g. "fmt.Println", "std::vec::Vec::new", "os.path.join"). Optionally provide file_path for any file in the same module, which improves Go package resolution.


Decision table

SituationRecommended tier
Symbol in current workspaceTier 1 (hover)
Symbol in direct dependencyTier 2 (toolchain doc)
Symbol in transitive dep (not indexed by LSP)Tier 2
No LSP server availableTier 2 → Tier 3
No toolchain installed (e.g., Rust without cargo)Tier 3

Tier 1 — LSP hover (fast, live, position-based)

Call inspect_symbol with the file path and cursor position (1-based).

mcp__lsp__inspect_symbol({
  "file_path": "/abs/path/to/file.go",
  "line": 42,
  "column": 8
})

If the result contains a non-empty contents field with useful type and doc information, stop here and return it. Hover is the fastest path and should always be tried first.

If hover returns empty contents, or the language server is not initialized, proceed to Tier 2.


Tier 2 — Offline toolchain documentation (authoritative, name-based)

Call get_symbol_documentation with the fully-qualified symbol name and language_id. This fetches documentation from the local toolchain (go doc, pydoc, cargo doc) without requiring an LSP session. Works for transitive dependencies that the language server does not index.

mcp__lsp__get_symbol_documentation({
  "symbol": "fmt.Println",
  "language_id": "go",
  "file_path": "/abs/path/to/any/file/in/the/module.go",  // optional, improves Go pkg resolution
  "format": "markdown"   // optional: wraps signature in code fence
})

Interpreting the result:

  • If source == "toolchain": return the doc and signature fields to the user. These are authoritative — sourced directly from the installed toolchain, ANSI-stripped, and ready for display.
  • If source == "error": note the error field (toolchain failure reason) and proceed to Tier 3.

Tier 3 — Source definition (last resort)

Call go_to_definition to navigate to the symbol definition, then call get_symbol_source to extract the source text. This always works when the symbol exists in the workspace or module cache, even without a language server.

mcp__lsp__go_to_definition({
  "file_path": "/abs/path/to/caller.go",
  "line": 42,
  "column": 8
})
// → returns definition location

mcp__lsp__get_symbol_source({
  "file_path": "<definition file from above>",
  "line": <definition line from above>
})
// → returns full function/type source text

Present the source text to the user with a note that it is raw source, not rendered documentation.


lsp-impact integration note

Before running lsp-impact on an unfamiliar symbol, call get_symbol_documentation to understand its signature and semantics. This prevents misinterpreting the impact report due to incorrect assumptions about what the symbol does.


Example

Goal: look up documentation for http.ListenAndServe in a Go project

Tier 1 — inspect_symbol: cursor on "ListenAndServe" in main.go:14:6
  → contents: "" (empty — server not initialized)
  Proceed to Tier 2.

Tier 2 — get_symbol_documentation:
  symbol: "net/http.ListenAndServe"
  language_id: "go"
  file_path: "/Users/you/code/myapp/main.go"
  format: "markdown"

  Result:
  {
    "symbol": "net/http.ListenAndServe",
    "language": "go",
    "source": "toolchain",
    "doc": "func ListenAndServe(addr string, handler http.Handler) error\n\nListenAndServe listens on the TCP network address addr and then calls Serve...",
    "signature": "func ListenAndServe(addr string, handler http.Handler) error",
    "error": ""
  }

  source == "toolchain" → return doc and signature to user. Done.

Tier 3 — skipped (Tier 2 succeeded)

Dépôt GitHub

blackwell-systems/agent-lsp
Chemin: skills/lsp-docs
0
agentskillsai-agentsai-toolingclaudeclaude-codecode-intelligence

Compétences associées

railway-docs

Documentation

Cette compétence récupère la documentation actuelle de Railway pour répondre aux questions sur les fonctionnalités, le fonctionnement ou des URL spécifiques de la documentation. Elle garantit que les développeurs reçoivent des informations précises et à jour directement depuis les sources officielles de Railway. Utilisez-la lorsque les utilisateurs demandent comment fonctionne Railway ou font référence à la documentation de Railway.

Voir la compétence

n8n-code-python

Documentation

Cette compétence Claude offre un accompagnement expert pour écrire du code Python dans les nœuds Code de n8n, en particulier pour utiliser la bibliothèque standard de Python et travailler avec la syntaxe spéciale de n8n comme `_input`, `_json` et `_node`. Elle aide les développeurs à comprendre les limites de Python dans n8n et recommande d'utiliser JavaScript pour la plupart des workflows, tout en proposant des solutions Python pour des besoins spécifiques de transformation de données.

Voir la compétence

archon

Documentation

La compétence Archon offre une recherche sémantique alimentée par RAG et une gestion de projet via une API REST. Utilisez-la pour interroger la documentation, gérer des projets/tâches hiérarchiques et effectuer de la recherche de connaissances avec des capacités de téléchargement de documents. Priorisez toujours Archon en premier lors de la recherche dans une documentation externe avant d'utiliser d'autres sources.

Voir la compétence

n8n-code-javascript

Documentation

Cette compétence Claude fournit des conseils d'expert pour écrire du code JavaScript dans les nœuds Code d'n8n. Elle couvre la syntaxe essentielle spécifique à n8n comme les variables `$input`/`$json`, les assistants HTTP et la gestion des DateTime, tout en résolvant les erreurs courantes. Utilisez-la lors du développement de workflows n8n nécessitant un traitement JavaScript personnalisé dans les nœuds Code.

Voir la compétence