Für praktische Tutorials und praktische Nutzung siehe Plugins. Für Plugin-Management in Teams und Communities siehe Plugin-Marktplätze.
Diese Referenz bietet vollständige technische Spezifikationen für das Claude Code Plugin-System, einschließlich Komponentenschemas, CLI-Befehlen und Entwicklungstools.
Plugin-Komponenten-Referenz
Dieser Abschnitt dokumentiert die vier Arten von Komponenten, die Plugins bereitstellen können.
Befehle
Plugins fügen benutzerdefinierte Slash-Befehle hinzu, die sich nahtlos in das Befehlssystem von Claude Code integrieren.
Ort: commands/
-Verzeichnis im Plugin-Stammverzeichnis
Dateiformat: Markdown-Dateien mit Frontmatter
Für vollständige Details zur Plugin-Befehlsstruktur, Aufrufmustern und Funktionen siehe Plugin-Befehle.
Agenten
Plugins können spezialisierte Subagenten für spezifische Aufgaben bereitstellen, die Claude automatisch aufrufen kann, wenn es angemessen ist.
Ort: agents/
-Verzeichnis im Plugin-Stammverzeichnis
Dateiformat: Markdown-Dateien, die Agentenfähigkeiten beschreiben
Agentenstruktur:
---
description: Worauf sich dieser Agent spezialisiert
capabilities: ["aufgabe1", "aufgabe2", "aufgabe3"]
---
# Agentenname
Detaillierte Beschreibung der Rolle des Agenten, seiner Expertise und wann Claude ihn aufrufen sollte.
## Fähigkeiten
- Spezifische Aufgabe, in der der Agent hervorragend ist
- Eine weitere spezialisierte Fähigkeit
- Wann dieser Agent anstelle anderer verwendet werden sollte
## Kontext und Beispiele
Geben Sie Beispiele dafür, wann dieser Agent verwendet werden sollte und welche Art von Problemen er löst.
Integrationspunkte:
- Agenten erscheinen in der
/agents
-Schnittstelle
- Claude kann Agenten automatisch basierend auf dem Aufgabenkontext aufrufen
- Agenten können manuell von Benutzern aufgerufen werden
- Plugin-Agenten arbeiten zusammen mit eingebauten Claude-Agenten
Hooks
Plugins können Event-Handler bereitstellen, die automatisch auf Claude Code-Ereignisse reagieren.
Ort: hooks/hooks.json
im Plugin-Stammverzeichnis oder inline in plugin.json
Format: JSON-Konfiguration mit Event-Matchern und Aktionen
Hook-Konfiguration:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"
}
]
}
]
}
}
Verfügbare Ereignisse:
PreToolUse
: Bevor Claude ein Tool verwendet
PostToolUse
: Nachdem Claude ein Tool verwendet hat
UserPromptSubmit
: Wenn der Benutzer eine Eingabeaufforderung übermittelt
Notification
: Wenn Claude Code Benachrichtigungen sendet
Stop
: Wenn Claude versucht zu stoppen
SubagentStop
: Wenn ein Subagent versucht zu stoppen
SessionStart
: Zu Beginn von Sitzungen
SessionEnd
: Am Ende von Sitzungen
PreCompact
: Bevor der Gesprächsverlauf komprimiert wird
Hook-Typen:
command
: Shell-Befehle oder Skripte ausführen
validation
: Dateiinhalte oder Projektzustand validieren
notification
: Warnungen oder Statusupdates senden
MCP-Server
Plugins können Model Context Protocol (MCP)-Server bündeln, um Claude Code mit externen Tools und Diensten zu verbinden.
Ort: .mcp.json
im Plugin-Stammverzeichnis oder inline in plugin.json
Format: Standard-MCP-Server-Konfiguration
MCP-Server-Konfiguration:
{
"mcpServers": {
"plugin-database": {
"command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
"args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
"env": {
"DB_PATH": "${CLAUDE_PLUGIN_ROOT}/data"
}
},
"plugin-api-client": {
"command": "npx",
"args": ["@company/mcp-server", "--plugin-mode"],
"cwd": "${CLAUDE_PLUGIN_ROOT}"
}
}
}
Integrationsverhalten:
- Plugin-MCP-Server starten automatisch, wenn das Plugin aktiviert ist
- Server erscheinen als Standard-MCP-Tools in Claudes Toolkit
- Server-Fähigkeiten integrieren sich nahtlos mit Claudes bestehenden Tools
- Plugin-Server können unabhängig von Benutzer-MCP-Servern konfiguriert werden
Plugin-Manifest-Schema
Die plugin.json
-Datei definiert die Metadaten und Konfiguration Ihres Plugins. Dieser Abschnitt dokumentiert alle unterstützten Felder und Optionen.
Vollständiges Schema
{
"name": "plugin-name",
"version": "1.2.0",
"description": "Kurze Plugin-Beschreibung",
"author": {
"name": "Autorenname",
"email": "[email protected]",
"url": "https://github.com/autor"
},
"homepage": "https://docs.example.com/plugin",
"repository": "https://github.com/autor/plugin",
"license": "MIT",
"keywords": ["schlüsselwort1", "schlüsselwort2"],
"commands": ["./custom/commands/special.md"],
"agents": "./custom/agents/",
"hooks": "./config/hooks.json",
"mcpServers": "./mcp-config.json"
}
Erforderliche Felder
Feld | Typ | Beschreibung | Beispiel |
---|
name | string | Eindeutige Kennung (kebab-case, keine Leerzeichen) | "deployment-tools" |
Feld | Typ | Beschreibung | Beispiel |
---|
version | string | Semantische Version | "2.1.0" |
description | string | Kurze Erklärung des Plugin-Zwecks | "Deployment-Automatisierungstools" |
author | object | Autoreninformationen | {"name": "Dev Team", "email": "[email protected]"} |
homepage | string | Dokumentations-URL | "https://docs.example.com" |
repository | string | Quellcode-URL | "https://github.com/user/plugin" |
license | string | Lizenzkennung | "MIT" , "Apache-2.0" |
keywords | array | Discovery-Tags | ["deployment", "ci-cd"] |
Komponentenpfad-Felder
Feld | Typ | Beschreibung | Beispiel |
---|
commands | string|array | Zusätzliche Befehlsdateien/-verzeichnisse | "./custom/cmd.md" oder ["./cmd1.md"] |
agents | string|array | Zusätzliche Agentendateien | "./custom/agents/" |
hooks | string|object | Hook-Konfigurationspfad oder Inline-Konfiguration | "./hooks.json" |
mcpServers | string|object | MCP-Konfigurationspfad oder Inline-Konfiguration | "./mcp.json" |
Pfadverhalten-Regeln
Wichtig: Benutzerdefinierte Pfade ergänzen Standard-Verzeichnisse - sie ersetzen sie nicht.
- Wenn
commands/
existiert, wird es zusätzlich zu benutzerdefinierten Befehlspfaden geladen
- Alle Pfade müssen relativ zum Plugin-Stammverzeichnis sein und mit
./
beginnen
- Befehle aus benutzerdefinierten Pfaden verwenden dieselben Benennungs- und Namensraum-Regeln
- Mehrere Pfade können als Arrays für Flexibilität angegeben werden
Pfadbeispiele:
{
"commands": [
"./specialized/deploy.md",
"./utilities/batch-process.md"
],
"agents": [
"./custom-agents/reviewer.md",
"./custom-agents/tester.md"
]
}
Umgebungsvariablen
${CLAUDE_PLUGIN_ROOT}
: Enthält den absoluten Pfad zu Ihrem Plugin-Verzeichnis. Verwenden Sie dies in Hooks, MCP-Servern und Skripten, um korrekte Pfade unabhängig vom Installationsort sicherzustellen.
{
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"
}
]
}
]
}
}
Plugin-Verzeichnisstruktur
Standard-Plugin-Layout
Ein vollständiges Plugin folgt dieser Struktur:
enterprise-plugin/
├── .claude-plugin/ # Metadaten-Verzeichnis
│ └── plugin.json # Erforderlich: Plugin-Manifest
├── commands/ # Standard-Befehlsort
│ ├── status.md
│ └── logs.md
├── agents/ # Standard-Agentenort
│ ├── security-reviewer.md
│ ├── performance-tester.md
│ └── compliance-checker.md
├── hooks/ # Hook-Konfigurationen
│ ├── hooks.json # Haupt-Hook-Konfiguration
│ └── security-hooks.json # Zusätzliche Hooks
├── .mcp.json # MCP-Server-Definitionen
├── scripts/ # Hook- und Utility-Skripte
│ ├── security-scan.sh
│ ├── format-code.py
│ └── deploy.js
├── LICENSE # Lizenzdatei
└── CHANGELOG.md # Versionshistorie
Das .claude-plugin/
-Verzeichnis enthält die plugin.json
-Datei. Alle anderen Verzeichnisse (commands/, agents/, hooks/) müssen im Plugin-Stammverzeichnis sein, nicht innerhalb von .claude-plugin/
.
Dateiorte-Referenz
Komponente | Standardort | Zweck |
---|
Manifest | .claude-plugin/plugin.json | Erforderliche Metadatendatei |
Befehle | commands/ | Slash-Befehl-Markdown-Dateien |
Agenten | agents/ | Subagenten-Markdown-Dateien |
Hooks | hooks/hooks.json | Hook-Konfiguration |
MCP-Server | .mcp.json | MCP-Server-Definitionen |
Debugging-Befehle
Verwenden Sie claude --debug
, um Plugin-Ladedetails zu sehen:
Dies zeigt:
- Welche Plugins geladen werden
- Alle Fehler in Plugin-Manifesten
- Befehl-, Agenten- und Hook-Registrierung
- MCP-Server-Initialisierung
Häufige Probleme
Problem | Ursache | Lösung |
---|
Plugin lädt nicht | Ungültige plugin.json | JSON-Syntax validieren |
Befehle erscheinen nicht | Falsche Verzeichnisstruktur | Sicherstellen, dass commands/ im Stammverzeichnis ist, nicht in .claude-plugin/ |
Hooks feuern nicht | Skript nicht ausführbar | chmod +x script.sh ausführen |
MCP-Server schlägt fehl | Fehlende ${CLAUDE_PLUGIN_ROOT} | Variable für alle Plugin-Pfade verwenden |
Pfadfehler | Absolute Pfade verwendet | Alle Pfade müssen relativ sein und mit ./ beginnen |
Verteilungs- und Versionierungs-Referenz
Versionsverwaltung
Folgen Sie der semantischen Versionierung für Plugin-Releases:
## Siehe auch
- [Plugins](/de/docs/claude-code/plugins) - Tutorials und praktische Nutzung
- [Plugin-Marktplätze](/de/docs/claude-code/plugin-marketplaces) - Erstellen und Verwalten von Marktplätzen
- [Slash-Befehle](/de/docs/claude-code/slash-commands) - Details zur Befehlsentwicklung
- [Subagenten](/de/docs/claude-code/sub-agents) - Agentenkonfiguration und -fähigkeiten
- [Hooks](/de/docs/claude-code/hooks) - Event-Handling und Automatisierung
- [MCP](/de/docs/claude-code/mcp) - Integration externer Tools
- [Einstellungen](/de/docs/claude-code/settings) - Konfigurationsoptionen für Plugins