Zum Inhalt springen

Einen Plugin beitragen

Diese Anleitung erklärt, wie ein neues Plugin erstellt und dem f5-sales-demo-Marktplatz hinzugefügt wird.

Jedes Plugin befindet sich in einem eigenen Verzeichnis unter plugins/ und folgt dieser Struktur:

  • Ordnerplugins/
    • Ordnerexample-plugin/
      • Ordner.claude-plugin/
        • plugin.json
      • Ordnerskills/
        • Ordnerexample-skill/
          • SKILL.md
          • Ordnerreferences/
            • reference-data.md
      • Ordnercommands/
        • example-command.md
      • Ordneragents/
        • example-agent.md
      • README.md
  1. Das Plugin-Verzeichnis erstellen

    Terminal-Fenster
    mkdir -p plugins/example-plugin/.claude-plugin
    mkdir -p plugins/example-plugin/skills
    mkdir -p plugins/example-plugin/commands
  2. plugin.json schreiben

    plugins/example-plugin/.claude-plugin/plugin.json erstellen:

    {
    "name": "example-plugin",
    "description": "What this plugin does",
    "version": "1.0.0",
    "author": {
    "name": "f5-sales-demo"
    },
    "homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin",
    "keywords": ["relevant", "keywords"],
    "license": "Apache-2.0",
    "repository": "https://github.com/f5-sales-demo/marketplace"
    }
  3. Skills hinzufügen

    plugins/example-plugin/skills/example-skill/SKILL.md mit Frontmatter erstellen:

    ---
    name: example-skill
    description: One-line description of what this skill does
    ---
    Detailed instructions for Claude when this skill activates.

    Referenzdaten in einem references/-Unterverzeichnis neben SKILL.md ablegen.

  4. Befehle hinzufügen

    plugins/example-plugin/commands/example-command.md erstellen:

    ---
    description: What this command does
    argument_hint: "[optional-args]"
    allowed_tools:
    - Read
    - Glob
    - Grep
    ---
    Instructions for Claude when the user invokes this command.
  5. Das Plugin zu marketplace.json hinzufügen

    Einen Eintrag zum plugins-Array in .claude-plugin/marketplace.json hinzufügen:

    {
    "name": "example-plugin",
    "description": "What this plugin does",
    "version": "1.0.0",
    "author": { "name": "f5-sales-demo" },
    "source": "./plugins/example-plugin",
    "category": "productivity",
    "homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin",
    "license": "Apache-2.0",
    "keywords": ["relevant", "keywords"],
    "tags": ["searchable", "tags"],
    "repository": "https://github.com/f5-sales-demo/marketplace"
    }
  6. Lokal testen

    Das Plugin ohne Veröffentlichung testen, indem Claude Code auf das lokale Verzeichnis verwiesen wird:

    Terminal-Fenster
    claude --plugin-dir ./plugins/example-plugin

    Überprüfen, dass Skills im richtigen Kontext aktiviert werden und Befehle die erwartete Ausgabe erzeugen.

  1. Ein GitHub-Issue erstellen, das das neue Plugin beschreibt
  2. Einen Feature-Branch von main erstellen
  3. Das Plugin-Verzeichnis hinzufügen und marketplace.json aktualisieren
  4. Eine Dokumentationsseite unter docs/plugins/example-plugin.mdx hinzufügen
  5. Einen PR öffnen, der mit Closes #N auf das Issue verweist
  6. CI-Fehler beheben und nach bestandenen Prüfungen zusammenführen
  • Skills fokussiert halten — ein Skill sollte eine Sache gut erledigen
  • Referenzdateien verwenden — große Datensätze, Schemas und Nachschlagetabellen in references/ ablegen, anstatt sie direkt in SKILL.md einzubetten
  • Intelligent eingrenzen — nach Möglichkeit auf nicht committete Änderungen prüfen, um den Arbeitsbereich einzuschränken
  • Ausgabe nach Schweregrad gruppieren — ERROR-, WARNING- und INFO-Ebenen verwenden, damit Benutzer Korrekturen priorisieren können
  • Eine README schreiben — Verwendungsbeispiele und eine Beschreibung der einzelnen Skills und Befehle einschließen