Plugin-Setup — Vault als Claude-Code-Plugin

Der agentic-ventures-Vault dient gleichzeitig als Source-of-Truth fuer Skills und als Claude-Code-Plugin-Marketplace. Eine einzige Quelle, kein Drift.

Architektur

Vault (lokal)              GitHub (Cloud Source-of-Truth)        Claude Code (jede Maschine)
~/source/agentic-ventures  github.com/marvin-khl/agentic-ventures  ~/.claude/plugins/cache/...
        │                            │                                      │
        │   git push                 │   /plugin install / update           │
        ├──────────────────────────► │ ────────────────────────────────────►│
        │                            │                                      │
.claude-plugin/marketplace.json      .claude-plugin/marketplace.json        skills/<name>/SKILL.md
.claude-plugin/plugin.json           .claude-plugin/plugin.json             (geladene Cache-Kopie)
skills/ → intern/capabilities/skills (Symlink, mit Skills im Vault)

Drei Schichten:

  1. Marketplace = Source-Registry. Hier: GitHub-Repo marvin-khl/agentic-ventures (= dieser Vault).
  2. Plugin = einzelnes Paket im Marketplace. Hier nur eines: agentic-ventures selbst.
  3. Cache = lokale Snapshot-Kopie pro Maschine in ~/.claude/plugins/cache/agentic-ventures/agentic-ventures/<version>/. Wird beim Install befuellt, beim /plugin update neu gezogen.

Wichtig: Cache wird nicht automatisch synchronisiert. Vault-Aenderung → push → /plugin update ist der manuelle Schritt. Ohne den ist der Cache stale (Cache-Drift-Problem).

Verzeichnis-Struktur im Vault

agentic-ventures/
├── .claude-plugin/
│   ├── marketplace.json    # Marketplace-Eintrag, listet Plugins
│   └── plugin.json         # Plugin-Metadaten
├── skills/                 # Symlink → intern/capabilities/skills/
└── intern/capabilities/skills/
    ├── tages-planung/SKILL.md
    ├── inbox-sync/SKILL.md
    ├── email-schreiben/SKILL.md
    ├── email-review/SKILL.md
    ├── termin-koordinieren/SKILL.md
    ├── image-gen/SKILL.md
    ├── transkript-erstellen/SKILL.md
    ├── wochen-planung/SKILL.md
    ├── wiki-maintenance/SKILL.md
    ├── mcp-eigenbau/SKILL.md
    └── mcp-cloud-bereitstellung/SKILL.md

Plugin-System Convention: <plugin-root>/skills/<name>/SKILL.md. Da die Skills im Vault unter intern/capabilities/skills/ liegen (semantisch korrekt im Vault-Ordnungssystem), bedient ein Symlink skills/ im Vault-Root die Plugin-Convention. Symlinks gehen durch Git und funktionieren auf macOS/Linux.

Workflow — laufende Updates

Auf der Entwickler-Maschine (Marvins MacBook)

  1. Skill editieren im Vault (z.B. intern/capabilities/skills/wiki-maintenance/SKILL.md)
  2. Committen + Pushen: git add -A && git commit -m "..." && git push
  3. Plugin-Cache aktualisieren: in Claude Code /plugin update agentic-ventures
  4. Fertig — neue Skill-Version ist ab naechster Tool-Use-Action aktiv.

Schritt 3 ist der Schritt der oft vergessen wird. Wenn du im Vault editierst aber /plugin update skipst, sieht Claude Code weiterhin den alten Cache-Stand.

Erstmaliges Setup auf einer neuen Maschine

# einmalig: gh-Auth (sodass der private Repo zugaenglich ist)
gh auth login
 
# in Claude Code:
/plugin marketplace add github:marvin-khl/agentic-ventures
/plugin install agentic-ventures@agentic-ventures

Nach /plugin install hat die neue Maschine alle Skills + sieht zukuenftige Updates via /plugin update.

Migration vom alten Setup

Bis 2026-05-10 war der Marketplace als lokales Verzeichnis registriert (Source: /Users/marvinkuehlmann/source/agent-agentur — alter Vault-Pfad vor der Migration). Das hatte zwei Probleme:

  1. Source-Pfad zeigte auf den umbenannten alten Pfad, nicht den neuen Vault.
  2. directory:-Source ist an eine Maschine gebunden — kein Cloud-Zugriff von anderen Geraeten.

Migration auf 2026-05-10:

  • .claude-plugin/marketplace.json + plugin.json im neuen Vault angelegt
  • skills/-Symlink im Vault-Root → intern/capabilities/skills/
  • Setup-Schritte fuer Marvin (siehe Migration-Befehle)

Migration-Befehle (einmalig)

In Claude Code:

/plugin marketplace remove agentic-ventures
/plugin marketplace add github:marvin-khl/agentic-ventures
/plugin install agentic-ventures@agentic-ventures

Nach Erfolg ist der alte directory:-Cache verworfen, der neue Cache aus GitHub befuellt, und alle 11 Skills inkl. Pass-6-TBD-Tracker sind aktiv.

Voraussetzung: Vault muss vorher commited + gepusht sein (.claude-plugin/-Manifeste + skills/-Symlink muessen im Remote-Repo sein).

Cloud-Reichweite — was geht und was nicht

Claude-ClientPlugin-ZugriffWie
Claude Code CLI (lokal)Voll/plugin install agentic-ventures@agentic-ventures
Claude Desktop (Mac/Win)Vollgleiches Plugin-System wie Claude Code
Claude Code IDE-Extensions (VS Code, JetBrains)Vollgleiches Plugin-System
Claude.ai WebNicht direktSkills sind Code-Tool-Konzept, kein Web-Konzept
Claude MobileNicht direktdito

Fuer Web/Mobile koennten Skill-aequivalente Workflows als Custom Connector / MCP wieder verfuegbar gemacht werden — d.h. die Skill-Logik wird in einem MCP-Server gekapselt, MCP-Server wird gehostet (siehe mcp-vf-hosted Pattern), claude.ai Pro registriert ihn als Custom Connector. Das ist eine separate Bauarbeit, kein Plugin-System-Issue.

Phase 2 — wenn Skills mit anderen geteilt werden sollen

Aktuell ist der Plugin-Source der ganze Vault — beim /plugin install wird der gesamte Vault-Inhalt in den Plugin-Cache geklont. Solange Marvin der einzige User ist und der Vault privat in seiner GitHub-Org liegt, ist das OK.

Wenn Marvin spaeter Skills mit Mitarbeitern, Kunden oder oeffentlich teilen will, sollte ein separates Plugin-Repo entstehen:

  • marvin-khl/agentic-ventures-plugin (oeffentlich oder org-intern)
  • enthaelt nur .claude-plugin/, skills/, ggf. commands/, agents/
  • Sync vom Vault zum Plugin-Repo via Skript oder GitHub Action

Dieser Schritt steht aus, ist heute nicht noetig.

Routing-Zeile in CLAUDE.md

Eintrag erfolgt unter „Routing — wo finde ich was” mit dem Eintrag „Plugin-Setup / Skills aktualisieren / neue Maschine”.

  • _index — Skill-Inventar
  • stack — Tooling-Stack inkl. Plugin-System
  • mcp-vf-hosted — Pattern fuer Cloud-Reichweite via Custom Connector (analog Phase 2)
  • 05-final-report — historischer Befund „Plugin-Repo existiert nicht, Vault als Source”