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

FeldTypBeschreibungBeispiel
namestringEindeutige Kennung (kebab-case, keine Leerzeichen)"deployment-tools"

Metadatenfelder

FeldTypBeschreibungBeispiel
versionstringSemantische Version"2.1.0"
descriptionstringKurze Erklärung des Plugin-Zwecks"Deployment-Automatisierungstools"
authorobjectAutoreninformationen{"name": "Dev Team", "email": "[email protected]"}
homepagestringDokumentations-URL"https://docs.example.com"
repositorystringQuellcode-URL"https://github.com/user/plugin"
licensestringLizenzkennung"MIT", "Apache-2.0"
keywordsarrayDiscovery-Tags["deployment", "ci-cd"]

Komponentenpfad-Felder

FeldTypBeschreibungBeispiel
commandsstring|arrayZusätzliche Befehlsdateien/-verzeichnisse"./custom/cmd.md" oder ["./cmd1.md"]
agentsstring|arrayZusätzliche Agentendateien"./custom/agents/"
hooksstring|objectHook-Konfigurationspfad oder Inline-Konfiguration"./hooks.json"
mcpServersstring|objectMCP-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

KomponenteStandardortZweck
Manifest.claude-plugin/plugin.jsonErforderliche Metadatendatei
Befehlecommands/Slash-Befehl-Markdown-Dateien
Agentenagents/Subagenten-Markdown-Dateien
Hookshooks/hooks.jsonHook-Konfiguration
MCP-Server.mcp.jsonMCP-Server-Definitionen

Debugging- und Entwicklungstools

Debugging-Befehle

Verwenden Sie claude --debug, um Plugin-Ladedetails zu sehen:
claude --debug
Dies zeigt:
  • Welche Plugins geladen werden
  • Alle Fehler in Plugin-Manifesten
  • Befehl-, Agenten- und Hook-Registrierung
  • MCP-Server-Initialisierung

Häufige Probleme

ProblemUrsacheLösung
Plugin lädt nichtUngültige plugin.jsonJSON-Syntax validieren
Befehle erscheinen nichtFalsche VerzeichnisstrukturSicherstellen, dass commands/ im Stammverzeichnis ist, nicht in .claude-plugin/
Hooks feuern nichtSkript nicht ausführbarchmod +x script.sh ausführen
MCP-Server schlägt fehlFehlende ${CLAUDE_PLUGIN_ROOT}Variable für alle Plugin-Pfade verwenden
PfadfehlerAbsolute Pfade verwendetAlle 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