Erstellen einer Fähigkeit mit SKILL.md
Auf dieser Seite
Lektion aktualisiert am 2. November 2026 basierend auf der Seite Skills in der Vibe-Dokumentation: Eine Fähigkeit ist ein Satz von Anweisungen (sie fügt keine Tools hinzu),
allowed-toolswird gelesen, ist aber nicht durchgesetzt, und zwei Felder wurden hinzugefügt (disable-model-invocation,compatibility). Quelle: Skills.
Fähigkeiten: Wiederverwendbare Komponenten
Agenten definieren wer eine Aufgabe ausführt. Fähigkeiten definieren was: Sie sind wiederverwendbare Anweisungssätze, die Vibe mit Verfahren und Slash-Befehlen erweitern. Der Unterschied wird konkret, wenn Sie ihn auf Ihr Team anwenden: Ein Agent spiegelt eine persönliche Arbeitsweise wider, während eine Fähigkeit ein Verfahren kapselt, das jeder auf dieselbe Weise ausführen muss.
Eine Fähigkeit ist ein Verzeichnis, das eine SKILL.md-Datei mit einer YAML-Frontmatter enthält. Diese Struktur folgt der offenen Agent Skills-Spezifikation, wodurch Fähigkeiten portabel und teilbar werden: Der gleiche Ordner funktioniert auf dem Computer Ihres Kollegen ohne Anpassung.
Anatomie einer SKILL.md
Hier ist die vollständige Struktur einer Fähigkeit, illustriert durch ein Beispiel für automatisierten Code-Review:
---
name: code-review
description: Führt automatisierte Code-Reviews mit Qualitätsanalyse durch
license: MIT
user-invocable: true
allowed-tools:
- read_file
- grep
- ask_user_question
---
# Code Review Skill
Diese Fähigkeit analysiert die Qualität von Quellcode durch Prüfung von:
1. **Namenskonventionen** — Variablen, Funktionen, Klassen
2. **Zyklomatische Komplexität** — Funktionen, die zu lang oder verschachtelt sind
3. **Duplizierung** — kopierte Code-Teile zur Refaktorierung
4. **Sicherheit** — gefährliche Muster (eval, SQL-Injection, XSS)
## Verwendung
Führen Sie `/code-review` gefolgt vom Pfad oder einer Beschreibung des zu analysierenden Codes aus.
## Ausgabeformat
Der Bericht ist in drei Ebenen strukturiert:
- 🔴 **Kritisch** — sofort beheben
- 🟡 **Warnung** — vor dem Merge beheben
- 🟢 **Vorschlag** — optionale Verbesserung
Die Felder der YAML-Frontmatter
Das Feld name ist der eindeutige Identifikator für die Fähigkeit. Er wird verwendet, um die Fähigkeit zu aktivieren, zu deaktivieren und in Konfigurationen zu referenzieren. Dieser Name wird auch zum Slash-Befehl, daher lohnt es sich, ihn kurz zu halten.
name: code-review
Das Feld description, bis zu 1.024 Zeichen, ist der Satz, der erscheint, wenn Vibe verfügbare Fähigkeiten auflistet. Schreiben Sie es aus der Perspektive einer Suchenden: Es sollte ermöglichen, zwischen zwei ähnlichen Fähigkeiten zu wählen, ohne die Dateien zu öffnen.
description: Führt automatisierte Code-Reviews mit Qualitätsanalyse durch
Das Feld license gibt die Lizenz der Fähigkeit an, was wichtig wird, sobald Sie sie über Ihren eigenen Arbeitsplatz hinaus teilen.
license: MIT
Das boolesche Feld user-invocable, standardmäßig auf true gesetzt, stellt die Fähigkeit als Slash-Befehl dar. Setzen Sie es auf false, um sie aus dem /-Menü auszublenden: Der Agent kann sie dennoch automatisch laden, wenn die Aufgabe dazu passt.
user-invocable: true # Über /code-review erreichbar
user-invocable: false # Aus /-Menü ausgeblendet, Agent kann sie dennoch laden
Das Feld disable-model-invocation, wenn auf true gesetzt, verhindert, dass der Agent die Fähigkeit eigenständig lädt: Sie wird nur ausgeführt, wenn Sie /skill-name eingeben. Reservieren Sie dies für Verfahren, die das Modell ohne Ihre ausdrückliche Zustimmung nicht auslösen darf, wie z. B. eine Bereitstellung.
disable-model-invocation: true
Zwei Informationsfelder vervollständigen die Liste: compatibility, das Voraussetzungen notiert („Erfordert git”), und allowed-tools, das die Tools auflistet, die die Fähigkeit beabsichtigt zu verwenden. Seien Sie beim letzteren vorsichtig: Die Dokumentation gibt an, dass Vibe es liest, aber es wird nicht durchgesetzt. Eine Fähigkeit kann jedes Tool aufrufen, das der aktive Agent autorisiert. Um einzuschränken, was eine Fähigkeit tun kann, beschränken Sie die Tools und Berechtigungen des Agents (Lektionen 2 und 3).
allowed-tools:
- read_file
- grep
- ask_user_question
Der Körper von SKILL.md
Nach der Frontmatter ist der Körper der Datei freiform Markdown. Er dient sowohl als Dokumentation als auch als Prompt: Vibe liest ihn, um zu verstehen, wie die Fähigkeit funktioniert und in welchem Kontext sie angewendet werden soll. Hier beschreiben Sie, was die Fähigkeit tut, die Schritte ihrer Operation, das erwartete Ausgabeformat und Beispiele für die Verwendung. Ein vager Körper führt zu einer unvorhersehbaren Fähigkeit; ein präziser Körper führt zu einer Fähigkeit, die Woche für Woche das gleiche Ergebnis liefert.
Erstellen Ihrer ersten Fähigkeit
Bauen wir eine Fähigkeit zur Testgenerierung. Beginnen Sie mit der Erstellung des Verzeichnisses:
mkdir -p ~/.vibe/skills/test-generator
Platzieren Sie die folgende SKILL.md darin. Beachten Sie, wie der Körper Fragen beantwortet, die Vibe sonst raten müsste: Welches Framework zu wählen ist, wie Blöcke benannt werden sollen und wo die Ausgabe-Datei geschrieben wird.
---
name: test-generator
description: Generiert Unit-Tests für TypeScript/JavaScript-Funktionen
license: MIT
user-invocable: true
allowed-tools:
- read_file
- write_file
- grep
---
# Test Generator
Generiert umfassende Unit-Tests für
TypeScript- und JavaScript-Funktionen.
## Prozess
1. Lesen Sie die Ziell Quelldatei
2. Identifizieren Sie alle exportierten Funktionen
3. Für jede Funktion generieren Sie:
- Happy-Path-Test
- Test mit leeren/null Eingaben
- Grenzwert-Tests
- Erwartete Fehler-Tests
4. Schreiben Sie Tests in eine benachbarte `.test.ts`-Datei
## Konventionen
- Framework: Vitest (Standard) oder Jest, wenn erkannt
- Benennung: `describe` pro Funktion, `it` pro Testfall
- Assertions: `expect` mit präzisen Matchern
- Keine Mocks, es sei denn, sie sind notwendig (externe Abhängigkeiten)
## Beispiel
Für eine Datei `utils/math.ts` mit `add(a, b)`
generiert die Fähigkeit `utils/math.test.ts` mit entsprechenden Tests.
Sobald die Datei erstellt ist, ist die Fähigkeit sofort verfügbar: kein Installationsbefehl, kein Neustart. Starten Sie Vibe und rufen Sie sie an einer echten Datei auf.
vibe
# > /test-generator src/utils/math.ts
Vibe lädt die Fähigkeit, liest ihre SKILL.md, um das erwartete Verhalten zu verstehen, und führt die Aufgabe mit den autorisierten Tools aus. Nehmen Sie sich Zeit, das Ergebnis zu lesen: Durch den Vergleich der Ausgabe mit dem, was Sie sich vorgestellt haben, werden Sie den Dateikörper verfeinern.
Best Practices
Halten Sie sich an eine Fähigkeit pro Feature. Das Mischen von Code-Review und Testgenerierung in einer einzigen Datei erzeugt einen Prompt, der zögert, und verhindert, dass Sie eines deaktivieren, ohne das andere zu verlieren. Ebenso beschränken Sie die autorisierten Tools auf diejenigen, die die Fähigkeit tatsächlich benötigt.
Der Rest hängt von der Qualität des Schreibens ab. Der Körper von SKILL.md ist Ihr Prompt: Seien Sie präzise und schließen Sie konkrete Beispiele ein, was die Fähigkeit produziert — ein Ausgabe-Beispiel ist mehr wert als drei Zeilen Beschreibung. Testen Sie Ihre Fähigkeit schließlich an mehreren Fällen, einschließlich eines kniffligen, bevor Sie sie mit dem Team teilen.
Wichtige Erkenntnisse
- Eine Fähigkeit ist ein Verzeichnis mit einer
SKILL.md-Datei, die eine YAML-Frontmatter enthält - Die Frontmatter definiert den Namen, die Beschreibung, die erlaubten Tools und die Aufrufbarkeit
- Der Markdown-Körper dient sowohl als Dokumentation als auch als Prompt für Vibe
user-invocable: truemacht die Fähigkeit über einen Slash-Befehl erreichbar- Erstellen Sie spezialisierte Fähigkeiten mit den minimal notwendigen Tools