Was macht skill-stocktake?
Slash-Befehl (/skill-stocktake), der alle Claude-Skills und -Befehle anhand einer Qualitäts-Checkliste und einer ganzheitlichen KI-Bewertung auditieren. Unterstützt zwei Modi: Quick Scan für kürzlich geänderte Skills und Full Stocktake für eine vollständige Überprüfung.
Geltungsbereich
Der Befehl adressiert folgende Pfade relativ zum Verzeichnis, in dem er aufgerufen wird:
| Pfad | Beschreibung |
|---|---|
~/.claude/skills/ | Globale Skills (alle Projekte) |
{cwd}/.claude/skills/ | Projektspezifische Skills (wenn das Verzeichnis existiert) |
Zu Beginn von Phase 1 listet der Befehl explizit auf, welche Pfade gefunden und durchsucht wurden.
Ein bestimmtes Projekt anvisieren
Um projektspezifische Skills einzubeziehen, führen Sie den Befehl im Wurzelverzeichnis des Projekts aus:
cd ~/pfad/zu/meinem-projekt
/skill-stocktake
Wenn das Projekt kein .claude/skills/-Verzeichnis besitzt, werden nur globale Skills und Befehle evaluiert.
Modi
| Modus | Auslöser | Dauer |
|---|---|---|
| Quick Scan | results.json existiert (Standard) | 5–10 Min. |
| Full Stocktake | results.json fehlt, oder /skill-stocktake full | 20–30 Min. |
Ergebnis-Cache: ~/.claude/skills/skill-stocktake/results.json
Quick-Scan-Ablauf
Es werden nur Skills neu bewertet, die sich seit dem letzten Lauf geändert haben (5–10 Min.).
~/.claude/skills/skill-stocktake/results.jsoneinlesen- Ausführen:
bash ~/.claude/skills/skill-stocktake/scripts/quick-diff.sh \ ~/.claude/skills/skill-stocktake/results.json(Projektverzeichnis wird automatisch aus$PWD/.claude/skillserkannt; bei Bedarf explizit übergeben) - Wenn die Ausgabe
[]ist: „Keine Änderungen seit dem letzten Lauf.“ melden und beenden - Nur diese geänderten Dateien erneut mit denselben Phase-2-Kriterien bewerten
- Unveränderte Skills aus den vorherigen Ergebnissen übernehmen
- Nur das Diff ausgeben
- Ausführen:
bash ~/.claude/skills/skill-stocktake/scripts/save-results.sh \ ~/.claude/skills/skill-stocktake/results.json <<< "$EVAL_RESULTS"
Full-Stocktake-Ablauf
Phase 1 – Inventur
Ausführen: bash ~/.claude/skills/skill-stocktake/scripts/scan.sh
Das Skript listet Skill-Dateien auf, extrahiert Frontmatter und sammelt UTC-Änderungszeitpunkte (mtimes).
Projektverzeichnis wird automatisch aus $PWD/.claude/skills erkannt; bei Bedarf explizit übergeben.
Scan-Zusammenfassung und Inventurtabelle aus der Skript-Ausgabe präsentieren:
Scanning:
✓ ~/.claude/skills/ (17 Dateien)
✗ {cwd}/.claude/skills/ (nicht gefunden — nur globale Skills)
| Skill | 7d Nutzung | 30d Nutzung | Beschreibung |
|---|
Phase 2 – Qualitätsbewertung
Einen Agent-Tool-Subagenten (Allzweck-Agent) mit der vollständigen Inventur und Checkliste starten:
Agent(
subagent_type="general-purpose",
prompt="
Bewerten Sie die folgende Skill-Inventur anhand der Checkliste.
[INVENTUR]
[CHECKLISTE]
Geben Sie JSON für jeden Skill zurück:
{ "verdict": "Keep"|"Improve"|"Update"|"Retire"|"Merge into [X]", "reason": "..." }
"
)
Der Subagent liest jeden Skill, wendet die Checkliste an und gibt pro Skill JSON zurück:
{ "verdict": "Keep"|"Improve"|"Update"|"Retire"|"Merge into [X]", "reason": "..." }
Chunk-Richtlinie: Pro Subagenten-Aufruf etwa 20 Skills verarbeiten, um den Kontext handhabbar zu halten. Zwischenergebnisse nach jedem Chunk in results.json speichern (status: "in_progress").
Nachdem alle Skills bewertet wurden: status: "completed" setzen, zu Phase 3 übergehen.
Fortsetzungserkennung: Wenn beim Start status: "in_progress" gefunden wird, beim ersten nicht bewerteten Skill fortsetzen.
Jeder Skill wird anhand dieser Checkliste bewertet:
- [ ] Inhaltliche Überschneidungen mit anderen Skills geprüft
- [ ] Überschneidungen mit MEMORY.md / CLAUDE.md geprüft
- [ ] Aktualität technischer Referenzen verifiziert (WebSearch verwenden, wenn Toolnamen / CLI-Flags / APIs vorhanden sind)
- [ ] Nutzungshäufigkeit berücksichtigt
Befundkriterien:
| Befund | Bedeutung |
|---|---|
| Keep | Nützlich und aktuell |
| Improve | Erhaltenswert, aber spezifische Verbesserungen nötig |
| Update | Referenzierte Technologie ist veraltet (mit WebSearch überprüfen) |
| Retire | Geringe Qualität, veraltet oder Kosten-Nutzen-Verhältnis ungünstig |
| Merge into [X] | Wesentliche Überschneidung mit einem anderen Skill; Zusammenführungsziel nennen |
Die Bewertung erfolgt als ganzheitliches KI-Urteil – keine numerische Bewertungsmatrix. Leitende Dimensionen:
- Handlungsorientierung: Codebeispiele, Befehle oder Schritte, die sofortiges Handeln ermöglichen
- Umfangsangemessenheit: Name, Auslöser und Inhalt stimmen überein; nicht zu breit oder zu eng
- Einzigartigkeit: Wert nicht durch MEMORY.md / CLAUDE.md / einen anderen Skill ersetzbar
- Aktualität: Technische Referenzen funktionieren in der aktuellen Umgebung
Anforderungen an die Begründungsqualität – das Feld reason muss in sich geschlossen und entscheidungsunterstützend sein:
- Nicht nur „unverändert“ schreiben – stets den Kernnachweis wiederholen
- Bei Retire: (1) angeben, welcher spezifische Mangel gefunden wurde, (2) was stattdessen den gleichen Bedarf abdeckt
- Schlecht:
„Überholt“ - Gut:
„disable-model-invocation: true bereits gesetzt; überholt durch continuous-learning-v2, das alle gleichen Muster plus Confidence-Scoring abdeckt. Kein einzigartiger Inhalt verblieben.“
- Schlecht:
- Bei Merge: Ziel benennen und beschreiben, welcher Inhalt integriert werden soll
- Schlecht:
„Überschneidung mit X“ - Gut:
„42-zeiliger dünner Inhalt; Schritt 4 von chatlog-to-article deckt bereits denselben Workflow ab. Den Tipp zum ‚Artikel-Winkel‘ als Notiz in jenes Skill integrieren.“
- Schlecht:
- Bei Improve: die spezifische Änderung beschreiben (welcher Abschnitt, welche Aktion, ggf. Zielgröße)
- Schlecht:
„Zu lang“ - Gut:
„276 Zeilen; Abschnitt ‚Framework-Vergleich‘ (Z. 80–140) dupliziert ai-era-architecture-principles; löschen, um auf ~150 Zeilen zu kommen.“
- Schlecht:
- Bei Keep (nur mtime-Änderung im Quick Scan): die ursprüngliche Befundbegründung wiederholen, nicht „unverändert“ schreiben
- Schlecht:
„Unverändert“ - Gut:
„mtime aktualisiert, aber Inhalt unverändert. Einzigartige Python-Referenz, die explizit von rules/python/ importiert wird; keine Überschneidung gefunden.“
- Schlecht:
Phase 3 – Zusammenfassungstabelle
| Skill | 7d Nutzung | Befund | Begründung |
|---|
Phase 4 – Konsolidierung
- Archivieren / Zusammenführen: Vor der Bestätigung mit dem Benutzer pro Datei eine detaillierte Begründung darlegen:
- Welches spezifische Problem wurde gefunden (Überschneidung, Veraltung, defekte Referenzen usw.)
- Welche Alternative deckt dieselbe Funktionalität ab (bei Retire: welches bestehende Skill / welche Regel; bei Merge: die Zieldatei und welcher Inhalt integriert werden soll)
- Auswirkungen der Entfernung (abhängige Skills, MEMORY.md-Referenzen oder betroffene Workflows)
- Verbessern: Spezifische Verbesserungsvorschläge mit Begründung präsentieren:
- Was soll geändert werden und warum (z. B. „430 auf 200 Zeilen kürzen, weil die Abschnitte X/Y python-patterns duplizieren“)
- Der Benutzer entscheidet, ob er tätig wird
- Aktualisieren: Aktualisierten Inhalt mit geprüften Quellen präsentieren
- MEMORY.md-Zeilenanzahl prüfen; Komprimierung vorschlagen, wenn >100 Zeilen
Schema der Ergebnisdatei
~/.claude/skills/skill-stocktake/results.json:
evaluated_at: Muss auf die tatsächliche UTC-Zeit des Bewertungsabschlusses gesetzt werden.
Ermittlung per Bash: date -u +%Y-%m-%dT%H:%M:%SZ. Niemals eine reine Datumsnäherung wie T00:00:00Z verwenden.
{
"evaluated_at": "2026-02-21T10:00:00Z",
"mode": "full",
"batch_progress": {
"total": 80,
"evaluated": 80,
"status": "completed"
},
"skills": {
"skill-name": {
"path": "~/.claude/skills/skill-name/SKILL.md",
"verdict": "Keep",
"reason": "Konkret, handlungsorientiert, einzigartiger Wert für X-Workflow",
"mtime": "2026-01-15T08:30:00Z"
}
}
}
Hinweise
- Die Bewertung erfolgt blind: Dieselbe Checkliste gilt für alle Skills unabhängig von ihrer Herkunft (ECC, selbst verfasst, automatisch extrahiert)
- Archivierungs-/Löschvorgänge erfordern stets eine explizite Benutzerbestätigung
- Keine Befundverzweigung nach Skill-Herkunft