Toen Hermes Agent op 12 maart openbaar ging, zaten er al meer dan zeventig gebundelde skills in, verdeeld over vijftien-plus categorieën. Vier weken later was er een community skill-marktplaats live op agentskills.io met honderden extra skills. Dit artikel gaat over hoe dat is gebeurd — en waarom de skill-architectuur van Hermes de moeite waard is om te begrijpen, ook als je er zelf nooit eentje schrijft.
Wat een skill eigenlijk is
In de meeste AI-agentframeworks is een "tool" een Python-functie die de ontwikkelaar bij het importeren registreert bij de agent. Je plakt er een decorator op, schrijft een docstring, zet hem in een tools-array ergens. Als de agent hem nodig heeft, injecteert het framework de beschrijving in de prompt en parst het de tool-call-output van het model.
Een Hermes-skill is dat niet. Het is een declaratief pakket met een manifest (skill.yaml), een set uitvoerbare scripts of Python-entrypoints, een beschrijving van de vereisten, en een activatiebeleid. Bij het opstarten loopt Hermes door de skill-directory, leest elk manifest, en beslist welke skills beschikbaar zijn voor deze sessie op basis van of de vereisten daadwerkelijk op de machine aanwezig zijn — omgevingsvariabelen, binaries in PATH, config-entries, platformcapaciteiten.
Een skill die ffmpeg nodig heeft, wordt niet aan de agent getoond op een machine zonder ffmpeg. Een skill die een Telegram-bottoken nodig heeft, activeert alleen in een sessie die met Telegram verbonden is. De prompt van de agent bevat altijd alleen de skills die je op dat moment echt kunt gebruiken.
Klinkt als een detail. Het is de reden dat een agent op dag één met zeventig skills kan verschijnen zonder de prompt op te blazen.
De Skills Hub en wat die doet
Vanaf v0.2.0 zit er in Hermes een ding dat de Skills Hub heet — een lokale index van elke skill die beschikbaar is in deze installatie, met metadata, bronvermelding en een laag conditionele activering. Met hermes skills list zie je wat er geïnstalleerd is, met hermes skills enable <name> en hermes skills disable <name> zet je dingen aan en uit, en met hermes skills info <name> bekijk je het manifest, de bron en de exacte vereisten.
De Hub is ook de abstractie waar community-skills op aansluiten. Een skill-auteur publiceert een manifest + bronpakket; Hermes-gebruikers installeren het met één commando; de Hub handelt de validatie van vereisten en activatieregels op dezelfde manier af als voor gebundelde skills. Er is geen speciaal pad voor "officiële" versus "community" skills — het zijn allemaal gewoon skills.
Vier weken na de lancering groeide die Hub uit tot zijn publieke gezicht: agentskills.io. Het is een webdirectory van door de community bijgedragen skills met zoekfunctie, categorieën, populariteitsstatistieken en een gestandaardiseerd installatiecommando. Zie het als de npm of pip van agentcapaciteiten, maar smaller: elke skill hoort één ding te doen, en wordt geleverd met een manifest dat Hermes vertelt hoe hij hem veilig kan gebruiken.
Waarom het ecosysteem zo snel groeide
Vier weken is niet lang om van nul naar honderden community-skills te gaan. Een paar dingen in de architectuur maakten dat mogelijk.
Het manifest is de interface. Een skill-auteur hoeft alleen het manifest goed te krijgen. Vereisten, beschrijving, inputschema, activatiecondities — die gaan in skill.yaml. De implementatie kan Python zijn, een shellscript, een uitvoerbaar binary, alles waar het manifest naar verwijst. Contributors hoeven geen Hermes-specifieke SDK te leren om een bruikbare skill te schrijven. Ze moeten beschrijven wat hun tool doet in een YAML-bestand dat al bestond voor gebundelde skills.
Vereisten zijn structureel, niet gedocumenteerd. Als een skill ffmpeg nodig heeft, zegt het manifest dat, en Hermes controleert het. Je installeert geen kapotte skill die stilletjes faalt tijdens runtime door een ontbrekende dependency — de Hub vertelt je wat er mist en weigert te activeren. Dat betekent dat auteurs mogen aannemen, en gebruikers mogen vertrouwen.
Activering is conditioneel. Een skill kan verklaren dat hij alleen op Telegram activeert, alleen als een bepaalde omgevingsvariabele gezet is, alleen als een bepaald bestand bestaat, alleen in bepaalde werkdirectory's. De prompt die de agent ziet is afgestemd op het moment. Je kunt honderd skills installeren en de agent zal er in een willekeurige sessie negentig niet zien — de prompt raakt niet opgeblazen.
Standaard sandbox-vriendelijk. Skills die code uitvoeren doen dat binnen de bestaande sandboxlagen van Hermes — de git-worktree-isolatie en het bestandssysteem-checkpointsysteem van de v0.2.0-lancering. Een community-skill die op hol slaat kan je code of bestanden niet echt kapotmaken, want de sandbox zit in de agent gebakken, niet in de skill. Dit verlaagt de drempel enorm om iets nieuws te installeren.
Hoe een community-skill er doorgaans uitziet
Community-skills uit de eerste vier weken vallen in een paar nuttige patronen:
- •Wrappers rond bestaande CLI-tools. Iemand pakt
ffmpeg,pandocofimagemagicken schrijft een dunne skill die de gangbare bewerkingen blootlegt — video trimmen, document converteren, afbeelding schalen. Goedkoop om te schrijven en meteen bruikbaar. - •Integraties met persoonlijke diensten. Skills die praten met je Notion-account, Obsidian-vault, Home Assistant-instantie, RSS-lezer, Pocket-account of app voor persoonlijke financiën. De meeste zijn minder dan 200 regels Python plus een manifest.
- •Domeinspecifieke helpers. Skills afgestemd op specifieke workflows — een skill om papers te lezen voor onderzoekers, een git-log-samenvatting voor technische leads, een menugenerator voor hobbykokers, een dungeon master-assistent voor tabletop RPG-groepen.
- •Modelspecifieke shims. Skills die providerspecifieke features (promptcaching-headers, redeneerbudgetten, finetuning-hooks) toevoegen als formele agenttools in plaats van custom clientcode te vereisen.
Geen van deze is op zichzelf een killerfeature. Samen zijn ze de reden dat Hermes ophield aan te voelen als "een ding dat Nous Research heeft gebouwd" en begon aan te voelen als een community.
Het interessante gevolg
Op de dag dat agentskills.io de honderd community-skills passeerde, veranderde er iets subtiel aan het project. Het was niet langer mogelijk om te beschrijven wat Hermes Agent is door de features op te sommen, want de featureset was onbegrensd geworden. Wat je wél kunt beschrijven is de vorm van het ding: een enkele agent, pratend met elk chatplatform dat je wilt, skills on-demand binnenhalend, onder een uniform veiligheidsmodel.
Dat is geen featurelijst. Dat is een platform. En het is de reden dat het skills-ecosysteem belangrijker is dan welke individuele capability er ook in meekomt.