8.9 KiB
| name | description | argument-hint | allowed-tools | |||
|---|---|---|---|---|---|---|
| vault-janitor | Organisiert den Vault durch Memory Distillation, Skill Audits und Integrity Checks. Extrahiert Patterns aus Logs, prüft YAML-Frontmatter und aktualisiert den vault-index. Für Wartung und Aufräumen. |
|
Read, Write, Edit, Glob, Grep, Bash |
ROLE
Du bist der "Hausmeister" dieses Vaults. Dein Ziel ist es, die Entropie zu verringern und sicherzustellen, dass Claude jederzeit die präzisesten und aktuellsten Informationen findet.
AUFGABEN-MODI
1. Memory Distillation (distill) - Wissen destillieren
Ziel: Extrahiere Patterns aus Session-Logs
Vorgehen:
- Scanne
/memory/log/nach allen .md Dateien (außer archive/) - Identifiziere wiederkehrende Muster:
- Gleiche Probleme (z.B. "N+1 Query" mehrfach erwähnt)
- Bewährte Lösungen (z.B. "select_related nutzen")
- Lessons Learned (aus "Lessons Learned" Sektionen)
- Für jedes Pattern (≥2 Vorkommen):
- Erstelle/Update Eintrag in
/memory/patterns.md - Format:
## Pattern-Name,**Problem:**,**Lösung:**,**Beispiel:**
- Erstelle/Update Eintrag in
- Verschiebe verarbeitete Logs nach
/memory/log/archive/ - Erstelle Report: Wieviele Patterns extrahiert, wieviele Logs archiviert
Trigger: Wenn ≥5 neue Logs vorhanden
2. Skill Audit (audit) - Fähigkeiten-Check
Ziel: Validiere alle Skills auf Konsistenz und Aktualität
Vorgehen:
- Finde alle
SKILL.mdFiles in/skills/ - Prüfe YAML-Frontmatter:
- Zeile 2:
name:vorhanden? (lowercase, hyphens only) - Zeile 3:
description:vorhanden? (max 200 Zeichen) argument-hint:vorhanden?allowed-tools:vorhanden?
- Zeile 2:
- Prüfe auf Konflikte:
- Duplikate (gleicher
name:mehrfach) - Widersprüchliche Anweisungen (z.B. Django 5.0 vs 5.2)
- Duplikate (gleicher
- Prüfe Aktualität:
- Veraltete Tech-Stacks (vs.
/knowledge/preferences.md) - Verweise auf nicht-existierende Dateien
- Veraltete Tech-Stacks (vs.
- Erstelle Report mit Findings (Critical, Warning, Info)
Output: Audit-Report in /memory/snapshots/YYYY-MM-DD_skill-audit.md
3. Skill-Proposal-Detection (propose) - NEU ✨
Ziel: Erkenne wiederholte Aufgaben und schlage neue Skills vor
Vorgehen:
- Scanne
/memory/log/nach Beschreibungen (Session-Logs) - Identifiziere wiederkehrende Aufgaben (≥3x gleiche Worte/Pattern)
- Für jedes Pattern:
- Generiere Skill-Name aus Aufgabe (lowercase, hyphens)
- Erstelle Proposal in
/skills/proposals/YYYY-MM-DD_<skill-name>.md - Template nutzen mit Trigger-Count und erkanntem Muster
- Verhindere Duplikate (skip wenn Proposal bereits existiert)
- Report: Wieviele neue Proposals erstellt
Beispiel:
- 3x "Django Model für X erstellen" → Proposal:
django-model-generator - 4x "API Tests schreiben" → Proposal:
api-test-generator
Output: Proposals in /skills/proposals/, Report mit Links
4. Projekt-Sync (sync-projects) - NEU ✨
Ziel: Synchronisiere alle Projekt-MEMORYs zwischen Claude und Vault
Vorgehen:
- Rufe
scripts/sync-project-memory.shauf (via Bash tool) - Lese Output und parse Sync-Status
- Erstelle Zusammenfassung:
- Wieviele Projekte synchronisiert
- Welche Richtung (Claude → Vault oder Vault → Claude)
- Konflikte (falls vorhanden)
- Report mit Details
Trigger: Täglich via Cron, oder manuell bei Multi-Projekt-Arbeit
5. Anti-Pattern-Detection (anti-pattern-detect) - NEU ✨
Ziel: Lerne aus Fehlern und dokumentiere Anti-Patterns
Vorgehen:
- Scanne
/memory/log/nach Fehler-Indikatoren:- Worte: "Fehler", "Bug", "Problem", "Fix", "Gefixt"
- Code-Snippets mit "ERROR", "FAILED"
- Für jeden Fehler:
- Extrahiere Kontext (was war das Problem?)
- Prüfe ob bereits in
/knowledge/anti-patterns/dokumentiert - Falls NEU: Erstelle Proposal für Anti-Pattern
- Nutze
/knowledge/anti-patterns/template.md - Output: Proposals in
/knowledge/anti-patterns/proposals/
Beispiel:
- 3x "Circular Import Problem" → Anti-Pattern:
circular-imports.md - 2x "Missing Migration" → Anti-Pattern:
missing-migrations.md
6. Statistics (stats) - NEU ✨
Ziel: Zeige Vault-Gesundheit und Aktivität
Vorgehen:
- Berechne Metriken:
- Skills: Total, lp-*, generic
- Agents: Total
- Memory: Logs (total, letzte 7 Tage), Snapshots, Patterns-Count
- Projekte: Total, Liste
- Proposals: Offen, umgesetzt
- Erstelle Snapshot in
/memory/snapshots/YYYY-MM-DD_stats.md - Zeige Top 5 Skills (aus skill-usage-matrix.md falls vorhanden)
- Zeige Trends (vs. letzter Stats-Snapshot)
- Empfehlungen basierend auf Metriken:
- Keine Logs → "Session-Logging aktivieren"
- Viele Proposals → "Proposals reviewen"
- Wenig Patterns → "Distillation durchführen"
Output: Stats-Snapshot + Terminal-Summary
7. Indexing & README (index)
Ziel: Aktualisiere vault-index.md mit allen Skills/Agents
Vorgehen:
- Scanne
/skills/für alle SKILL.md - Extrahiere aus YAML: name, description
- Gruppiere: League-Planner Skills (lp-*), Generic Skills
- Scanne
/agents/für alle .md Files - Aktualisiere
/vault-index.md:- Skill-Tabelle mit Name, Beschreibung, Prefix
- Agent-Tabelle mit Name, Beschreibung, Model, Farbe
- Sortiere alphabetisch innerhalb Gruppen
Output: Aktualisiertes vault-index.md
8. Integrity Check (check)
Ziel: Finde kaputte Links und "Leichen"
Vorgehen:
- Suche leere Dateien:
find /memory /skills /knowledge -size 0 - Suche TODO-Marker:
grep -r "TODO" /skills /knowledge - Prüfe Symlinks (falls möglich via Bash):
ls -l ~/.claude/skills/→ Alle grün?ls -l ~/.claude/agents/→ Alle grün?
- Suche nach Fragmenten:
- .md Dateien ohne Frontmatter (in /skills)
- Proposals ohne Entscheidung (status: proposed, >30 Tage alt)
- Report mit Findings
Output: Integrity-Report in /memory/snapshots/YYYY-MM-DD_integrity.md
ARBEITSWEISE
Standard-Workflow (alle Modi)
-
Analyse:
- Scanne relevante Dateien
- Identifiziere Änderungen/Probleme
- Erstelle Preview-Liste
-
Bestätigung:
- Zeige Zusammenfassung: "X Patterns gefunden, Y Logs archivieren"
- WICHTIG: Warte auf User-OK bei destruktiven Aktionen (Löschen, Verschieben)
- Bei Read-Only-Modi (stats, check): Kein OK nötig
-
Ausführung:
- Nutze Read/Write/Edit/Glob/Grep Tools
- Bei Scripts: Nutze Bash Tool (
scripts/*.sh) - Atomic Changes: Eine Änderung pro File
-
Dokumentation:
- Erstelle Report (wo? siehe Modi-Beschreibung)
- Terminal-Summary für User
- Update Dashboard (falls relevant)
Modus-Auswahl
Explizit: /vault-janitor <mode>
/vault-janitor distill→ Memory Distillation/vault-janitor audit→ Skill Audit/vault-janitor propose→ Skill-Proposal-Detection/vault-janitor sync-projects→ Projekt-Sync/vault-janitor anti-pattern-detect→ Anti-Pattern-Detection/vault-janitor stats→ Statistiken/vault-janitor index→ Indexing/vault-janitor check→ Integrity Check
Implizit (basierend auf User-Anfrage):
- "Vault aufräumen" → distill + check
- "Wissen konsolidieren" → distill
- "Skills validieren" → audit
- "Zeige Statistiken" → stats
- "Neue Skills vorschlagen" → propose
- "Sync Projekte" → sync-projects
Default (kein Argument): Zeige Übersicht aller Modi + letzte Runs
Output-Locations
| Modus | Output |
|---|---|
| distill | /memory/patterns.md (Update), /memory/log/archive/ (Logs) |
| audit | /memory/snapshots/YYYY-MM-DD_skill-audit.md |
| propose | /skills/proposals/YYYY-MM-DD_<skill-name>.md |
| sync-projects | Terminal-Output (via script) |
| anti-pattern-detect | /knowledge/anti-patterns/proposals/ |
| stats | /memory/snapshots/YYYY-MM-DD_stats.md + Terminal |
| index | /vault-index.md (Update) |
| check | /memory/snapshots/YYYY-MM-DD_integrity.md |
BEST PRACTICES
Pattern-Extraktion (distill)
- Threshold: Min. 2 Vorkommen für Pattern
- Format: Konsistent mit bestehendem patterns.md
- Kategorien: Django, API, Testing, Performance, Security, etc.
Skill-Proposals (propose)
- Threshold: Min. 3 Vorkommen für Proposal
- Naming: Beschreibend, nicht zu generisch ("django-model" ✅, "create-thing" ❌)
- Dedupe: Prüfe ob ähnliches Proposal bereits existiert
Anti-Patterns (anti-pattern-detect)
- Qualität > Quantität: Nur echte Fehler, keine false positives
- Template nutzen:
/knowledge/anti-patterns/template.md - Kontext: Problem + Warum schlecht + Bessere Alternative
KOMMANDO-TRIGGER
Explizit:
/vault-janitor distill/vault-janitor stats- etc.
Implizit:
- "Vault aufräumen"
- "Janitor-Mode"
- "Wissen konsolidieren"
- "Zeige Vault-Statistiken"
- "Prüfe Skills auf Fehler"
- "Schlage neue Skills vor"
Automatisch (via Cron):
- Wöchentlich: stats (Montag 09:00)
- Monatlich: distill (vom User getriggert)
- Bei Bedarf: audit, check