Skills in ChatGPT, Codex und Claude Cowork gemeinsam nutzen: eine Quelle, drei Oberflächen

TL;DR — Kurzantwort

Einen Skill in ChatGPT, Codex und Claude Cowork nutzen: zentrale Quelle, richtige Ordner, Cowork-ZIP, Aufruf und sichere Aktualisierung.

17. Juni 2026Aktualisiert: 03. August 20265 Min. Lesezeitvon Nauti

Wenn du denselben Skill in ChatGPT, Codex und Claude Cowork nutzen willst, genügen eine kanonische Quelle und drei kontrollierte Laufzeitwege.

ChatGPT Desktop und Codex können lokale Skill-Dateien direkt entdecken. Claude Cowork übernimmt einen Skill als hochgeladenes Paket. Deshalb ist „synchronisieren“ kein automatischer Zwei-Wege-Abgleich. Du pflegst die Quelle, aktualisierst daraus die Zieloberflächen und prüfst dort jeweils einen Testauftrag.

Lege jeden Skill als normalen Ordner mit SKILL.md in einer zentralen Ablage ab, zum Beispiel:

~/AI/Skills/
└── schreib-wie-ich/
    ├── SKILL.md
    ├── references/
    ├── scripts/
    └── assets/

Von dort aus:

  • verlinkst du den Skill für ChatGPT Desktop und Codex nach ~/.agents/skills/,
  • verlinkst du ihn bei Bedarf für Claude Code nach ~/.claude/skills/,
  • erstellst du für Claude Cowork ein ZIP und lädst es unter Customize → Skills hoch.

Änderungen machst du nur in ~/AI/Skills/. Die anderen Orte sind Laufzeitziele, keine zweite Wahrheit.

OpenAI und Anthropic orientieren sich am offenen Agent Skills Standard. Der portable Kern ist ein Ordner mit einer SKILL.md, die mindestens name und description im YAML-Frontmatter sowie die eigentlichen Arbeitsanweisungen enthält.

---
name: schreib-wie-ich
description: Formuliert Textentwürfe nach meinem freigegebenen Stilprofil.
---

1. Kläre Textsorte, Zielgruppe und Zweck.
2. Lies das passende Stilprofil unter `references/`.
3. Erfinde keine Fakten, Positionen oder persönlichen Details.
4. Erstelle nur einen Entwurf. Nichts senden oder veröffentlichen.
5. Prüfe den Entwurf gegen Stilregeln und No-Gos.

Diese einfachen Bestandteile können alle drei Werkzeuge verstehen. Unterschiede entstehen bei erweiterten Funktionen:

  • Claude-spezifische Felder wie allowed-tools, context oder disable-model-invocation sind nicht automatisch portable.
  • OpenAI-spezifische UI-Metadaten unter agents/openai.yaml werden von Claude nicht benötigt.
  • Ein Script funktioniert nur, wenn die jeweilige Oberfläche die verwendete Laufzeit, Pakete und Berechtigungen bereitstellt.

Halte den Kern deshalb neutral. Plattformabhängige Ergänzungen kommen in Adapter oder Build-Ausgaben, nicht als widersprüchliche Kopien in drei manuell gepflegte Hauptdateien.

Oberfläche Skill-Ablage oder Installation Aufruf Aktualisierung
ChatGPT Desktop persönlicher Skill unter ~/.agents/skills/<name>/SKILL.md @skill-name oder passend formulierte Aufgabe lokale Datei ändern; bei Bedarf App neu starten
Codex lokal ~/.agents/skills/<name>/SKILL.md oder projektbezogen .agents/skills/<name>/SKILL.md $skill-name oder /skills lokale Datei ändern; Codex erkennt Änderungen normalerweise automatisch
Claude Code ~/.claude/skills/<name>/SKILL.md oder .claude/skills/<name>/SKILL.md /skill-name oder automatisch lokale Datei ändern; Verzeichnis wird überwacht
Claude Cowork Skill als ZIP unter Customize → Skills hochladen /skill-name, Plus-Menü oder passende Aufgabe neues ZIP aus der Quelle bauen und erneut hochladen

Der entscheidende Stolperstein: Ein lokaler Ordner ist nicht automatisch in einer Web- oder Cloud-Umgebung verfügbar. Das gilt sowohl für ChatGPT Work im Web als auch für einen hochgeladenen Cowork-Skill. Für Teams kommen zusätzlich Workspace-, Freigabe- und Plugin-Funktionen ins Spiel.

Für eine Einzelperson reicht ein lokaler Ordner wie ~/AI/Skills/ mit privatem Backup. Für ein Team ist ein privates Git-Repository sinnvoll, weil Änderungen, Reviews und Rollbacks nachvollziehbar bleiben.

Eine praktische Struktur:

AI/Skills/
├── _incoming/       # neue, noch ungeprüfte Skills
├── _canonical/      # freigegebene Quellen
├── _archive/        # ersetzte Versionen
├── _dist/           # erzeugte ZIPs und Adapter
└── _reports/        # Prüf- und Testberichte

Pro Skill gibt es genau einen aktiven Quellordner. Alte Varianten wandern mit Datum ins Archiv.

Wenn deine kanonische Quelle bereits unter ~/.agents/skills/ liegt, musst du nichts synchronisieren. Beide lokalen OpenAI-Oberflächen lesen denselben Ordner.

Liegt die Quelle bewusst in deinem Vault, setzt du einen symbolischen Link. Beispiel für macOS und Linux:

mkdir -p "$HOME/.agents/skills"
ln -s "$HOME/AI/Skills/_canonical/schreib-wie-ich" \
  "$HOME/.agents/skills/schreib-wie-ich"

Für Claude Code kannst du denselben Quellordner zusätzlich verlinken:

mkdir -p "$HOME/.claude/skills"
ln -s "$HOME/AI/Skills/_canonical/schreib-wie-ich" \
  "$HOME/.claude/skills/schreib-wie-ich"

Führe diese Befehle nicht aus, wenn am Ziel bereits ein Ordner gleichen Namens liegt. Prüfe zuerst, welche Version gültig ist. Verschiebe die andere Version ins Archiv und lege erst danach den Link an.

Für einen Skill, der nur zu einem Projekt gehört, nutzt du stattdessen .agents/skills/ beziehungsweise .claude/skills/ im Projekt. Diese Ordner können mit dem privaten Repository geteilt werden.

Claude Cowork liest nicht einfach deinen Ordner ~/.agents/skills. Ein eigener Skill wird als ZIP hochgeladen:

  1. Prüfe, ob der Skill-Ordner eine gültige SKILL.md und alle referenzierten Dateien enthält.
  2. Entferne Caches, Secrets, Testdaten und unnötige lokale Dateien aus dem Paket.
  3. Erstelle ein ZIP, in dem der Skill-Ordner die Wurzel bildet.
  4. Öffne in Claude Customize → Skills.
  5. Wähle Create skill → Upload a skill und lade das ZIP hoch.
  6. Aktiviere den Skill und teste ihn in Cowork.

Beispiel für macOS und Linux:

mkdir -p "$HOME/AI/Skills/_dist"
cd "$HOME/AI/Skills/_canonical"
zip -r "$HOME/AI/Skills/_dist/schreib-wie-ich.zip" \
  "schreib-wie-ich" \
  -x "*/.DS_Store" "*/__pycache__/*" "*/.git/*" "*/node_modules/*"

Das ZIP ist ein Snapshot. Änderst du später die kanonische SKILL.md, ändert sich der bereits hochgeladene Cowork-Skill nicht automatisch. Erzeuge das ZIP neu, lade die neue Version hoch und prüfe, welche Version in Cowork aktiv ist.

Nimm keine komplizierte Produktivaufgabe als ersten Test. Ergänze vorübergehend eine harmlose, eindeutig erkennbare Regel, zum Beispiel: „Schließe die Prüfnotiz mit Skill-Test: erfolgreich ab.“

Teste danach:

  1. In ChatGPT: @schreib-wie-ich Erstelle einen kurzen Testentwurf.
  2. In Codex: $schreib-wie-ich Erstelle einen kurzen Testentwurf.
  3. In Claude Cowork: /schreib-wie-ich Erstelle einen kurzen Testentwurf.

Prüfe nicht nur, ob der Name in einem Menü auftaucht. Die Testregel muss im Ergebnis nachweisbar greifen. Entferne sie danach wieder aus der kanonischen Quelle, aktualisiere Cowork erneut und wiederhole den Test.

Prüfe meine Skills für ChatGPT, Codex, Claude Code und Claude Cowork.
Ändere, verschiebe, lösche oder verlinke noch nichts.

Ziel:
- genau eine kanonische Quelle pro Skill
- portabler Kern nach Agent Skills Standard
- lokale Adapter für `~/.agents/skills` und `~/.claude/skills`
- reproduzierbares Cowork-ZIP unter `_dist/`
- keine Secrets, Caches oder personenbezogenen Rohdaten im Paket

Gehe so vor:
1. Liste alle gefundenen Skill-Ordner mit vollständigem Pfad auf.
2. Lies `name` und `description` aus jeder `SKILL.md`.
3. Markiere doppelte Namen, kaputte Symlinks und abweichende Versionen.
4. Markiere plattformspezifische Frontmatter-Felder und Scripts.
5. Schlage pro Skill eine kanonische Quelle und passende Adapter vor.
6. Zeige den geplanten Zielzustand als Baumstruktur.
7. Zeige die exakten Befehle und Dateien, führe sie aber noch nicht aus.
8. Warte auf meine Freigabe.

Nach der Freigabe:
- archiviere ersetzte Varianten statt sie zu löschen,
- erzeuge lokale Links und das Cowork-ZIP,
- teste denselben kleinen Auftrag in ChatGPT, Codex und Cowork,
- dokumentiere Pfad, Version und Testergebnis.
Symptom Ursache Fix
ChatGPT und Codex liefern unterschiedliche Ergebnisse Zwei aktive Versionen oder anderer Projektkontext Pfade, Skill-Namen und Projektordner vergleichen
Cowork nutzt nach einer Änderung noch alte Regeln Das hochgeladene ZIP ist nur ein Snapshot ZIP neu bauen, erneut hochladen und aktive Version prüfen
Skill ist lokal sichtbar, aber nicht in ChatGPT Work im Web Die Cloud-Umgebung liest deinen lokalen Ordner nicht Workspace-Skill oder Plugin als eigenen Verteilungsweg nutzen
Skill erscheint in Claude Code, aber nicht in Cowork .claude/skills und Cowork-Uploads sind getrennte Installationswege ZIP unter Customize → Skills hochladen
Script läuft in Codex, aber nicht in Cowork Runtime, Paket oder Berechtigung fehlt Script-Abhängigkeiten prüfen oder plattformspezifischen Adapter bauen
Ergebnisse wechseln scheinbar zufällig Mehrere Skills haben denselben name Eine aktive Version behalten, Rest archivieren
ZIP enthält sensible Daten Quellordner wurde ungeprüft komplett gepackt Secrets, Logs, Testdaten, Caches und lokale Zustände ausschließen

Ein Skill darf Arbeitsanweisungen, Vorlagen, Beispiele und geprüfte Scripts enthalten. Nicht hinein gehören:

  • API-Keys, Passwörter und OAuth-Tokens,
  • Browser-Cookies und Login-Sessions,
  • private E-Mails oder Kundendaten als Rohbeispiele,
  • App-Caches und lokale Datenbanken,
  • automatisch erzeugte Zustände ohne dokumentierten Zweck.

Ein Skill kann auf benötigte Secrets oder Tools verweisen. Die tatsächlichen Zugangsdaten bleiben im Secret-Store beziehungsweise in der jeweiligen Tool-Verbindung.

ChatGPT, Codex und Claude Cowork können denselben inhaltlichen Skill nutzen, weil alle mit dem offenen Skill-Format arbeiten. Sie lesen ihn aber nicht automatisch aus demselben Ort.

Der stabile Aufbau ist:

  1. eine kanonische SKILL.md als Source of Truth,
  2. lokale Links für ChatGPT, Codex und optional Claude Code,
  3. ein reproduzierbares ZIP als Laufzeitkopie für Claude Cowork,
  4. ein identischer Testauftrag nach jeder Änderung.

So pflegst du eine Arbeitsweise statt drei langsam auseinanderlaufender Kopien.

Ähnliche Artikel

Hinterlasse einen Kommentar