Ein Skill ergänzt deinen MCP-Server, indem er ChatGPT und Codex zeigt, wie sie dessen Tools in einem wiederholbaren Ablauf einsetzen. Nutze den Server für Live-Daten, Authentifizierung, Autorisierung und kontrollierte Aktionen. Im Skill legst du die Reihenfolge der Tool-Aufrufe, Entscheidungspunkte und Anforderungen an die Ausgabe fest und hinterlegst Beispiele, Vorlagen und andere wiederverwendbare Anleitungen.
Ein Plug-in kann einen einzelnen Skill oder eine Gruppe verwandter Skills enthalten. Richte jeden Skill auf ein klar erkennbares Nutzerziel aus deiner Übersicht der Anwendungsfälle aus. Ein Skill funktioniert auch ohne MCP-Server, wenn für den Ablauf nur die mitgelieferten Anweisungen und Ressourcen nötig sind.
Einen Skill erstellen
Am schnellsten startest du mit dem integrierten Tool zur Skill-Erstellung. Beschreibe das Nutzerziel und die MCP-Tools, die es unterstützen:
@skill-creator Create a skill named tabletop-dice that understands dice
notation such as 3d6, calls roll_dice once for each die, and reports every
roll and the total.
In Codex rufst du dasselbe Tool mit $skill-creator auf.
Du kannst die Dateien auch manuell erstellen. Jeder Skill liegt in einem eigenen Verzeichnis
und benötigt eine Datei namens SKILL.md:
-
skills
-
tabletop-dice
- SKILL.md Erforderliche Anweisungen und Metadaten
- references Optionale Dokumentation
- scripts Optionaler ausführbarer Code
- assets Optionale Vorlagen und Ressourcen
-
-
SKILL.md schreiben
Beginne die Datei mit einem Namen und einer Beschreibung. Danach folgen die Anweisungen:
---
name: tabletop-dice
description: Roll one or more dice for tabletop games and report each result and the total.
---
Use this skill when the user asks to roll dice.
1. Parse requests written as `NdS` as N dice with S sides. For example, `3d6`
means three six-sided dice.
2. Call `roll_dice` once for each requested die and pass S as `sides`.
3. Report each tool result in order.
4. When the user requests multiple dice, add the results and report the total.
Do not invent, replace, or reroll a result unless the user asks you to.
Die Beschreibung bestimmt, wann das Modell den Skill in Betracht zieht. Beschreibe den Ablauf und die Bedingungen, unter denen er ausgelöst werden soll. Detaillierte Anweisungen zu Vorgehen, Format und Sicherheit gehören in den Hauptteil.
Den Ablauf klar abgrenzen
Ordne jedem Skill einen oder mehrere Anwendungsfälle zu. Aus den Anweisungen sollte Folgendes klar hervorgehen:
- Welche Eingaben für den Ablauf erwartet werden.
- Welche Schritte das Modell befolgen soll.
- Welche Ausgabe die nutzende Person erhalten soll.
- Welche Fakten das Modell nicht selbst ableiten darf.
- Wann im Ablauf eine Rückfrage nötig ist, die Ausführung gestoppt oder eine Anfrage abgelehnt werden soll.
- Welche ergänzenden Dateien das Modell heranziehen soll.
Bevorzuge einen klar fokussierten Skill gegenüber einer großen Sammlung lose zusammenhängender Anweisungen. Trenne Arbeitsabläufe, wenn sie unterschiedliche Auslöser, Eingaben oder Erfolgskriterien haben.
Befolgen von Anweisungen überprüfen
Wenn du Skills für GPT-6 Astra schreibst oder importierst, lies die Hinweise zum Befolgen von Anweisungen. Prüfe Skills und ergänzende Dateien auf unklare oder widersprüchliche Anweisungen und stelle klar, dass ausdrückliche Anweisungen von Nutzenden Vorrang vor den Richtlinien der Skills haben.
Ergänzende Ressourcen hinzufügen
Halte SKILL.md kurz und lege ausführliches Material in separaten Dateien daneben ab:
- Nutze
references/für Richtlinien, Schemas, Beispiele und Hintergrundmaterial. - Nutze
assets/für Vorlagen oder Dateien, die im Ablauf kopiert oder umgewandelt werden sollen. - Nutze
scripts/, wenn der Ablauf deterministische Berechnungen oder Dateiverarbeitung erfordert.
Verweise in SKILL.md auf ergänzende Dateien und erkläre,
wann sie geladen oder ausgeführt werden sollen. Füge kein Skript hinzu, wenn Anweisungen und vorhandene Tools
die Aufgabe zuverlässig erledigen können.
Skills mit MCP-Tools verbinden
Ein Skill kann dem Modell zeigen, wie es die Tools nutzt, die der MCP-Server des Plug-ins bereitstellt. Nutze den Skill für Anweisungen zum Ablauf und den Server für Live-Daten, Autorisierung und kontrollierte Aktionen.
Wenn ein Skill einen MCP-Server benötigt, deklariere die Abhängigkeit in
agents/openai.yaml:
dependencies:
tools:
- type: "mcp"
value: "dice-roller"
description: "Roll an N-sided die"
transport: "streamable_http"
url: "https://tinymcp.dev/api/moldy-aloof-zettabyte/mcp"
Eine Abhängigkeit stellt das benötigte Tool bereit. Sie ersetzt keine klaren Anweisungen zum Ablauf. Gib dem Modell vor, welche Tools es in welcher Reihenfolge verwenden und wie es mit fehlenden oder mehrdeutigen Ergebnissen umgehen soll.
Einen Skill über MCP importieren
Du kannst bei der Einreichung einen als Paket zusammengestellten Skill hochladen oder ihn vom MCP-Server des Plug-ins importieren. Bei der MCP-Option werden die Anweisungen und ergänzenden Dateien des Skills zusammen mit dem Server bereitgestellt.
OpenAI importiert Skills über MCP, wenn du im Portal zur Einreichung von Plug-ins Tools scannen auswählst. Die importierten Dateien werden als Momentaufnahme im Entwurf gespeichert. ChatGPT und Codex rufen sie zur Laufzeit nicht von deinem MCP-Server ab. Wenn du den Skill änderst, stelle den Server erneut bereit und scanne ihn noch einmal, bevor du eine neue Version des Plug-ins einreichst.
Informationen zur Deklaration unterstützter Funktionen, zu Erkennungsmethoden, zum Ressourcenmanifest und zu Importbeschränkungen findest du unter Skills vom MCP-Server importieren.
Den Skill testen
Teste den Skill mit repräsentativen Anfragen aus der Übersicht der Anwendungsfälle:
- Direkte Anfragen, die den Skill aktivieren sollen.
- Indirekte Anfragen, die dasselbe Ziel ausdrücken.
- Unvollständige Eingaben, die eine Rückfrage auslösen sollen.
- Anfragen, die den Skill nicht aktivieren sollen.
- Ausnahmefälle, in denen der Skill keine Informationen erfinden oder nicht unterstützte Aktionen ausführen darf.
Prüfe sowohl die Aktivierung als auch die Qualität der Ausgabe. Passe die Beschreibung an, wenn der Skill zum falschen Zeitpunkt aktiviert wird. Überarbeite die Anweisungen, wenn er den richtigen Ablauf wählt, aber kein konsistentes Ergebnis liefert.
Den Skill als Paket zusammenstellen
Gib im Manifest des Plug-ins den Pfad zum Skills-Verzeichnis an:
{
"name": "dice-roller",
"version": "1.0.0",
"description": "Roll dice for tabletop games",
"skills": "./skills/",
"apps": "./.app.json"
}
Unter Dein Plug-in als Paket zusammenstellen findest du das vollständige Manifest sowie Informationen zur Zuordnung des MCP-Servers, zu lokalen Tests und zur Verteilung.