71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
---
|
|
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.
|