--- date: 2026-07-06 tags: [hermes, bug, skills, filesystem] --- # Skills-Rekursion-Bug: 18 Ebenen tiefe Selbstreferenzierung ## Symptom ```bash $ du -sh ~/.hermes/skills/ 196M /Users/matthiaskoerner/.hermes/skills/ ``` Bei Inspektion zeigte sich eine rekursive Verzeichnisstruktur: ```bash $ find ~/.hermes/skills/skills -maxdepth 20 -type d | wc -l 2187 ``` ## Ursache Der Hermes-Agent Skills-Sync-Mechanismus erstellte ein Unterverzeichnis `skills/` **innerhalb** von `~/.hermes/skills/`, das wiederum ein `skills/`-Verzeichnis enthielt — 18 Ebenen tief: ``` ~/.hermes/skills/skills/skills/skills/skills/skills/skills/skills/skills/ skills/skills/skills/skills/skills/skills/skills/skills/skills/ ``` Jede Ebene enthielt Kopien der ca. 20 Skill-Verzeichnisse → 196 MB redundante Daten. ## Betroffene Pfade ```bash $ ls -la ~/.hermes/skills/ drwxr-xr-x 22 matthiaskoerner staff 704 6 Jul 18:30 . drwxr-xr-x 14 matthiaskoerner staff 448 6 Jul 18:30 .. drwxr-xr-x 20 matthiaskoerner staff 640 6 Jul 18:30 skills/ # <-- REKURSION drwxr-xr-x 3 matthiaskoerner staff 96 6 Jul 18:30 analyze-user-images/ drwxr-xr-x 3 matthiaskoerner staff 96 6 Jul 18:30 auto-nude-fix/ drwxr-xr-x 3 matthiaskoerner staff 96 6 Jul 18:30 barby-agent-farm/ # ... 20 weitere echte Skills ``` ## Fix ```bash # 1. Rekursives Verzeichnis entfernen rm -rf ~/.hermes/skills/skills # 2. Verifizieren $ du -sh ~/.hermes/skills/ 8,2M /Users/matthiaskoerner/.hermes/skills/ $ ls ~/.hermes/skills/skills ls: cannot access '~/.hermes/skills/skills': No such file or directory ``` 20 echte Skills intakt, 196 MB freigegeben. ## Root Cause Der Sync-Mechanismus behandelte `~/.hermes/skills/` selbst als Skill-Quelle und kopierte dessen Inhalt rekursiv. Auslöser war vermutlich ein fehlkonfigurierter `skill_search_path` in `config.yaml`, der auf das eigene Skills-Verzeichnis zeigte. ## §§ WICHTIG - **Niemals** `~/.hermes/skills/` in `skill_search_path` aufnehmen — das erzeugt die Rekursion. - Nach `hermes config set skill_search_path` immer mit `find ~/.hermes/skills -maxdepth 1 -type d | wc -l` prüfen. - Dieser Bug kann innerhalb von Stunden auftreten, wenn der Sync-Loop aktiv ist.