MCP HubMCP Hub
SKILL·62AECC

lsp-implement

blackwell-systems
Mis à jour 2 months ago
3 vues
117
8
117
Voir sur GitHub
Autregeneral

À propos

Cette compétence identifie toutes les implémentations concrètes d'une interface ou d'un type abstrait en utilisant les capacités LSP, aidant les développeurs à comprendre les hiérarchies de types avant d'apporter des modifications. Elle est en lecture seule et nécessite le serveur MCP agent-lsp avec prise en charge d'implementationProvider. Utilisez-la lors de la modification de signatures d'interface ou de types de base pour visualiser tous les sous-types concerné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-implement

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

Documentation

Requires the agent-lsp MCP server.

lsp-implement

Find every concrete type that implements an interface, or every subtype of an abstract type. Read-only — does not modify any files.

Use this skill before changing an interface signature, adding a method to an interface, or removing a base-type method. It tells you every type that must be updated.

Invocation: User provides type_name (e.g. "Handler", "io.Reader"). Optionally provide workspace_root.


Prerequisites

Check server capabilities — go_to_implementation and type_hierarchy are optional features not implemented by all language servers:

mcp__lsp__get_server_capabilities()

Note which of go_to_implementation and type_hierarchy appear in supported_tools. The steps below depend on this result.

If neither is supported, report "Server does not support implementation lookup" and stop.


Step 1 — Locate the interface or type

mcp__lsp__go_to_symbol({
  "symbol_path": "<TypeName>",
  "workspace_root": "/abs/path"   // optional
})
→ returns: file, line, column (1-indexed)

Open the file so the language server tracks it:

mcp__lsp__open_document({
  "file_path": "<file from go_to_symbol>"
})

Record file, line, column for subsequent steps.


Step 2 — Find all implementations

Only if go_to_implementation appears in supported_tools.

mcp__lsp__go_to_implementation({
  "file_path": "<file>",
  "line": <line>,
  "column": <column>
})

Returns a list of locations — each is a concrete type that satisfies the interface. Group by file. Record type names and locations.

If go_to_implementation is not supported: skip; note in report.


Step 3 — Type hierarchy (subtypes and supertypes)

Only if type_hierarchy appears in supported_tools.

mcp__lsp__type_hierarchy({
  "file_path": "<file>",
  "line": <line>,
  "column": <column>,
  "direction": "subtypes"   // use "both" to also see what this type extends
})

subtypes returns concrete types that extend or embed this type. supertypes returns what this type itself implements.

Cross-reference with Step 2 results — the union gives the complete implementation surface.

If type_hierarchy is not supported: skip; note in report.


Step 4 — Report

## Implementation Report: <TypeName>

### Definition
- File: <file>:<line>
- Kind: interface / abstract type / base struct

### Concrete Implementations (<N> found)
- TypeA — <file>:<line>
- TypeB — <file>:<line>
...

### Type Hierarchy
Supertypes: [list or "none"]
Subtypes: [list or "same as implementations above" or "not supported"]

### Risk Assessment
| N implementations | Recommendation |
|---|---|
| 0 | Interface unused or no external implementors found. May be internal-only. |
| 1–3 | Low risk. All implementors can be updated together. |
| 4–10 | Medium risk. Plan updates package by package. |
| > 10 | High risk. Changing the interface is a breaking API change. |

Common use cases

Before adding a method to an interface: Run lsp-implement to find all types that will need the new method. Each implementation site must be updated — this is your required change list.

Before removing a method: Find all types that implement it. Check whether any external (outside this repo) packages may be affected.

Understanding polymorphism in an unfamiliar codebase: Run lsp-implement on the primary interface to see the full type hierarchy before making any changes.


Language notes

Languagego_to_implementation finds...
GoAll types with matching method sets
TypeScriptAll classes implementing the interface
Java/C#All classes/structs implementing the interface
RustAll structs with impl Trait for ...

For Go: go_to_implementation on an interface finds all types that satisfy it, even without an explicit implements declaration.

Dépôt GitHub

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

Questions fréquentes

Qu’est-ce que le Skill lsp-implement ?

lsp-implement 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-implement sans consigne supplémentaire.

Comment installer lsp-implement ?

Utilisez les commandes d’installation de cette page : ajoutez lsp-implement à 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-implement ?

lsp-implement appartient à la catégorie Autre.

lsp-implement est-il gratuit ?

Oui. lsp-implement est référencé sur AIMCP et son installation est gratuite.

Compétences associées

llamaguard
Autre

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.

Voir la compétence
cost-optimization
Autre

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.

Voir la compétence
sports-betting-analyzer
Autre

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.

Voir la compétence
quantizing-models-bitsandbytes
Autre

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.

Voir la compétence