diffox
Blog

Was sind Agent Skills und wie schreibt man SKILL.md?

Ein Skill ist ein Ordner, den der Agent nur bei Bedarf liest. Wohin er in Claude Code, Codex, Cursor, Gemini CLI und Copilot gehört.

TeilenXLinkedIn

Zusammenfassung. Ein Skill ist ein Ordner, in dem eine Datei SKILL.md liegt. Oben in der Datei stehen Name und Beschreibung des Skills, darunter die Anweisungen, denen der Agent folgt. In jeder Sitzung liest der Agent nur Name und Beschreibung; passt eine Aufgabe zur Beschreibung, lädt er die vollständigen Anweisungen. Claude Code, Codex, Cursor, Gemini CLI und GitHub Copilot folgen demselben offenen Standard. Jede Angabe haben wir am 18. Oktober 2026 in der Dokumentation des jeweiligen Tools gelesen; die Zahlen zu den Ordnern stammen aus einer Zählung in den 100 Repositorys mit den meisten Sternen.

  • Der Ordner ist nicht in jedem Tool derselbe. Den Ordner .agents/skills lesen Codex, Cursor, Gemini CLI und Copilot; die Dokumentation von Claude Code nennt nur .claude/skills. 7 der untersuchten Repositorys verbinden die beiden Ordner per Symlink.
  • Der Agent wählt einen Skill anhand seiner Beschreibung. Zu Beginn einer Sitzung werden nur Name und Beschreibung geladen. Sagt die Beschreibung nicht, was der Skill tut und wann er gebraucht wird, öffnet der Agent ihn nicht.
  • Halten Sie den Hauptteil kurz. Der Standard und Claude Code empfehlen beide, SKILL.md unter 500 Zeilen zu halten und Details in eigene Dateien auszulagern. Diese Dateien werden nur bei Bedarf gelesen.
  • Lesen Sie fremde Skills wie Code. Ein Skill kann Skripte ausführen und bestimmte Werkzeuge ohne Rückfrage freigeben. Claude Code wendet diese Freigabe sogar bei einem Projekt-Skill in einem Ordner an, dem Sie nicht vertrauen.

Was ist ein Skill, und was unterscheidet ihn von der Regeldatei?

5Tools folgen demselben Standard
46Produkte stehen auf der Liste des Standards
41Repositorys enthalten eine SKILL.md (von 98)
7Repositorys verbinden beide Ordner per Symlink

Nach der Definition des offenen Standards ist ein Skill ein Ordner, in dem eine Datei SKILL.md liegt. Oben in der Datei stehen mindestens ein Name (name) und eine Beschreibung (description), darunter Anweisungen, wie der Agent eine Aufgabe erledigt. Im Ordner können außerdem Skripte, Nachschlagedokumente und Vorlagen liegen.

Entwickelt hat das Format Anthropic. Claude Code bekam die Unterstützung für Skills am 16. Oktober 2025 mit Version 2.0.20; als offenen Standard veröffentlichte Anthropic das Format am 18. Dezember 2025. Stand 18. Oktober 2026 schreiben die Skill-Seiten von Claude Code, Codex, Cursor, Gemini CLI und Copilot, dass sie auf diesem Standard aufbauen. Die eigene Liste des Standards nennt 46 Produkte; laut der Website des Standards zeigt sie nur einen Teil der Produkte, die ihn unterstützen. Am 18. Juni 2026 hat Google Gemini CLI für kostenlose Nutzer sowie für Abonnenten von Google AI Pro und Ultra durch Antigravity CLI ersetzt; mit Firmenlizenz oder kostenpflichtigem API-Schlüssel bleibt Gemini CLI verfügbar. Auch Antigravity liest Skills und sucht Projekt-Skills in .agents/skills.

Der Unterschied zur Regeldatei (AGENTS.md, CLAUDE.md, GEMINI.md) liegt im Zeitpunkt, zu dem gelesen wird. Die Regeldatei wird in jeder Sitzung vollständig gelesen. Die Anweisungen eines Skills werden dagegen erst geladen, wenn eine Aufgabe dazu passt. Die Tools sagen das mit eigenen Worten:

  • Claude Code: Anders als CLAUDE.md wird der Hauptteil eines Skills nur geladen, wenn der Skill genutzt wird. Lange Nachschlagetexte belegen deshalb kaum Platz, bis sie gebraucht werden.
  • Gemini CLI: Kontextdateien wie GEMINI.md geben dem Arbeitsbereich einen ständigen Hintergrund; ein Skill ist Fachwissen, das bei Bedarf geöffnet wird.
  • Codex: AGENTS.md bestimmt das Verhalten des Agenten, Skills bündeln wiederkehrende Abläufe.
  • Copilot: Einfache Anweisungen, die für fast jede Aufgabe gelten, gehören in die Custom Instructions; ausführliche Anweisungen, die nur bei Bedarf gelesen werden sollen, gehören in einen Skill.

Auch ältere Formate wandern zu Skills. In Claude Code wurden die Befehle unter .claude/commands/ mit Skills zusammengelegt. Codex hat Custom Prompts als veraltet eingestuft und empfiehlt stattdessen Skills. Cursor bringt einen Skill /migrate-to-skills mit, der Regeln und Slash-Befehle in Skills umwandelt.

Regeldateien haben wir in unserem Beitrag zu AGENTS.md und CLAUDE.md behandelt, Befehle, die jedes Mal laufen, in unserem Beitrag zu Hooks, und Helfer, die in einem eigenen Kontext arbeiten, in unserem Beitrag zu Subagenten. Dieser Beitrag beschreibt die Ebene dazwischen: Anweisungen, die der Agent nur bei Bedarf öffnet.

Wann liest der Agent einen Skill?

Der Standard nennt das Progressive Disclosure, also schrittweises Laden. Der Agent liest einen Skill nicht auf einmal, sondern Stück für Stück, so wie die Aufgabe es verlangt:

Der Agent liest einen Skill Stück für Stück. Zu Beginn der Sitzung: name, description. Gelangt in den Kontext: ~100 Tokens. In jeder Sitzung, auch ohne Nutzung. Wenn die Aufgabe passt: SKILL.md-Hauptteil. Gelangt in den Kontext: Alle Anweisungen. Empfohlen: unter 500 Zeilen. Bei Bedarf: references/, scripts/. Gelangt in den Kontext: Die gelesene Datei. Vom Skript nur die Ausgabe. Für einen Skill. Tokenzahl und Zeilengrenze sind die Empfehlung des Standards.
Die drei Teile eines Skills und wann jeder davon in den Kontext gelangt. Tokenzahl und Zeilengrenze aus der Spezifikation des Standards; dass nur die Ausgabe eines Skripts in den Kontext gelangt, steht in der Dokumentation von Anthropic, 18. Oktober 2026.

Den ersten Schritt bezahlt jede Sitzung, auch wenn der Skill nie genutzt wird. Deshalb spielt es eine Rolle, wie viele Skills Sie installieren. Wie viel Platz diese Liste bekommt, schreiben zwei Tools:

  • Claude Code gibt der Liste 1 % des Kontextfensters des Modells. Passt die Liste nicht hinein, entfernt es die Beschreibungen der Skills, die Sie am seltensten nutzen. Außerdem wird jede Beschreibung in der Liste nach 1.536 Zeichen abgeschnitten.
  • Codex gibt der Liste höchstens 2 % des Kontextfensters, oder 8.000 Zeichen, wenn es das Fenster nicht kennt. Mit skills.max_context_tokens lässt sich dieser Anteil auf höchstens 10.000 Tokens anheben. Sind viele Skills installiert, kürzt Codex zuerst die Beschreibungen.
  • Cursor, Gemini CLI und Copilot: Steht nicht in der Dokumentation.

Auch nach dem Öffnen belegt ein Skill Platz. In Claude Code gelangt der Inhalt eines aufgerufenen Skills als eine einzige Nachricht in die Unterhaltung und bleibt dort in den folgenden Runden. Wird die Unterhaltung komprimiert, kommen von jedem Skill nur die ersten 5.000 Tokens zurück. Schreiben Sie die wichtigste Anweisung deshalb an den Anfang der Datei.

Wo liegen Skills in den fünf Tools?

Der Standard legt fest, was in einen Skill-Ordner gehört, aber nicht, wo der Ordner liegt. Sein Leitfaden für Tool-Entwickler sagt das ausdrücklich und beschreibt .agents/skills als gemeinsamen Ordner, der sich zwischen den Tools durchsetzt. So stand es am 18. Oktober 2026 in der Dokumentation der fünf Tools:

Skill-Ordner in fünf Coding-Tools: die Ordner für Projekt und Benutzer und welcher Skill gilt, wenn zwei denselben Namen tragen
ToolIm ProjektPersönlichZwei Skills mit gleichem Namen
Claude Code.claude/skills~/.claude/skillsDer persönliche geht dem im Projekt vor
Codex.agents/skills~/.agents/skillsKeine Zusammenführung; beide bleiben in der Liste
Cursor.agents/skills, .cursor/skills; außerdem .claude/skills, .codex/skills~/.agents/skills, ~/.cursor/skills; außerdem ~/.claude/skills, ~/.codex/skillsSteht nicht in der Dokumentation
Gemini CLI.gemini/skills, .agents/skills~/.gemini/skills, ~/.agents/skillsDer im Projekt geht dem persönlichen vor; auf derselben Ebene kommt .agents/skills zuerst
GitHub Copilot.github/skills, .agents/skills, .claude/skills~/.copilot/skills, ~/.agents/skillsIn der CLI der zuerst gefundene: erst .github/skills, dann .agents/skills, dann .claude/skills

Quelle: die Skill-Dokumentation des jeweiligen Tools, 18. Oktober 2026. In diesen Ordnern liegt jeder Skill in einem eigenen Unterordner: .agents/skills/<name>/SKILL.md. Cursor liest die Ordner von Claude Code und Codex aus Kompatibilitätsgründen. Die persönlichen Ordner von Copilot stammen aus der CLI-Dokumentation; die Dokumentation von VS Code nennt zusätzlich ~/.claude/skills. „Steht nicht in der Dokumentation“ heißt: Auf den Seiten, die wir an diesem Tag gelesen haben, fanden wir keinen Satz dazu.

Keinen Ordner nennt die Dokumentation aller fünf Tools. .agents/skills lesen vier Tools; die Dokumentation von Claude Code nennt nur .claude/skills und sagt nichts zu .agents/skills. .claude/skills lesen neben Claude Code auch Cursor und Copilot; die Dokumentation von Codex und Gemini CLI nennt diesen Ordner nicht. Dass ein Ordner nicht in der Dokumentation steht, heißt nicht, dass das Tool ihn nicht liest. Wer sich aber auf die Dokumentation verlässt, findet keinen einzelnen Ordner, mit dem sich ein Skill sicher in allen fünf Tools öffnet.

Auch bei zwei Skills mit gleichem Namen verhalten sich die Tools verschieden. Der Leitfaden des Standards beschreibt es als gemeinsame Konvention aller Tools, dass der Projekt-Skill dem persönlichen vorgeht; die Dokumentation von Gemini CLI und Copilot CLI hält sich daran. In der Dokumentation von Claude Code ist die Reihenfolge umgekehrt: Der persönliche Skill geht dem im Projekt vor. Codex führt die beiden nicht zusammen und zeigt beide in der Liste.

Auch Unterordner werden unterschiedlich gelesen. Claude Code und Codex lesen jeden skills-Ordner vom Ordner, in dem Sie die Sitzung gestartet haben, bis hinauf zum Wurzelverzeichnis des Repositorys. Cursor findet jeden Ordner .cursor/skills oder .agents/skills im Repository und schlägt die Skills darin nur vor, während Sie mit Dateien in diesem Ordner arbeiten. Gemini CLI schaut im skills-Ordner nur eine Ebene tief: .gemini/skills/<name>/SKILL.md wird gefunden, alles darunter nicht.

Wie nutzt man denselben Skill in allen fünf Tools?

Liegen Ihre Skills in .agents/skills, lesen Codex, Cursor, Gemini CLI und Copilot sie; für Claude Code braucht es einen Schritt mehr. Der kürzeste Weg, den die Dokumentation stützt: Schreiben Sie den Skill unter .agents/skills/<name>/ und lassen Sie .claude/skills/<name> per Symlink darauf zeigen.

bash
mkdir -p .claude/skills
# der Skill liegt in .agents/skills/pr-zusammenfassung/SKILL.md
ln -s ../../.agents/skills/pr-zusammenfassung .claude/skills/pr-zusammenfassung
git add .claude/skills/pr-zusammenfassung

Die Dokumentation von Claude Code schreibt, dass ein Skill-Ordner (.claude/skills/<name>) ein Symlink auf einen Ordner an anderer Stelle sein darf. Zeigen mehrere Orte auf dasselbe Ziel, lädt Claude Code den Skill trotzdem nur einmal. Den ganzen Ordner .claude/skills zu einem einzigen Symlink zu machen, erwähnt die Dokumentation nicht; sie beschreibt einen Link pro Skill. Wenn Sie in die andere Richtung verlinken: Auch die Dokumentation von Codex schreibt, dass Codex dem Ziel verlinkter Skill-Ordner folgt.

Arbeitet jemand im Team unter Windows, achten Sie auf eines. Laut der Git-Dokumentation wird ein Symlink bei ausgeschaltetem core.symlinks als kleine Textdatei ausgecheckt, in der der Pfad des Links steht. Und git clone schaltet diese Einstellung selbst aus, wenn das Dateisystem keine Symlinks unterstützt. Prüfen Sie deshalb eigens, ob der Link auf diesem Rechner funktioniert.

Wir haben uns auch angesehen, was beliebte Repositorys tun. Für den Beitrag zu AGENTS.md hatten wir am 13. Oktober 2026 die 100 Repositorys mit den meisten Sternen untersucht; diesmal haben wir in denselben Dateibäumen nach SKILL.md gesucht. Von den 98 Repositorys, deren Dateibaum wir vollständig lesen konnten, haben 41 mindestens eine SKILL.md. Davon legen 21 ihre Skills in einem Tool-Ordner im Wurzelverzeichnis ab:

Unter dem Namen: die Tools, deren Dokumentation den Ordner nennt. Ein Repository kann in zwei Zeilen stehen. .agents/skills (Codex, Cursor, Gemini CLI, Copilot): 10 Repositorys; .github/skills (Copilot): 6 Repositorys; .claude/skills (Claude Code, Cursor, Copilot): 5 Repositorys; .cursor/skills (Cursor): 2 Repositorys.
Die 21 Repositorys, die eine SKILL.md in einem Tool-Ordner im Wurzelverzeichnis haben, nach Ordner. Ein Repository kann in zwei Ordnern zugleich vorkommen; ein Ordner, der nur ein Symlink ist, wurde nicht gezählt; sein Repository zählt bei dem Ordner, auf den der Link zeigt. Quelle: die 98 der 100 Repositorys mit den meisten Sternen auf GitHub, deren Dateibaum vollständig lesbar war, 13. Oktober 2026.

Am häufigsten ist .agents/skills, der Ordner, den vier Tools lesen. 7 Repositorys verbinden die beiden Ordner per Symlink. Bei 5 davon zeigt .claude/skills auf .agents/skills, bei 1 umgekehrt .agents/skills auf .claude/skills, und bei 1 zeigt .claude/skills auf den Copilot-Ordner .github/skills. vercel/next.js und flutter/flutter verlinken den ganzen Ordner .claude/skills. langgenius/dify verlinkt dagegen jeden Skill einzeln, also so, wie es die Dokumentation von Claude Code beschreibt.

Was gehört an den Anfang einer SKILL.md?

Eine SKILL.md besteht aus zwei Teilen: ganz oben YAML zwischen zwei Zeilen --- (das Frontmatter), darunter Anweisungen in Markdown. Der Standard definiert sechs Felder für das Frontmatter:

Frontmatter-Felder einer SKILL.md im Standard Agent Skills, ob sie Pflicht sind, und ihre Regeln
FeldPflichtRegel im Standard
nameJaHöchstens 64 Zeichen; Kleinbuchstaben, Ziffern und Bindestriche; gleich dem Namen des Ordners
descriptionJaHöchstens 1.024 Zeichen; sagt, was der Skill tut und wann er genutzt wird
licenseNeinName der Lizenz oder eine Lizenzdatei, die mit dem Skill kommt
compatibilityNeinHöchstens 500 Zeichen; die nötige Umgebung (Produkt, Pakete, Netzwerkzugang)
metadataNeinFreie Schlüssel-Wert-Paare
allowed-toolsNeinVorab erlaubte Werkzeuge; experimentell

Quelle: Spezifikation von Agent Skills, 18. Oktober 2026.

Die Tools wenden diese Regeln unterschiedlich streng an:

  • In Claude Code sind alle Felder optional, nur description wird empfohlen. Fehlt name, wird der Name des Ordners verwendet. Felder, die es nicht kennt, ignoriert Claude Code ohne Fehlermeldung.
  • Codex, Cursor, Gemini CLI und Copilot verlangen name und description.
  • Gemini CLI überspringt die Datei stillschweigend, wenn eines der beiden Felder fehlt oder vor der ersten Zeile --- irgendetwas steht (eine Überschrift, ein Kommentar, sogar eine Leerzeile). Den Namen des Skills nimmt es außerdem aus dem Feld name, nicht aus dem Ordner; der Standard und Cursor verlangen dagegen, dass der Name dem Ordnernamen entspricht.
  • Copilot CLI erlaubt im Namen auch Großbuchstaben, Leerzeichen, Unterstriche, Punkte und Doppelpunkte. Der Standard lässt nur Kleinbuchstaben, Ziffern und Bindestriche zu.

Die Regeln zu XML-Tags stammen nicht vom Standard, sondern von Anthropic. Nach den Regeln von Anthropic für claude.ai und die API dürfen name und description keine XML-Tags enthalten, und name darf die Wörter “anthropic” und “claude” nicht enthalten. Felder, die es nur in Claude Code gibt (etwa when_to_use, context und hooks), funktionieren in Claude Code. Laden Sie denselben Skill aber nach claude.ai oder in die Skills API hoch, bricht jedes Feld außerhalb des Standards den Upload ab: Unexpected key(s) in SKILL.md frontmatter.

Wollen Sie einen Skill in mehreren Tools nutzen, beginnen Sie nur mit den Feldern des Standards. Das Beispiel unten nutzt nur die beiden Pflichtfelder und hält sich an die Feldregeln in der Dokumentation aller fünf Tools:

BEISPIEL. Eine portable SKILL.md. .agents/skills/pr-zusammenfassung/SKILL.md: --- / name: pr-zusammenfassung / description: Fasst den Branch /   als PR-Beschreibung zusammen. /   Nutze ihn für PR-Übersichten /   oder bei „was wurde geändert“. / --- / # PR-Zusammenfassung / 1. Lies die Ausgabe von git diff main...HEAD. / 2. Fasse die Änderung in drei Punkten zusammen. / 3. Fehlen Tests, lies references/tests.md.. name: Gleich dem Namen des Ordners. description: Was er tut und wann, in den Worten der Nutzer. references/: Wird nur bei Bedarf gelesen.
Eine SKILL.md als Beispiel: die beiden Pflichtfelder des Standards, ein kurzer Hauptteil und eine Nachschlagedatei, die nur bei Bedarf gelesen wird. Regeln aus der Spezifikation von Agent Skills und der Skill-Dokumentation der Tools, 18. Oktober 2026.

Wenn Sie entscheiden, was in den Hauptteil kommt, stellen Sie jeder Zeile die Frage aus dem Leitfaden des Standards: Würde der Agent diese Aufgabe ohne diese Anweisung falsch machen? Lautet die Antwort Nein, löschen Sie die Zeile. Verschieben Sie lange Nachschlagetexte nach references/ und verlinken Sie sie direkt aus der SKILL.md. Der Standard und der Leitfaden von Anthropic empfehlen beide, Nachschlagedateien nur eine Ebene von der SKILL.md entfernt abzulegen.

Was gehört in die Beschreibung?

Bevor der Agent einen Skill wählt, sieht er nur dessen Beschreibung. Der Leitfaden des Standards sagt es deutlich: “the description carries the entire burden of triggering.” Die Dokumentation der Tools sagt dasselbe: Claude Code, Codex, Cursor und Copilot wählen einen Skill anhand seiner Beschreibung. Auch laut dem Leitfaden von Gemini CLI ist die Beschreibung die einzige Information, die das Modell hat, bevor es den Skill öffnet.

  • Schreiben Sie, was der Skill tut und wann er gebraucht wird. Der Standard, Claude Code, Cursor und Copilot verlangen beides zusammen. Eine Beschreibung wie “Helps with PDFs.” sagt dem Agenten nichts; sie ist das schlechte Beispiel aus dem Standard selbst.
  • Nutzen Sie die Wörter Ihrer Nutzer. Die Liste zur Fehlersuche von Claude Code beginnt genau hier: Enthält die Beschreibung Schlüsselwörter, die Nutzer ganz natürlich sagen würden?
  • Setzen Sie das Wichtigste an den Anfang. Passt die Liste nicht, werden Beschreibungen gekürzt. Claude Code schneidet jede Beschreibung in der Liste nach 1.536 Zeichen ab. Codex kürzt bei vielen installierten Skills zuerst die Beschreibungen; seine Dokumentation empfiehlt deshalb, Anwendungsfall und Auslösewörter an den Anfang zu stellen.
  • Grenzen Sie ihn von ähnlichen Skills ab. Der Leitfaden von Gemini CLI verlangt Beschreibungen, die sich voneinander unterscheiden und auch von dem, was das Modell ohnehin kann.

Bei der Perspektive gehen die Leitfäden auseinander. Der Leitfaden von Anthropic verlangt die dritte Person und schreibt, dass Beschreibungen, die mit “I can help you…” oder “You can use this…” beginnen, das Auffinden stören können. Der Leitfaden von agentskills.io empfiehlt dagegen, die Beschreibung wie eine Anweisung an den Agenten zu schreiben, nach dem Muster “Use this skill when…”. Die Beispiele beider Leitfäden gehen denselben Weg: zuerst, was der Skill tut, dann mit “Use when…”, wann er genutzt wird. Auch das Beispiel oben ist so geschrieben.

Auch eine gute Beschreibung garantiert nicht, dass der Skill jedes Mal geöffnet wird. Laut dem Leitfaden des Standards greifen Agenten vor allem bei Aufgaben auf Skills zurück, die sie allein nicht schaffen. Eine Bitte in einem Schritt wie „Lies dieses PDF“ öffnet einen PDF-Skill unter Umständen nicht, selbst wenn die Beschreibung genau passt. Für Copilot schreibt auch die Dokumentation von VS Code, dass das Auffinden nicht garantiert, dass der Skill bei jedem passenden Prompt aufgerufen wird.

Rufen Sie den Skill selbst auf, oder wählt ihn der Agent?

Beides geht. In allen fünf Tools kann der Agent einen Skill, den er für die Aufgabe passend findet, von selbst öffnen. Wie Sie einen Skill von Hand aufrufen und wie Sie verhindern, dass der Agent ihn selbst wählt, hängt vom Tool ab:

Einen Skill in fünf Tools von Hand aufrufen und verhindern, dass der Agent ihn von selbst öffnet
ToolVon Hand aufrufenAgent soll ihn nicht selbst öffnen
Claude Code/namedisable-model-invocation: true
Codex$name oder /skillsIn agents/openai.yaml allow_implicit_invocation: false
Cursor/name; gilt nur für diese eine Nachrichtdisable-model-invocation: true
Gemini CLISteht nicht in der Dokumentation; das Werkzeug, das einen Skill öffnet, ruft nur der Agent aufSteht nicht in der Dokumentation; /skills disable <name> schaltet den Skill ganz ab
GitHub Copilot/name im Promptdisable-model-invocation: true

Quelle: die Skill-Dokumentation des jeweiligen Tools, 18. Oktober 2026. In Claude Code und Copilot bewirkt user-invocable: false das Gegenteil: Nur der Agent kann den Skill öffnen.

Bei Aufgaben mit Nebenwirkungen schalten Sie die eigene Wahl des Agenten ab. Die Dokumentation von Claude Code sagt es so: “You don't want Claude deciding to deploy because your code looks ready.” Skills, die deployen, committen oder Nachrichten verschicken, gehören dazu. Mit dieser Einstellung setzt Claude Code die Beschreibung des Skills gar nicht erst in den Kontext, sie belegt also auch keinen Platz in der Liste. Ein Beispiel für einen Skill, den Sie von Hand aufrufen und der eine Review-Anfrage zum Befehl /pruefen macht, finden Sie in unserem Beitrag zum Code-Review-Prompt.

In Gemini CLI ist es anders: activate_skill, das Werkzeug, das einen Skill öffnet, kann nur der Agent aufrufen, nicht Sie. Dafür fragt der Agent jedes Mal, wenn er einen Skill öffnet, um Ihre Zustimmung.

Woran erkennt man, ob ein Skill funktioniert?

Die Dokumentation von Claude Code beginnt mit einer Warnung: “Seeing a skill trigger tells you Claude found it, not that it did what you intended.” Ob ein Skill geöffnet wird und ob er die Aufgabe richtig erledigt, sind zwei getrennte Fragen, und jede wird für sich gemessen.

Gemessen werden beide durch Vergleich. Sammeln Sie einige realistische Prompts; führen Sie jeden in einer neuen Sitzung einmal mit eingeschaltetem und einmal mit ausgeschaltetem Skill aus und legen Sie die Ergebnisse nebeneinander. Die neue Sitzung ist wichtig, weil der Kontext, der beim Schreiben des Skills entstanden ist, Lücken in den Anweisungen verdeckt.

Um zu messen, wie oft ein Skill geöffnet wird, gibt der Leitfaden von agentskills.io ein konkretes Rezept:

  • Schreiben Sie etwa 20 Prompts: Die Hälfte soll den Skill öffnen, die andere Hälfte nicht.
  • Nehmen Sie die Prompts, die ihn nicht öffnen sollen, aus ähnlichen Aufgaben. Prompts mit denselben Wörtern, die aber etwas anderes wollen, zeigen am besten, wie trennscharf die Beschreibung ist.
  • Das Modell entscheidet nicht jedes Mal gleich. Führen Sie jeden Prompt mehrmals aus (3 Mal ist ein guter Anfang) und berechnen Sie, wie oft der Skill geöffnet wurde.
  • Als Schwelle ist 0,5 vernünftig: Bei Prompts, die den Skill öffnen sollen, sollte die Quote darüber liegen, bei den anderen darunter.

Ein einzelner Versuch zählt deshalb nicht als Ergebnis. Dass derselbe Prompt den Skill in einem Lauf öffnet und im nächsten nicht, ist normal; wenn Sie eine Beschreibung ändern, führen Sie dieselben Prompts genauso oft erneut aus.

Was prüft man, bevor man einen fremden Skill installiert?

Ein Skill ist nicht nur Text: Er kann Skripte ausführen, bestimmte Werkzeuge ohne Rückfrage freigeben und den Agenten mit seinen Anweisungen lenken. Die Dokumentation von Anthropic schreibt, dass ein bösartiger Skill den Agenten zu Werkzeugaufrufen oder Codeausführung bringen kann, die nicht zu seinem angegebenen Zweck passen, und empfiehlt, Skills nur aus Quellen zu nutzen, denen Sie vertrauen.

Das prüfen Sie vor der Installation. Ein Skill kann Skripte ausführen und Werkzeuge freigeben. Lesen Sie SKILL.md ganz durch: Suchen Sie nach versteckten Anweisungen und Prompt Injection. Lesen Sie die Skripte: Ist der Skill geöffnet, kann der Agent sie ausführen. Prüfen Sie das Feld allowed-tools: Die aufgeführten Werkzeuge laufen ohne Rückfrage. Geben Sie shell und bash nicht vorab frei: Die Dokumentation von Copilot warnt eigens davor. Legen Sie die Version fest: Nutzen Sie --pin, wenn Sie mit gh skill installieren.
Was Sie prüfen sollten, bevor Sie einen Skill installieren, den jemand anderes geschrieben hat. Quelle: die Skill-Dokumentation von Anthropic, Claude Code und Copilot, 18. Oktober 2026.

Beim Vertrauen verhalten sich die Tools unterschiedlich:

  • Claude Code wendet das Feld allowed-tools eines Projekt-Skills sogar in einem -p-Lauf in einem Ordner an, dem Sie nie vertraut haben. Die Dokumentation bittet deshalb, dieses Feld in Skills aus dem Repository zu lesen, bevor Sie Claude Code dort starten. Das Feld schränkt keine Werkzeuge ein; es erlaubt, die aufgeführten Werkzeuge in der Runde, in der der Skill aufgerufen wird, ohne Rückfrage zu nutzen.
  • Copilot schreibt, dass mit gh skill installierte Skills nicht von GitHub geprüft werden und Prompt Injection, versteckte Anweisungen oder schädliche Skripte enthalten können. Vor der Installation empfiehlt es einen Blick mit gh skill preview.
  • Gemini CLI lässt Sie bei der Installation von einer entfernten Adresse die Quelle bestätigen und fragt jedes Mal um Erlaubnis, wenn es einen Skill öffnet. Projekt-Skills unter .gemini/skills lädt es außerdem nur, wenn der Arbeitsordner als vertrauenswürdig markiert ist.
  • Codex und Cursor haben auf ihren Skill-Seiten keine Regel zum Vertrauen: Steht nicht in der Dokumentation.

Auch der Leitfaden des Standards für Tool-Entwickler empfiehlt, Projekt-Skills nur in Ordnern zu laden, die als vertrauenswürdig markiert sind. Ein frisch geklontes Repository kann unbemerkt Anweisungen in den Kontext des Agenten bringen.

Wann nimmt man einen Skill, wann AGENTS.md?

Das eine ersetzt das andere nicht, und beliebte Repositorys nutzen beides. Von den 41 untersuchten Repositorys mit einer SKILL.md haben 35 im Wurzelverzeichnis auch eine AGENTS.md oder CLAUDE.md.

Entscheidend ist, wann eine Information gebraucht wird. Was für jede Aufgabe gilt (der Aufbau des Projekts, Build-Befehle, Regeln wie „Mach das nie“), gehört in die Regeldatei; ein Ablauf, den Sie ab und zu brauchen, oder ein langer Nachschlagetext gehört in einen Skill. Der Maßstab aus der Dokumentation von Claude Code hilft: Ist ein Abschnitt in CLAUDE.md keine Information mehr, sondern ein Ablauf, machen Sie einen Skill daraus.

Vercel ist dieser Frage in einem Beitrag vom 27. Januar 2026 mit eigenen Tests nachgegangen. In Tests zu den APIs von Next.js 16 wurde der Skill in 56 % der Fälle gar nicht aufgerufen. Ein 8 KB großer Dokumentationsindex, direkt in AGENTS.md eingebettet, erreichte eine Erfolgsquote von 100 %; das beste Ergebnis des Skills lag bei 79 %. Das ist die Messung eines einzigen Teams zu einem einzigen Thema, und der Beitrag sagt auch nicht, mit wie vielen Aufgaben gemessen wurde. Vercels eigenes Fazit lautet auch nicht „entweder oder“: “The two approaches complement each other.” Laut dem Beitrag funktionieren bestimmte Abläufe, die der Nutzer ausdrücklich startet, als Skill besser.

Eine Regel, die in jedem Pull Request gelten muss, ist ebenfalls Sache der Regeldatei. Wenn diffox einen Pull Request prüft, liest es die AGENTS.md im Wurzelverzeichnis des Repositorys, sonst die CLAUDE.md, und nutzt die Regeln darin als Review-Regeln. Soll eine Regel in jedem Review gelten, schreiben Sie sie in die Regeldatei.

Häufige Fragen

Was ist SKILL.md, und in welchen Tools funktioniert sie?

SKILL.md ist die Hauptdatei eines Skills: Oben stehen Name und Beschreibung, darunter die Anweisungen, denen der Agent folgt. Der Skill selbst ist der Ordner mit dieser Datei und, wenn gewünscht, mit Skripten und Nachschlagedokumenten. Das Format ist ein offener Standard. Stand 18. Oktober 2026 bauen Claude Code, Codex, Cursor, Gemini CLI und GitHub Copilot darauf auf; die eigene Liste des Standards nennt 46 Produkte.

In welchen Ordner kommen Skills in Claude Code?

Im Projekt nach .claude/skills/<name>/SKILL.md, persönlich nach ~/.claude/skills/<name>/SKILL.md. Claude Code liest jeden Ordner .claude/skills vom Startordner bis hinauf zum Wurzelverzeichnis des Repositorys. Gibt es denselben Namen an zwei Orten, gilt der persönliche Skill. Die Dokumentation nennt .agents/skills nicht; liegen Ihre Skills dort, können Sie jeden einzeln aus .claude/skills per Symlink verlinken.

Wo liegt der Skills-Ordner von Codex?

Im Projekt liest Codex den Ordner .agents/skills auf jeder Ebene, vom Startordner bis zum Wurzelverzeichnis des Repositorys. Persönliche Skills liegen in $HOME/.agents/skills, Skills des Administrators in /etc/codex/skills. Einen Skill rufen Sie auf, indem Sie $name eingeben oder /skills nutzen; Codex kann einen passenden Skill aber auch selbst anhand seiner Beschreibung wählen.

Aus welchen Ordnern lesen Cursor, Gemini CLI und Copilot Skills?

Cursor liest im Projekt .agents/skills und .cursor/skills, aus Kompatibilitätsgründen auch .claude/skills und .codex/skills. Gemini CLI liest .gemini/skills und .agents/skills; gibt es in beiden denselben Namen, gilt der aus .agents/skills. Copilot liest .github/skills, .agents/skills und .claude/skills. Für persönliche Skills lesen alle drei ~/.agents/skills.

Was ist der Unterschied zwischen Agent Skills und AGENTS.md?

AGENTS.md wird in jeder Sitzung vollständig gelesen; sie ist für Informationen und Regeln, die bei jeder Aufgabe gelten. Von einem Skill werden zu Beginn der Sitzung nur Name und Beschreibung gelesen, seine Anweisungen werden geladen, wenn eine Aufgabe dazu passt; er ist für Abläufe, die man ab und zu braucht, und für lange Nachschlagetexte. Beides wird zusammen genutzt: Von den 41 untersuchten Repositorys mit einer SKILL.md haben 35 im Wurzelverzeichnis auch eine AGENTS.md oder CLAUDE.md.

Wie lang darf die Beschreibung eines Skills sein?

Im Standard 1.024 Zeichen. Copilot CLI und die Regeln von Anthropic für claude.ai und die API setzen dieselbe Grenze. Claude Code nennt keine Obergrenze, schneidet die Beschreibung (zusammen mit when_to_use) in der Skill-Liste aber nach 1.536 Zeichen ab. Die Dokumentation von Codex, Cursor und Gemini CLI nennt keine Grenze. Welches Tool es auch ist: Setzen Sie das Wichtigste an den Anfang. In claude.ai und der API darf die Beschreibung außerdem keine XML-Tags enthalten.

Warum wird mein Skill nicht ausgelöst?

Prüfen Sie zuerst die Beschreibung: Enthält sie die Wörter, die Nutzer sagen würden, und steht darin, wann der Skill genutzt werden soll? Sind viele Skills installiert, passte die Beschreibung vielleicht nicht in die Liste oder wurde gekürzt. Ist in Claude Code das YAML fehlerhaft, wird der Skill mit leeren Feldern geladen und kann nicht über seine Beschreibung gefunden werden. Gemini CLI überspringt die Datei stillschweigend, wenn ein Pflichtfeld fehlt oder vor der ersten Zeile --- etwas steht. Ist die Aufgabe so einfach, dass der Agent sie allein schafft, öffnet er den Skill womöglich gar nicht. Ist disable-model-invocation eingeschaltet, öffnet der Agent ihn ohnehin nicht. Um sicherzugehen, rufen Sie den Skill mit seinem Namen auf.