Zum Inhalt springen

Ein Plugin beitragen

Diese Anleitung erklärt, wie Sie ein neues Plugin erstellen und es dem f5-sales-demo-Marktplatz hinzufügen.

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

    Erstellen Sie plugins/example-plugin/.claude-plugin/plugin.json:

    {
    "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

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

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

    Legen Sie alle Referenzdaten in einem references/-Unterverzeichnis neben SKILL.md ab.

  4. Befehle hinzufügen

    Erstellen Sie plugins/example-plugin/commands/example-command.md:

    ---
    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

    Fügen Sie einen Eintrag zum plugins-Array in .claude-plugin/marketplace.json hinzu:

    {
    "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

    Testen Sie Ihr Plugin ohne Veröffentlichung, indem Sie Claude Code auf das lokale Verzeichnis verweisen:

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

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

  1. Erstellen Sie ein GitHub-Issue, das das neue Plugin beschreibt
  2. Erstellen Sie einen Feature-Branch aus main
  3. Fügen Sie Ihr Plugin-Verzeichnis hinzu und aktualisieren Sie marketplace.json
  4. Fügen Sie eine Dokumentationsseite unter docs/plugins/example-plugin.mdx hinzu
  5. Öffnen Sie einen PR mit Verweis auf das Issue über Closes #N
  6. Beheben Sie alle CI-Fehler und führen Sie den Merge nach bestandenen Prüfungen durch
  • Skills fokussiert halten — ein Skill sollte eine Sache gut erledigen
  • Referenzdateien verwenden — legen Sie große Datensätze, Schemata und Nachschlagetabellen in references/ ab, anstatt sie direkt in SKILL.md einzubetten
  • Intelligent eingrenzen — prüfen Sie auf nicht committete Änderungen, um den Arbeitsbereich nach Möglichkeit einzuschränken
  • Ausgabe nach Schweregrad gruppieren — verwenden Sie die Ebenen ERROR, WARNING und INFO, damit Benutzer Korrekturen priorisieren können
  • Eine README schreiben — fügen Sie Verwendungsbeispiele und eine Beschreibung der einzelnen Skills und Befehle hinzu