skills.create_dir: Neue Skills landen, wo deine Config es sagt – nicht dort, wo der Prompt ignoriert wird

Ihr betreibt ein Team-Vault unter /opt/brain/skills, also hast du deinem Agenten im System-Prompt gesagt: „Lege neue Skills in /opt/brain/skills an.“ Er hat genickt – und skill_manage hat trotzdem jeden neuen Skill nach ~/.hermes/skills/ geschrieben, denn der Code des Tools liest keine Prosa. Einem Community-Operator wurde das so sehr zu viel, dass er das lokale Skills-Verzeichnis per chmod schreibgeschützt machte, nur um den Agenten zum Gehorsam zu zwingen; der OS-Fehler schlug den System-Prompt. Ein am 1. September gemergter Fix (PR #100377) beendet diese Tauzieherei endgültig: Der neue Config-Key skills.create_dir leitet agentenerstellte Skills in ein beliebiges Verzeichnis deiner Wahl – und jede Instruktion, die den Erstellungspfad nennt, vom skill_manage-Tool-Schema bis zum Prompt-Text selbst, rendert jetzt dein konfiguriertes Verzeichnis. Tool, Prompt und Config sind sich endlich einig.
Warum eine Prompt-Instruktion das nicht kann
Der Erstellungspfad von skill_manage war fest auf das profil-lokale Skills-Verzeichnis (~/.hermes/skills/) verdrahtet. In einen System-Prompt kannst du schreiben, was du willst – aber die Tool-Implementierung liest Konfiguration und Pfade, keine Absichten. Wenn der Mensch „leg die Skills in /opt/brain/skills“ sagte und das Tool nach ~/.hermes/skills/ schrieb, wurde der Skill trotzdem erstellt, gefunden und genutzt – es schlug also nichts laut fehl; die Diskrepanz sammelte nur stillschweigend Skills am falschen Ort an, die dann von Hand verschoben werden mussten. Der Schreibschutz-Hack „funktionierte“ nur, indem er den Standardpfad scheitern ließ – eine miserable Art, eine Policy durchzusetzen.
Der Fix: ein Config-Key, und die Instruktionen folgen
Füge das zu ~/.hermes/config.yaml hinzu:
skills:
create_dir: /opt/brain/skills
Das ist die gesamte Einrichtung. Jetzt:
skill_manageerstellt neue Skills dort –_resolve_skill_dir()des Tools zielt auf das konfigurierte Verzeichnis (beim ersten Schreiben wird der Pfad per mkdir angelegt, das Verzeichnis muss also noch nicht existieren).- Jede Instruktion, die den Pfad nennt, zieht mit. Die Schema-Beschreibung des
skill_manage-Tools, der Prompt-Text und die Doku rendern das konfigurierte Verzeichnis alle überdisplay_skill_create_dir()– der Agent sieht also in seiner eigenen Tool-Dokumentation „neue Skills landen in /opt/brain/skills/“ statt eines veralteten hartkodierten Pfads. ~und${VAR}werden expandiert, und relative Pfade lösen sich gegenHERMES_HOMEauf –create_dir: team-skillsbedeutet also$HERMES_HOME/team-skills.- Ein Wert, der auf das Standard-Verzeichnis auflöst, wird wie nicht gesetzt behandelt (das ist bereits das Verhalten), damit du nicht versehentlich genau denselben Pfad konfigurierst.
Auffindbarkeit, Vertrauen und das Schreibschutz-Szenario
Ein Skill ist nur nützlich, wenn der Agent ihn wiederfindet. Wenn skills.create_dir gesetzt ist, wird das Verzeichnis direkt nach dem lokalen Skills-Ordner in die Skill-Suchreihenfolge aufgenommen (mit Dedup gegen external_dirs) – dort erstellte Skills sind auffindbar, vertrauenswürdig und direkt patchbar. Der Schreibschutz-Hack, mit dem die ganze Geschichte begann, wird damit auch unnötig: Zeigt create_dir woanders hin, blockiert ein schreibgeschütztes lokales Skills-Verzeichnis die Erstellung überhaupt nicht mehr, denn das Tool fasst es nie an.
Eine Anmerkung zur Rangfolge: vertrauenswürdige projekt-lokale Skills (das eigene .hermes/skills/ eines Repos – siehe unseren Project-Local-Skills-Guide) behalten eine höhere Priorität als der lokale Ordner, und das ändert sich nicht.
Wohin damit zeigen?
- Ein Team-Vault in git (
/opt/brain/skillsoder ein Repo-Unterverzeichnis): Jeder Agent auf der Maschine – und über Sync hinweg maschinenübergreifend – erstellt in das gemeinsame Vault, und die Skills werden wie Code versioniert und reviewed. - Ein Scratch- oder Workspace-Verzeichnis: Halte
~/.hermes/skills/sauber für handverfeinerte Skills und lass experimentell erstellte Skills irgendwo Wegwerfbarem landen. - Ein Multi-Profil-Home: Richte
create_dirauf einen gemeinsamen Ort, damit unter jedem Profil erstellte Skills für alle sichtbar sind.
Release-Status
skills.create_dir wurde am 1. September gemergt (PR #100377, rettet Community-Arbeit von @giwaov, mit Namensgebung von @Frosti7) und liegt auf main – es kam nach dem v0.21.0-Tag (veröffentlicht am 31. August), ist also nicht in v0.21.0 enthalten; es kommt mit dem nächsten Release. Zum breiteren Skills-Ökosystem siehe unseren Top-8-Skills-Guide und den Beitrag zum Desktop-Skills-Hub.