Quando Hermes Agent è stato aperto al pubblico il 12 marzo, la release includeva più di settanta skill integrate in oltre quindici categorie. Quattro settimane dopo, un marketplace di skill della community era live su agentskills.io con centinaia di skill in più. Questo post racconta come è successo — e perché l'architettura delle skill di Hermes vale la pena di essere capita anche se non ne scriverai mai una.
Cos'è davvero una skill
Nella maggior parte dei framework per agenti IA, un "tool" è una funzione Python che lo sviluppatore registra con l'agente al momento dell'import. Decori una funzione, scrivi un docstring, la metti in un array di tool da qualche parte. Quando l'agente ne ha bisogno, il framework inietta la sua descrizione nel prompt e parsa l'output della tool-call del modello.
Una skill di Hermes non è questo. È un bundle dichiarativo con un manifest (skill.yaml), un set di script eseguibili o entrypoint Python, una descrizione dei prerequisiti e una policy di attivazione. Quando Hermes parte, percorre la directory delle skill, legge ogni manifest e decide quali skill sono disponibili per questa sessione in base al fatto che i prerequisiti siano effettivamente presenti sulla macchina — variabili d'ambiente, binari nel PATH, voci nei file di configurazione, capacità della piattaforma.
Una skill che richiede ffmpeg non verrà pubblicizzata all'agente su una macchina dove ffmpeg non è installato. Una skill che richiede un token bot Telegram si attiverà solo in una sessione connessa a Telegram. Il prompt dell'agente contiene sempre e solo le skill che potresti davvero usare in quel momento.
Sembra un dettaglio minore. È il motivo per cui un agente può arrivare con settanta skill il primo giorno senza far esplodere il prompt.
Lo Skills Hub e cosa fa
Incluso in Hermes dalla v0.2.0 in poi c'è qualcosa chiamato Skills Hub — un indice locale di tutte le skill disponibili per questa installazione, con metadati, attribuzione della fonte e un layer di attivazione condizionale. Puoi usare hermes skills list per vedere cosa è installato, hermes skills enable <name> o hermes skills disable <name> per attivare e disattivare, e hermes skills info <name> per vedere il manifest, la fonte e i prerequisiti esatti.
L'Hub è anche l'astrazione a cui si agganciano le skill della community. Un autore di skill pubblica un manifest + pacchetto sorgente; gli utenti Hermes lo installano con un singolo comando; l'Hub gestisce la validazione dei prerequisiti e le regole di attivazione nello stesso modo in cui lo fa per le skill integrate. Non c'è un percorso speciale per le skill "ufficiali" versus quelle "della community" — sono tutte semplicemente skill.
Quattro settimane dopo il lancio, quell'Hub ha sviluppato il suo volto pubblico: agentskills.io. È una directory web di skill contribuite dalla community con ricerca, categorie, metriche di popolarità e un comando di installazione standardizzato. Pensalo come l'npm o il pip delle capacità degli agenti, solo più stretto: ogni skill dovrebbe fare una cosa sola, e include un manifest che dice a Hermes come usarla in sicurezza.
Perché l'ecosistema è cresciuto veloce
Quattro settimane non sono tante per passare da zero a centinaia di skill della community. Alcune cose nell'architettura l'hanno reso possibile.
Il manifest è l'interfaccia. Un autore di skill deve solo azzeccare il manifest. Prerequisiti, descrizione, schema degli input, condizioni di attivazione — vanno tutti in skill.yaml. L'implementazione può essere Python, uno script shell, un binario eseguibile, qualsiasi cosa a cui il manifest punti. I contributori non devono imparare un SDK specifico di Hermes per scrivere una skill utile. Devono descrivere cosa fa il loro tool in un file YAML che esisteva già per le skill integrate.
I prerequisiti sono strutturali, non documentati. Se una skill richiede ffmpeg, il manifest lo dice, e Hermes verifica. Non installi una skill rotta che fallisce silenziosamente a runtime per una dipendenza mancante — l'Hub ti dice cosa manca e rifiuta di attivarla. Questo significa che gli autori possono dare per scontato, e gli utenti possono fidarsi.
L'attivazione è condizionale. Una skill può dichiarare che si attiva solo su Telegram, solo quando una specifica variabile d'ambiente è impostata, solo quando un particolare file esiste, solo in certe directory di lavoro. Il prompt che l'agente vede è su misura per il momento. Puoi installare cento skill e l'agente non ne vedrà novanta in una data sessione, il che significa che il prompt non si gonfia.
Compatibile con la sandbox di default. Le skill che eseguono codice lo fanno dentro i layer sandbox esistenti di Hermes — l'isolamento git worktree e il sistema di checkpoint del filesystem dal lancio della v0.2.0. Una skill della community che impazzisce non può davvero distruggere il tuo codice o i tuoi file, perché la sandbox è integrata nell'agente, non nella skill. Questo abbassa drasticamente il costo di fiducia di installare qualcosa di nuovo.
Com'è fatta tipicamente una skill della community
Le skill della community delle prime quattro settimane si raggruppano in alcuni pattern utili:
- •Wrapper attorno a tool CLI esistenti. Qualcuno prende
ffmpeg, opandoc, oimagemagick, e scrive una skill sottile che espone le operazioni comuni — tagliare video, convertire documenti, ridimensionare immagini. Sono economiche da scrivere e immediatamente utili. - •Integrazioni con servizi personali. Skill che parlano con l'account Notion dell'utente, il vault Obsidian, l'istanza Home Assistant, il lettore RSS, l'account Pocket o l'app di finanza personale. La maggior parte sono meno di 200 righe di Python più un manifest.
- •Helper specifici per dominio. Skill su misura per workflow specifici — una skill per leggere paper per i ricercatori, una per riassumere i git-log per gli engineering lead, un generatore di menu per chi cucina a casa, un assistente dungeon master per i gruppi di GdR da tavolo.
- •Shim specifici per modello. Skill che aggiungono funzionalità specifiche del provider (header per il caching dei prompt, budget di ragionamento, hook di fine-tuning) come tool formali dell'agente invece di richiedere codice client personalizzato.
Nessuna di queste individualmente è una killer feature. Nell'insieme, sono il motivo per cui Hermes ha smesso di sembrare "una cosa costruita da Nous Research" e ha iniziato a sembrare una community.
La conseguenza interessante
Il giorno in cui agentskills.io ha superato le cento skill della community, qualcosa di sottile è cambiato nel progetto. Non era più possibile descrivere cos'è Hermes Agent elencando le sue funzionalità, perché il set di funzionalità era diventato illimitato. Ciò che puoi descrivere è la forma della cosa: un agente singolo, che parla con qualsiasi piattaforma di chat tu voglia, che tira dentro skill su richiesta, sotto un modello di sicurezza uniforme.
Quella non è una lista di funzionalità. È una piattaforma. Ed è il motivo per cui l'ecosistema delle skill conta più di qualsiasi singola capacità che viene spedita al suo interno.