SpyBara
Go Premium

plugins.md 2026-05-07 22:59 UTC to 2026-05-08 22:00 UTC

9 added, 1 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Plugins erstellen

Erstellen Sie benutzerdefinierte Plugins, um Claude Code mit Skills, Agents, Hooks und MCP-Servern zu erweitern.

Plugins ermöglichen es Ihnen, Claude Code mit benutzerdefinierten Funktionen zu erweitern, die projektübergreifend und teamübergreifend freigegeben werden können. Diese Anleitung behandelt die Erstellung eigener Plugins mit Skills, Agents, Hooks und MCP-Servern.

Möchten Sie vorhandene Plugins installieren? Siehe Plugins entdecken und installieren. Für vollständige technische Spezifikationen siehe Plugins-Referenz.

Wann Plugins vs. eigenständige Konfiguration verwenden

Claude Code unterstützt zwei Möglichkeiten, um benutzerdefinierte Skills, Agents und Hooks hinzuzufügen:

Ansatz Skill-Namen Am besten für
Eigenständig (.claude/-Verzeichnis) /hello Persönliche Workflows, projektspezifische Anpassungen, schnelle Experimente
Plugins (Verzeichnisse mit .claude-plugin/plugin.json) /plugin-name:hello Freigabe für Teamkollegen, Verteilung an die Community, versionierte Releases, wiederverwendbar über Projekte hinweg

Verwenden Sie eigenständige Konfiguration, wenn:

  • Sie Claude Code für ein einzelnes Projekt anpassen
  • Die Konfiguration persönlich ist und nicht freigegeben werden muss
  • Sie mit Skills oder Hooks experimentieren, bevor Sie diese verpacken
  • Sie kurze Skill-Namen wie /hello oder /deploy möchten

Verwenden Sie Plugins, wenn:

  • Sie Funktionen mit Ihrem Team oder der Community teilen möchten
  • Sie die gleichen Skills/Agents über mehrere Projekte hinweg benötigen
  • Sie Versionskontrolle und einfache Updates für Ihre Erweiterungen möchten
  • Sie über einen Marketplace verteilen
  • Sie mit Namespace-Skills wie /my-plugin:hello einverstanden sind (Namespacing verhindert Konflikte zwischen Plugins)

Schnellstart

Dieser Schnellstart führt Sie durch die Erstellung eines Plugins mit einem benutzerdefinierten Skill. Sie erstellen ein Manifest (die Konfigurationsdatei, die Ihr Plugin definiert), fügen einen Skill hinzu und testen ihn lokal mit dem Flag --plugin-dir.

Voraussetzungen

Erstellen Sie Ihr erstes Plugin

1

Erstellen Sie das Plugin-Verzeichnis

Jedes Plugin befindet sich in seinem eigenen Verzeichnis, das ein Manifest und Ihre Skills, Agents oder Hooks enthält. Erstellen Sie jetzt eines:

mkdir my-first-plugin
2

Erstellen Sie das Plugin-Manifest

Die Manifestdatei unter .claude-plugin/plugin.json definiert die Identität Ihres Plugins: seinen Namen, die Beschreibung und die Version. Claude Code verwendet diese Metadaten, um Ihr Plugin im Plugin-Manager anzuzeigen.

Erstellen Sie das .claude-plugin-Verzeichnis in Ihrem Plugin-Ordner:

mkdir my-first-plugin/.claude-plugin

Erstellen Sie dann my-first-plugin/.claude-plugin/plugin.json mit diesem Inhalt:

{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
Feld Zweck
name Eindeutige Kennung und Skill-Namespace. Skills werden mit diesem Präfix versehen (z. B. /my-first-plugin:hello).
description Wird im Plugin-Manager angezeigt, wenn Sie Plugins durchsuchen oder installieren.
version Optional. Falls gesetzt, erhalten Benutzer nur Updates, wenn Sie dieses Feld erhöhen. Falls weggelassen und Ihr Plugin wird über Git verteilt, wird der Commit-SHA verwendet und jeder Commit zählt als neue Version. Siehe Versionsverwaltung.
author Optional. Hilfreich für die Zuordnung.

Für zusätzliche Felder wie homepage, repository und license siehe das vollständige Manifest-Schema.

3

Fügen Sie einen Skill hinzu

Skills befinden sich im Verzeichnis skills/. Jeder Skill ist ein Ordner, der eine Datei SKILL.md enthält. Der Ordnername wird zum Skill-Namen, mit dem Präfix des Plugin-Namespace (hello/ in einem Plugin namens my-first-plugin erstellt /my-first-plugin:hello).

Erstellen Sie ein Skill-Verzeichnis in Ihrem Plugin-Ordner:

mkdir -p my-first-plugin/skills/hello

Erstellen Sie dann my-first-plugin/skills/hello/SKILL.md mit diesem Inhalt:

---
description: Greet the user with a friendly message
disable-model-invocation: true
---

Greet the user warmly and ask how you can help them today.
4

Testen Sie Ihr Plugin

Führen Sie Claude Code mit dem Flag --plugin-dir aus, um Ihr Plugin zu laden:

claude --plugin-dir ./my-first-plugin

Sobald Claude Code startet, versuchen Sie Ihren neuen Skill:

/my-first-plugin:hello

Sie sehen Claude mit einer Begrüßung antworten. Führen Sie /help aus, um Ihren Skill unter dem Plugin-Namespace aufgelistet zu sehen.

5

Fügen Sie Skill-Argumente hinzu

Machen Sie Ihren Skill dynamisch, indem Sie Benutzereingaben akzeptieren. Der Platzhalter $ARGUMENTS erfasst jeden Text, den der Benutzer nach dem Skill-Namen bereitstellt.

Aktualisieren Sie Ihre Datei SKILL.md:

---
description: Greet the user with a personalized message
---

# Hello Skill

Greet the user named "$ARGUMENTS" warmly and ask how you can help them today. Make the greeting personal and encouraging.

Führen Sie /reload-plugins aus, um die Änderungen zu übernehmen, und versuchen Sie dann den Skill mit Ihrem Namen:

/my-first-plugin:hello Alex

Claude wird Sie beim Namen begrüßen. Weitere Informationen zum Übergeben von Argumenten an Skills finden Sie unter Skills.

Sie haben erfolgreich ein Plugin mit diesen Schlüsselkomponenten erstellt und getestet:

  • Plugin-Manifest (.claude-plugin/plugin.json): beschreibt die Metadaten Ihres Plugins
  • Skills-Verzeichnis (skills/): enthält Ihre benutzerdefinierten Skills
  • Skill-Argumente ($ARGUMENTS): erfasst Benutzereingaben für dynamisches Verhalten

Übersicht über die Plugin-Struktur

Sie haben ein Plugin mit einem Skill erstellt, aber Plugins können viel mehr enthalten: benutzerdefinierte Agents, Hooks, MCP-Server und LSP-Server.

Verzeichnis Speicherort Zweck
.claude-plugin/ Plugin-Root Enthält plugin.json-Manifest (optional, wenn Komponenten Standardspeicherorte verwenden)
skills/ Plugin-Root Skills als <name>/SKILL.md-Verzeichnisse
commands/ Plugin-Root Skills als flache Markdown-Dateien. Verwenden Sie skills/ für neue Plugins
agents/ Plugin-Root Benutzerdefinierte Agent-Definitionen
hooks/ Plugin-Root Event-Handler in hooks.json
.mcp.json Plugin-Root MCP-Server-Konfigurationen
.lsp.json Plugin-Root LSP-Server-Konfigurationen für Code-Intelligenz
monitors/ Plugin-Root Hintergrund-Monitor-Konfigurationen in monitors.json
bin/ Plugin-Root Ausführbare Dateien, die zum PATH des Bash-Tools hinzugefügt werden, während das Plugin aktiviert ist
settings.json Plugin-Root Standard-Einstellungen, die angewendet werden, wenn das Plugin aktiviert ist

Entwickeln Sie komplexere Plugins

Sobald Sie sich mit grundlegenden Plugins vertraut gemacht haben, können Sie anspruchsvollere Erweiterungen erstellen.

Fügen Sie Skills zu Ihrem Plugin hinzu

Plugins können Agent-Skills enthalten, um die Fähigkeiten von Claude zu erweitern. Skills werden vom Modell aufgerufen: Claude verwendet sie automatisch basierend auf dem Task-Kontext.

Fügen Sie ein Verzeichnis skills/ auf Ihrer Plugin-Root mit Skill-Ordnern hinzu, die SKILL.md-Dateien enthalten:

my-plugin/
├── .claude-plugin/
│   └── plugin.json
└── skills/
    └── code-review/
        └── SKILL.md

Jede SKILL.md enthält YAML-Frontmatter und Anweisungen. Fügen Sie eine description ein, damit Claude weiß, wann der Skill verwendet werden soll:

---
description: Reviews code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
---

When reviewing code, check for:
1. Code organization and structure
2. Error handling
3. Security concerns
4. Test coverage

Nach der Installation des Plugins führen Sie /reload-plugins aus, um die Skills zu laden. Für vollständige Anleitung zur Skill-Erstellung, einschließlich progressiver Offenlegung und Tool-Einschränkungen, siehe Agent-Skills.

Fügen Sie LSP-Server zu Ihrem Plugin hinzu

LSP-Plugins (Language Server Protocol) geben Claude Echtzeit-Code-Intelligenz. Wenn Sie eine Sprache unterstützen müssen, die kein offizielles LSP-Plugin hat, können Sie ein eigenes erstellen, indem Sie eine .lsp.json-Datei zu Ihrem Plugin hinzufügen:

{
  "go": {
    "command": "gopls",
    "args": ["serve"],
    "extensionToLanguage": {
      ".go": "go"
    }
  }
}

Benutzer, die Ihr Plugin installieren, müssen die Language-Server-Binärdatei auf ihrem Computer installiert haben.

Für vollständige LSP-Konfigurationsoptionen siehe LSP-Server.

Fügen Sie Hintergrund-Monitore zu Ihrem Plugin hinzu

Hintergrund-Monitore ermöglichen es Ihrem Plugin, Protokolle, Dateien oder externen Status im Hintergrund zu überwachen und Claude zu benachrichtigen, wenn Ereignisse eintreffen. Claude Code startet jeden Monitor automatisch, wenn das Plugin aktiv ist, sodass Sie Claude nicht anweisen müssen, die Überwachung zu starten.

Fügen Sie eine Datei monitors/monitors.json auf der Plugin-Root mit einem Array von Monitor-Einträgen hinzu:

[
  {
    "name": "error-log",
    "command": "tail -F ./logs/error.log",
    "description": "Application error log"
  }
]

Jede stdout-Zeile aus command wird Claude während der Sitzung als Benachrichtigung zugestellt. Für das vollständige Schema, einschließlich des when-Triggers und der Variablenersetzung, siehe Monitore.

Versenden Sie Standard-Einstellungen mit Ihrem Plugin

Plugins können eine Datei settings.json auf der Plugin-Root enthalten, um Standard-Konfiguration anzuwenden, wenn das Plugin aktiviert ist. Derzeit werden nur die Schlüssel agent und subagentStatusLine unterstützt.

Das Setzen von agent aktiviert einen der benutzerdefinierten Agents des Plugins als Haupt-Thread und wendet seinen System-Prompt, Tool-Einschränkungen und Modell an. Dies ermöglicht es einem Plugin, das Standardverhalten von Claude Code zu ändern, wenn es aktiviert ist.

{
  "agent": "security-reviewer"
}

Dieses Beispiel aktiviert den Agent security-reviewer, der im Verzeichnis agents/ des Plugins definiert ist. Einstellungen aus settings.json haben Vorrang vor settings, die in plugin.json deklariert sind. Unbekannte Schlüssel werden stillschweigend ignoriert.

Organisieren Sie komplexe Plugins

Für Plugins mit vielen Komponenten organisieren Sie Ihre Verzeichnisstruktur nach Funktionalität. Für vollständige Verzeichnislayouts und Organisationsmuster siehe Plugin-Verzeichnisstruktur.

Testen Sie Ihre Plugins lokal

Verwenden Sie das Flag --plugin-dir, um Plugins während der Entwicklung zu testen. Dies lädt Ihr Plugin direkt, ohne dass eine Installation erforderlich ist.

claude --plugin-dir ./my-plugin

Wenn ein --plugin-dir-Plugin denselben Namen wie ein installiertes Marketplace-Plugin hat, hat die lokale Kopie in dieser Sitzung Vorrang. Dies ermöglicht es Ihnen, Änderungen an einem Plugin zu testen, das Sie bereits installiert haben, ohne es zuerst zu deinstallieren. Marketplace-Plugins, die durch verwaltete Einstellungen erzwungen aktiviert sind, sind die einzige Ausnahme und können nicht überschrieben werden.

Wenn Sie Änderungen an Ihrem Plugin vornehmen, führen Sie /reload-plugins aus, um die Updates zu übernehmen, ohne neu zu starten. Dies lädt Plugins, Skills, Agents, Hooks, Plugin-MCP-Server und Plugin-LSP-Server neu. Testen Sie Ihre Plugin-Komponenten:

  • Versuchen Sie Ihre Skills mit /plugin-name:skill-name
  • Überprüfen Sie, dass Agents in /agents angezeigt werden
  • Überprüfen Sie, dass Hooks wie erwartet funktionieren

Um ein Plugin zu testen, das bereits als .zip-Archiv verpackt und unter einer URL gehostet wird, z. B. ein CI-Build-Artefakt, verwenden Sie stattdessen --plugin-url. Claude Code ruft das Archiv beim Start ab und lädt es nur für diese Sitzung. Wenn das Abrufen fehlschlägt oder das Archiv ungültig ist, meldet Claude Code einen Plugin-Ladefehler und startet ohne es. Die gleichen Vertrauensüberlegungen gelten wie für jede andere Plugin-Quelle: Verweisen Sie dieses Flag nur auf Archive, die Sie kontrollieren oder denen Sie vertrauen.

Um mehrere Plugins zu laden, wiederholen Sie das Flag für jede URL:

claude --plugin-url https://example.com/my-plugin.zip --plugin-url https://example.com/other.zip

Oder übergeben Sie durch Leerzeichen getrennte URLs als ein Argument in Anführungszeichen:

claude --plugin-url "https://example.com/my-plugin.zip https://example.com/other.zip"

Debuggen Sie Plugin-Probleme

Wenn Ihr Plugin nicht wie erwartet funktioniert:

  1. Überprüfen Sie die Struktur: Stellen Sie sicher, dass Ihre Verzeichnisse auf der Plugin-Root sind, nicht in .claude-plugin/
  2. Testen Sie Komponenten einzeln: Überprüfen Sie jeden Skill, Agent und Hook separat
  3. Verwenden Sie Validierungs- und Debugging-Tools: Siehe Debugging- und Entwicklungstools für CLI-Befehle und Troubleshooting-Techniken

Teilen Sie Ihre Plugins

Wenn Ihr Plugin bereit zum Teilen ist:

  1. Fügen Sie Dokumentation hinzu: Fügen Sie eine README.md mit Installations- und Verwendungsanweisungen ein
  2. Wählen Sie eine Versionierungsstrategie: Entscheiden Sie, ob Sie eine explizite version setzen oder sich auf den Git-Commit-SHA verlassen. Siehe Versionsverwaltung
  3. Erstellen oder verwenden Sie einen Marketplace: Verteilen Sie über Plugin-Marketplaces zur Installation
  4. Testen Sie mit anderen: Lassen Sie Teamkollegen das Plugin vor einer breiteren Verteilung testen

Sobald Ihr Plugin in einem Marketplace ist, können andere es mit den Anweisungen in Plugins entdecken und installieren installieren. Um ein Plugin intern für Ihr Team zu halten, hosten Sie den Marketplace in einem privaten Repository.

Reichen Sie Ihr Plugin beim offiziellen Marketplace ein

Um ein Plugin beim offiziellen Anthropic-Marketplace einzureichen, verwenden Sie eines der In-App-Einreichungsformulare:

Sobald Ihr Plugin aufgelistet ist, können Sie Ihre eigene CLI haben, die Claude Code-Benutzer auffordert, es zu installieren. Siehe Empfehlen Sie Ihr Plugin von Ihrer CLI.

Konvertieren Sie vorhandene Konfigurationen in Plugins

Wenn Sie bereits Skills oder Hooks in Ihrem Verzeichnis .claude/ haben, können Sie diese in ein Plugin konvertieren, um die Freigabe und Verteilung zu vereinfachen.

Migrationschritte

1

Erstellen Sie die Plugin-Struktur

Erstellen Sie ein neues Plugin-Verzeichnis:

mkdir -p my-plugin/.claude-plugin

Erstellen Sie die Manifestdatei unter my-plugin/.claude-plugin/plugin.json:

{
"name": "my-plugin",
"description": "Migrated from standalone configuration",
"version": "1.0.0"
}
2

Kopieren Sie Ihre vorhandenen Dateien

Kopieren Sie Ihre vorhandenen Konfigurationen in das Plugin-Verzeichnis:

# Copy commands
cp -r .claude/commands my-plugin/

# Copy agents (if any)
cp -r .claude/agents my-plugin/

# Copy skills (if any)
cp -r .claude/skills my-plugin/
3

Migrieren Sie Hooks

Wenn Sie Hooks in Ihren Einstellungen haben, erstellen Sie ein Hooks-Verzeichnis:

mkdir my-plugin/hooks

Erstellen Sie my-plugin/hooks/hooks.json mit Ihrer Hooks-Konfiguration. Kopieren Sie das Objekt hooks aus Ihrer .claude/settings.json oder settings.local.json, da das Format gleich ist. Der Befehl empfängt Hook-Eingaben als JSON auf stdin, verwenden Sie also jq, um den Dateipfad zu extrahieren:

{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]
}
]
}
}
4

Testen Sie Ihr migriertes Plugin

Laden Sie Ihr Plugin, um zu überprüfen, ob alles funktioniert:

claude --plugin-dir ./my-plugin

Testen Sie jede Komponente: Führen Sie Ihre Befehle aus, überprüfen Sie, dass Agents in /agents angezeigt werden, und überprüfen Sie, dass Hooks korrekt ausgelöst werden.

Was sich bei der Migration ändert

Eigenständig (.claude/) Plugin
Nur in einem Projekt verfügbar Kann über Marketplaces freigegeben werden
Dateien in .claude/commands/ Dateien in plugin-name/commands/
Hooks in settings.json Hooks in hooks/hooks.json
Muss manuell kopiert werden, um zu teilen Mit /plugin install installieren

Nächste Schritte

Jetzt, da Sie das Plugin-System von Claude Code verstehen, finden Sie hier vorgeschlagene Pfade für verschiedene Ziele:

Für Plugin-Benutzer

Für Plugin-Entwickler