Warum Dein KI-Werkzeugkasten versioniert gehört
Software-Dienstleister stehen vor der Herausforderung, ihre über Jahre entwickelten KI-Skills und Automatisierungen systematisch zu verwalten und im Team zu teilen. Ein strukturiertes Git-Repository mit Plugin-System löst das Problem der verstreuten Skill-Sammlungen und macht firmeneigene Entwicklungsmuster zu einem versionierten, erweiterbaren Asset.
Worum es eigentlich geht
In fünf Jahren werden Software-Dienstleister daran gemessen, wie gut ihr kollektives Skillset für KI-gestützte Entwicklung ist. Drei konkurrierende Companies werden vor demselben Anforderungsdokument denselben Workflow starten — Anforderungen kippen, durch Spec-Skills jagen, Code generieren, Architecture-Reviews fahren, Tests bauen, deployen. Der Workflow ist austauschbar. Was nicht austauschbar ist: das jahrelang kollaborativ kuratierte Set an Agents, Skills und Plugins, das jeden dieser Schritte präziser, schneller und projektgerechter macht. Wer hier zehn Mannjahre Vorsprung hat, baut mit weniger Aufwand bessere Software. Das ist der eigentliche Wettbewerbsvorteil — und er sitzt in einem einzigen Git-Repo.
Dieser Artikel beschreibt, wie man dieses Repo aufsetzt, organisiert und in Projekten anwendet — am Beispiel von Claude Code, aber das Konzept überträgt sich auf jeden vergleichbaren Agent-Runner.
Drei Ebenen, auf denen Claude Code Skills lädt
Bevor wir ein Repo bauen, müssen wir wissen, wo der Agent überhaupt sucht. Claude Code kennt drei Scopes — kommt automatisch, keine Registrierung nötig:
Scope | Ort | Wofür |
|---|---|---|
User (global) |
| Was du in jedem Projekt brauchst — dein Standard-Werkzeugkasten |
Project |
| Projektspezifisch, in Git eingecheckt, fürs Team |
Project local |
| Persönliche Experimente |
Wer einfach Dateien direkt in diese Ordner kippt, landet schnell im Wildwuchs: Skills veralten, Kollegen wissen nicht woher die Datei kommt, Updates passieren nirgends. Deshalb braucht es eine vierte Ebene: das Plugin-System.
Plugins und Marketplaces — der Paketmechanismus
Ein Plugin ist ein Ordner, der eine Sammlung zusammengehöriger Agents, Skills, Slash-Commands, Hooks und ggf. MCP-Server bündelt. Ein Marketplace ist ein Git-Repo, das mehrere Plugins listet. Installation und Updates laufen über git pull im Marketplace-Cache — keine Copy-Paste-Drift.
Damit wird das eigene Marketplace-Repo zum Single Source of Truth für das gesamte Firmen-Skillset.
Repo-Struktur
claude-plugins/
├── .claude-plugin/
│ └── marketplace.json # listet jedes Plugin im Repo
├── plugins/
│ ├── architects/
│ │ ├── .claude-plugin/plugin.json
│ │ └── agents/architect-review.md
│ └── jira/
│ ├── .claude-plugin/plugin.json
│ └── skills/
│ ├── jira-setup/SKILL.md
│ ├── specify/SKILL.md
│ ├── implement/SKILL.md
│ └── commit/SKILL.md
├── templates/
│ └── plugin/ # Boilerplate, nicht in marketplace.json
└── README.md
Wichtig zur Benennung: der Marketplace heißt z. B. meimberg. Plugins darin heißen dann nicht meimberg-jira, sondern einfach jira — beim Install schreibt man /plugin install jira@meimberg, das @meimberg ist der Namespace. Doppelung vermeiden.
Das marketplace.json
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "meimberg",
"description": "...",
"owner": { "name": "...", "email": "..." },
"plugins": [
{
"name": "jira",
"description": "...",
"source": "./plugins/jira",
"category": "workflow",
"author": { "name": "..." }
}
]
}
Jedes Plugin hat zusätzlich sein eigenes plugin.json mit name, version, description, author. Beim Hinzufügen eines neuen Plugins: Ordner aus templates/plugin/ kopieren, anpassen, Eintrag in marketplace.json ergänzen, push.
Installation und Anwendung
Auf der Developer-Maschine, einmalig:
/plugin marketplace add meimberg-io/claude-plugins
/plugin install jira@meimberg
/plugin install architects@meimberg
Updates später per /plugin marketplace update meimberg. Da der Marketplace ein normales Git-Repo ist, ist auch Versionierung, PR-Review und CI-Validation auf neue Plugins anwendbar wie bei jedem anderen Code.
Wie Skills tatsächlich getriggert werden
Ein Skill ist ein Markdown-File mit YAML-Frontmatter. Beispiel:
---
name: commit
description: Stage and commit all changes with a "{Jira-Key}: {Jira-Title}"
message. Use when the user asks to commit ("commit", "committen", "commit die
Änderungen"). Resolves the Jira key from message → context → branch → last
commit. Config from .claude/jira.json.
---
Claude Code matcht die description gegen das Nutzeranliegen — gut geschriebene Descriptions sind die halbe Miete. Sie müssen sowohl die Trigger-Phrasen enthalten ("commit", "committen", ...) als auch klarmachen, wofür der Skill nicht da ist, damit er nicht falsch anspringt.
Alternativ explizit per /skill <name>.
Per-Projekt-Konfiguration als Pattern
Skills, die mit projektabhängigen Werten arbeiten (Jira Project Key, API-Endpoints, Repo-spezifische Konventionen), sollten ihre Konfiguration nicht in den Skill schreiben — die wäre dann global. Stattdessen: pro Projekt eine Konfigdatei unter <projekt>/.claude/<thema>.json.
Beispiel für unser Jira-Plugin:
{
"projectKey": "MIVOLVE",
"cloudId": "86465bd6-...",
"site": "https://meimberg.atlassian.net",
"commitPrefix": "VOLVE-",
"statusNames": { "spec": "...", "ready": "...", "inProgress": "...", "done": "..." }
}
Das ist die Brücke zwischen generischem Firmenskillset und konkretem Projekt. Der Skill ist universal, die Datei macht ihn projektspezifisch.
Wichtigste Design-Lessons aus der Praxis
1. Setup-Skills bauen. Wenn ein Skill eine Konfigdatei voraussetzt, gehört das Anlegen dieser Datei in einen eigenen Skill (jira-setup), der den Nutzer interaktiv durch die Konfiguration führt — APIs probet, Defaults vorschlägt, validiert, am Ende schreibt. Sonst muss jeder Workflow-Skill seine eigene Bootstrap-Logik mitschleppen. Diese Duplikation driftet.
2. Single Source of Truth pro Logik. Wir hatten anfangs in drei Skills (specify, implement, commit) je 20 Zeilen identische Bootstrap-Logik. Nach Auslagerung in jira-setup schrumpft jeder auf einen Dreizeiler: "Wenn .claude/jira.json fehlt, run jira-setup."
3. Skills sind Code — verdienen Code-Quality. Versionierung, PR-Review, Schema-Validation, CI. Ein templates/-Verzeichnis mit Plugin-Boilerplate sorgt dafür, dass neue Plugins konsistent aufgebaut sind.
4. Attribution bei Übernahmen. Wer Skills/Agents aus anderen Quellen (z. B. aitmpl.com → davila7/claude-code-templates) übernimmt: nicht direkt per npx ins User-Verzeichnis ballern. Stattdessen die Quelldatei ins eigene Marketplace-Repo holen, mit Attribution im Footer, und von dort installieren. So bleibt Versionskontrolle erhalten, eigene Anpassungen werden nicht beim nächsten npx-Aufruf überschrieben, und Updates aus dem Upstream sind ein bewusster Pull-Vorgang, kein Drift.
5. Naming-Hygiene. <plugin>@<marketplace> heißt: das @marketplace ist der Namespace. Plugin-Namen brauchen das Firmen-Präfix nicht zu wiederholen.
Was als nächstes ins Repo wandert
Eigene Patterns: code-style-Skills pro Stack (React, Go, Python), die die Hausregeln einfließen lassen.
Review-Agents: beyond architecture — security, performance, accessibility, DSGVO.
Workflow-Skills: Sprint-Planning, Standup-Generation, PR-Templating, Release-Notes.
CI/Validation: GitHub Action, die
marketplace.jsongegen das Schema validiert und prüft, dass allesource-Pfade existieren.Skill-Authoring-Guide: ein internes Dokument für Entwickler, das Konventionen für
description-Felder, Frontmatter, Trigger-Phrasen, Fehlerbehandlung festlegt — damit Skills sich bei neuem Autor nicht anders anfühlen als bei altem.
Fazit
Das Firmen-Skillset gehört ins Versionskontrollsystem wie jeder andere Code. Ein Marketplace-Repo macht es teilbar, versionierbar, reviewbar — und damit zu echtem kollektiven Kapital, das mit jedem Quartal mehr wert wird, statt in den lokalen ~/.claude/-Ordnern einzelner Entwickler zu verstauben. Wer das früh systematisiert, baut sich einen Vorsprung, den Konkurrenten nicht durch Tooling-Auswahl, sondern nur durch eigene Jahre an Kuration einholen können.
&w=3840&q=75)