Zurück zu Fähigkeiten

lsp-implement

blackwell-systems
Aktualisiert 5 days ago
53
2
53
Auf GitHub ansehen
Anderegeneral

Über

Diese Fähigkeit findet alle konkreten Implementierungen eines Interfaces oder abstrakten Typs mithilfe von LSP-Funktionen und hilft Entwicklern, Typ-Hierarchien zu verstehen, bevor Änderungen vorgenommen werden. Sie ist schreibgeschützt und erfordert den agent-lsp MCP-Server mit ImplementationProvider-Unterstützung. Verwenden Sie sie bei der Änderung von Interface-Signaturen oder Basistypen, um alle betroffenen Subtypen einzusehen.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add blackwell-systems/agent-lsp -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/blackwell-systems/agent-lsp
Git CloneAlternativ
git clone https://github.com/blackwell-systems/agent-lsp.git ~/.claude/skills/lsp-implement

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation

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.

GitHub Repository

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

Verwandte Skills

llamaguard

Andere

LlamaGuard ist Metas 7-8B-Parameter-Modell zur Moderation von LLM-Eingaben und -Ausgaben in sechs Sicherheitskategorien wie Gewalt und Hassrede. Es bietet eine Genauigkeit von 94-95 % und kann mit vLLM, Hugging Face oder Amazon SageMaker eingesetzt werden. Nutzen Sie diese Skill, um Inhaltsfilterung und Sicherheitsguardrails einfach in Ihre KI-Anwendungen zu integrieren.

Skill ansehen

cost-optimization

Andere

Diese Claude Skill unterstützt Entwickler bei der Optimierung von Cloud-Kosten durch Ressourcen-Dimensionierung, Tagging-Strategien und Ausgabenanalysen. Sie bietet einen Rahmen zur Senkung von Cloud-Ausgaben und zur Implementierung von Kosten-Governance für AWS, Azure und GCP. Nutzen Sie sie, wenn Sie Infrastrukturkosten analysieren, Ressourcen richtig dimensionieren oder Budgetvorgaben einhalten müssen.

Skill ansehen

quantizing-models-bitsandbytes

Andere

Diese Fähigkeit quantisiert LLMs auf 8-Bit- oder 4-Bit-Präzision mittels bitsandbytes und erreicht dabei eine Speicherreduzierung von 50–75 % bei minimalem Genauigkeitsverlust. Sie ist ideal für den Betrieb größerer Modelle mit begrenztem GPU-Speicher oder zur Beschleunigung von Inferenzvorgängen und unterstützt Formate wie INT8, NF4 und FP4. Die Fähigkeit integriert sich in HuggingFace Transformers und ermöglicht QLoRA-Training sowie 8-Bit-Optimierer.

Skill ansehen

dispatching-parallel-agents

Andere

Diese Claude-Fähigkeit verteilt mehrere Agenten, um drei oder mehr unabhängige Probleme gleichzeitig zu untersuchen und zu beheben. Sie ist für Szenarien konzipiert, die unabhängige Fehler umfassen, die ohne gemeinsamen Zustand oder Abhängigkeiten gelöst werden können. Die Kernfähigkeit ist die parallele Problemlösung, bei der pro unabhängigem Problembereich ein Agent zugewiesen wird, um die Effizienz zu maximieren.

Skill ansehen