Skill-Review & Validierung
Prozess
Schritt 1: Skill-Dateien finden
Akzeptiert Eingaben als:
- Pfad zu einem Skill-Verzeichnis
- Skill-Name (Suche in
~/.claude/skills/) - URL zu einem GitHub-Repository
Lies alle .md-Dateien, Skripte und Asset-Dateien.
Schritt 2: Strukturvalidierung
Führe python scripts/validate_skill.py <path> für programmatische Überprüfungen aus.
Manuelle Überprüfung:
- SKILL.md existiert (exakte Groß-/Kleinschreibung)
- Keine README.md im Skill-Ordner
- Ordnername stimmt mit
name-Feld überein - Gültige kebab-case-Benennung (1-64 Zeichen)
- Kein "claude" oder "anthropic" im Namen
Schritt 3: Frontmatter-Prüfung
| Prüfung | Bestehenskriterium |
|---|---|
| Namensformat | kebab-case, 1-64 Zeichen, keine führenden/nachgestellten Bindestriche |
| Beschreibung vorhanden | Nicht leer, 1-1024 Zeichen |
| Beschreibung enthält WAS | Erklärt Fähigkeiten |
| Beschreibung enthält WANN | Enthält Auslösephrasen |
| Beschreibung enthält Schlüsselwörter | Domain-spezifische Begriffe enthalten |
| Keine XML-Tags | Keine < oder > Zeichen |
| Optionale Felder gültig | Lizenz, Kompatibilität (<500 Zeichen), Metadaten |
Schritt 4: Trigger-Analyse
Bewertung der Beschreibung hinsichtlich Aktivierungsqualität:
Risiken einer zu geringen Auslösung:
- Zu generisch ("Hilft bei Projekten")
- Fehlende gängige Paraphrasen
- Keine Domain-Schlüsselwörter
- Fehlende Dateityp-Erwähnungen (falls relevant)
Risiken einer Überauslösung:
- Zu breit gefasst ("Verarbeitet Dokumente")
- Überschneidungen mit integrierten Claude-Funktionen
- Fehlende negative Trigger zur Disambiguierung
Testabfragen generieren:
- 5 Abfragen, die das Skill AUSLÖSEN sollten
- 5 Abfragen, die das Skill NICHT auslösen sollten
- 3 Grenzfälle (mehrdeutige Abfragen)
Schritt 5: Anweisungsqualität
| Kriterium | Bewertung (0-10) |
|---|---|
| Spezifität | Sind die Anweisungen umsetzbar? (nicht "ordnungsgemäß validieren") |
| Vollständigkeit | Sind alle Arbeitsabläufe abgedeckt? |
| Fehlerbehandlung | Werden häufige Fehler behandelt? |
| Beispiele | Sind konkrete Beispiele vorhanden? |
| Progressive Offenlegung | Detaillierte Dokumente in references/, nicht in SKILL.md? |
| Länge | Unter 500 Zeilen / 5000 Token? |
| Querverweise | Klare Links zu references/scripts/? |
Schritt 6: Architektur-Review (Multi-Skill)
Für Skills mit Sub-Skills:
- Haupt-Skill hat klare Routing-Tabelle
- Sub-Skills haben fokussierte Verantwortlichkeiten
- Querverweise sind gültig (Dateien existieren)
- Benennung folgt Konvention
parent-child - Gemeinsame Referenzen im Eltern-Skill, nicht dupliziert
- Agenten haben klare Rollen (falls Tier 4)
Schritt 7: Skript-Qualität (falls vorhanden)
- Docstrings mit Zweck, Eingabe, Ausgabe
- CLI-Schnittstelle (argparse oder ähnlich)
- Strukturierte Ausgabe (JSON)
- Fehlerbehandlung (try/except mit klaren Meldungen)
- Keine hartcodierten Pfade oder Geheimnisse
- Minimale Abhängigkeiten
Schritt 8: Skill-Gesundheitswert generieren
Bewertungsmethodik (0-100):
| Kategorie | Gewicht | Prüfungen |
|---|---|---|
| Frontmatter-Qualität | 25% | Name, Beschreibung, Format |
| Trigger-Genauigkeit | 20% | WAS + WANN + Schlüsselwörter |
| Anweisungsqualität | 25% | Spezifität, Vollständigkeit, Beispiele |
| Struktureinhaltung | 15% | Dateibenennung, Organisation, Referenzen |
| Skript-Qualität | 10% | Falls zutreffend (volle Punktzahl, wenn keine Skripte erforderlich) |
| Progressive Offenlegung | 5% | Korrekte Verwendung des 3-Ebenen-Systems |
Schritt 9: Trigger-Evaluierungsdatensatz generieren
Nach der Überprüfung einen strukturierten Trigger-Evaluierungsdatensatz für fortlaufende Tests generieren:
- Führe
python scripts/generate_eval_set.py <path>aus, um automatisch einen Startdatensatz zu erstellen - Überprüfe und verfeinere die generierten Abfragen:
- Stelle sicher, dass 8-10 Auslöse-Abfragen verschiedene Formulierungen und Grenzfälle abdecken
- Stelle sicher, dass 8-10 Nicht-Auslöse-Abfragen nahe Treffer sind (nicht offensichtlich irrelevant)
- Füge im Auslöse-Datensatz informelle Sprache, Tippfehler und ungewöhnliche Domain-Verwendungen ein
- Speichere den Evaluierungsdatensatz in
evals/evals.jsonim Skill-Verzeichnis
Gute Abfragen sind realistisch und spezifisch (enthalten Dateipfade, Kontext, Domain-Details). Schlechte Abfragen sind übermäßig generisch ("diese Daten formatieren") oder offensichtlich irrelevant.
- Führe
python scripts/optimize_description.py <path> --eval-set evals/evals.jsonaus, um die aktuelle Beschreibung zu bewerten und Verbesserungsvorschläge zu erhalten - Empfehle,
/skill-forge eval <path>für eine vollständige funktionale Evaluierung auszuführen
Schritt 10: Bericht generieren
# Skill-Review: [name]
## Gesundheitswert: [X]/100
## Zusammenfassung
[Bewertung in 2-3 Sätzen]
## Ergebnisse nach Kategorie
| Kategorie | Punktzahl | Anmerkungen |
|-----------|-----------|-------------|
| Frontmatter | X/25 | [Probleme] |
| Trigger | X/20 | [Probleme] |
| Anweisungen | X/25 | [Probleme] |
| Struktur | X/15 | [Probleme] |
| Skripte | X/10 | [Probleme] |
| Offenlegung | X/5 | [Probleme] |
## Kritische Probleme (sofort beheben)
- [Problem 1]
- [Problem 2]
## Hohe Priorität (innerhalb von 1 Woche beheben)
- [Problem 1]
## Empfehlungen
- [Vorschlag 1]
- [Vorschlag 2]
## Vorgeschlagene Testabfragen
### Sollte auslösen
1. [Abfrage]
2. [Abfrage]
3. [Abfrage]
### Sollte NICHT auslösen
1. [Abfrage]
2. [Abfrage]
3. [Abfrage]