2.2 KiB
2.2 KiB
| date | tags | ||||
|---|---|---|---|---|---|
| 2026-07-06 |
|
Skills-Rekursion-Bug: 18 Ebenen tiefe Selbstreferenzierung
Symptom
$ du -sh ~/.hermes/skills/
196M /Users/matthiaskoerner/.hermes/skills/
Bei Inspektion zeigte sich eine rekursive Verzeichnisstruktur:
$ 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
$ 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
# 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/inskill_search_pathaufnehmen — das erzeugt die Rekursion. - Nach
hermes config set skill_search_pathimmer mitfind ~/.hermes/skills -maxdepth 1 -type d | wc -lprüfen. - Dieser Bug kann innerhalb von Stunden auftreten, wenn der Sync-Loop aktiv ist.