Guide avancé Hermes Agent Skills
2026
De SKILL.md à l'auto-évolution GEPA
Vous avez déployé Hermes Agent, exécuté hermes doctor, et pourtant vous retombez sur les mêmes prompts copiés-collés à chaque sprint. Cet écart entre « l'agent tourne » et « l'agent connaît notre façon de travailler » est précisément ce que le système Skills comble. Ce guide dépasse l'installation initiale — voir notre tutoriel d'installation Hermes — et entre dans les mécanismes qui séparent les démos des workflows de production : Progressive Disclosure pour maîtriser les tokens, Skill Bundles pour les pipelines multi-étapes, activation conditionnelle pour un routage sensible à l'environnement, publication Tap pour la distribution d'équipe, et GEPA + DSPy pour des skills qui s'améliorent à partir des traces d'exécution plutôt que par fine-tuning du modèle.
Sommaire
01 · Pourquoi le système Skills de Hermes Agent mérite une étude approfondie
Début 2026, Nous Research a lancé Hermes Agent avec une promesse qui a marqué les esprits : « the agent that grows with you » — l'agent qui évolue avec vous. En deux mois, le projet a dépassé 160 000 étoiles GitHub, devenant l'un des agents open source à la croissance la plus rapide jamais enregistrée. Le cœur du produit n'est pas un modèle plus volumineux, mais une couche portable et versionnable de mémoire procédurale appelée Skills.
Contrairement aux prompts système jetables qui disparaissent à la fin de la session, les Skills Hermes sont des documents standardisés que l'agent charge à la demande, partage entre les sessions et — une fois GEPA branché — affine à partir de données d'exécution réelles. Si vous faites déjà tourner la gateway sur un VPS ou un Mac mini loué, vous avez le runtime. Cet article explique comment faire en sorte que ce runtime reflète réellement la façon dont votre équipe livre du code, rédige de la documentation et débugge les incidents de production.
Nous passons l'installation de base pour nous concentrer sur la surface avancée : les niveaux de chargement conscients des tokens, les Bundles YAML qui déclenchent des workflows entiers en une commande slash, la visibilité conditionnelle pilotée par les métadonnées, la distribution communautaire via Tap, et le pipeline d'évolution Genetic-Pareto qui traite SKILL.md comme un texte mutable plutôt qu'un dogme figé.
02 · Trois points de friction : installer Hermes n'est pas maîtriser les Skills
- Explosion des coûts en tokens. Les équipes injectent des SOP entiers dans le prompt système et paient des milliers de tokens à chaque session. Sans Progressive Disclosure, charger le corps complet de cinquante skills peut saturer la fenêtre de contexte avant même la première question de l'utilisateur.
- Activation imprécise des skills. Des champs
descriptionvagues poussent le LLM à monter le mauvais skill — ou à rater le bon. Sans activation conditionnelle, basculer entre la recherche DuckDuckGo gratuite et les API Brave/Firecrawl payantes implique d'éditer la config à la main au lieu de laisser les métadonnées masquer automatiquement les skills non pertinents. - Connaissances qui ne s'accumulent pas. Les prompts personnels vivent dans l'historique de chat, pas dans git. Pas de Tap pour que les collègues s'abonnent, pas de hook de validation, pas de boucle GEPA pour transformer les traces d'échec en procédures améliorées. Les skills stagnent pendant que la facture API grimpe.
Chaque friction correspond à une section ci-dessous. Résoudre les trois, c'est ce qui distingue une gateway de démo d'un agent auquel votre organisation fait confiance le vendredi soir au moment du déploiement.
03 · Concepts clés : Skills ≠ Prompts, Skills ≠ Memory
Hermes expose trois canaux de contexte qui se chevauchent mais restent distincts. Les confondre est l'erreur architecturale la plus fréquente lors des premiers déploiements.
| Dimension | Prompt simple | Memory | Skills |
|---|---|---|---|
| Persistance | Conversation en cours | Inter-sessions, permanente | Inter-sessions, permanente |
| Moment de chargement | Toujours dans le contexte | Injectée à chaque session | À la demande |
| Coût en tokens | À chaque tour | Empreinte faible et stable | Zéro avant activation |
| Type de contenu | Texte d'intention libre | Préférences / faits utilisateur | Étapes procédurales |
| Partageabilité | Peu pratique | Privée par défaut | Publiable en Tap communautaire |
Moyen mnémotechnique : Prompt = post-it (valable pour cette conversation). Memory = carnet sur le bureau (toujours à portée de main). Skill = manuel SOP (sorti de l'étagère quand la tâche correspond). Pour les parallèles côté Cursor — Rules vs Skills vs MCP — voir notre guide Agent Skill 2026.
04 · Format SKILL.md en détail (standard ouvert agentskills.io)
Chaque Skill Hermes suit la spécification agentskills.io afin que le même dossier fonctionne dans Hermes, Claude Code et Cursor sans réécriture. Cette portabilité est stratégique : rédigez une fois, validez sur un Mac loué, déployez sur l'agent que votre équipe standardisera le trimestre prochain.
---
name: my-skill
description: |
Use when the user needs to [...].
Handles [...] and [...].
version: 1.0.0
license: MIT
compatibility: Requires git, docker
allowed-tools: Bash(git:*) Read
metadata:
hermes:
tags: [devops, automation]
category: software-development
related_skills: [github-pr-workflow, test-driven-development]
requires_toolsets: [terminal]
fallback_for_toolsets: [web]
---
# My Skill Title
## Overview
## When to Use
## Procedure
## Common Pitfalls
## Verification ChecklistChamps critiques : name est obligatoire — lettres minuscules et tirets, 64 caractères maximum. description est obligatoire — 1024 caractères maximum — et doit commencer par « Use when… » car le routage Level 0 ne voit que name + description. Placez le routage spécifique Hermes dans metadata.hermes : tags, catégories, exigences d'outils et règles de repli couvertes en section 07.
Arborescence modulaire
Gardez le fichier principal léger ; déplacez le matériel de référence dans des sous-dossiers que l'agent ne charge qu'à l'exécution.
~/.hermes/skills/
└── my-category/
└── my-skill/
├── SKILL.md # Fichier principal (cible ≤500 lignes)
├── references/ # Docs API — chargées à la demande
├── templates/ # Gabarits de sortie réutilisables
└── scripts/ # Scripts exécutables par l'agentLa limite de 500 lignes n'est pas cosmétique. Les garde-fous GEPA rejettent les Skills au-delà de 15 Ko, et un fichier principal trop volumineux défait la Progressive Disclosure — vous payez les tokens Level 1 pour du contenu qui devrait vivre au Level 2.
05 · Progressive Disclosure : chargement en trois niveaux
La Progressive Disclosure est la réponse de Hermes au problème « cinquante skills ont mangé mon contexte ». La gateway n'injecte jamais tous les corps SKILL.md dans le prompt au démarrage de session.
| Niveau | Contenu chargé | Déclencheur | Coût tokens |
|---|---|---|---|
| Level 0 | name + description uniquement | Début de chaque session | ~3K au total pour tous les skills |
| Level 1 | Corps complet de SKILL.md | /skill-name ou routage LLM | Selon la longueur du fichier |
| Level 2 | references/, scripts/ | Décision LLM pendant l'exécution | Par fichier, à la demande |
Implication rédactionnelle : investissez de façon disproportionnée dans la description — quand l'utiliser, quand ne pas l'utiliser, noms de produits, messages d'erreur copiés depuis Slack. Déplacez les tableaux API et les longs exemples vers references/. Les équipes gérant plus de trente skills rapportent que des descriptions Level 0 disciplinées réduisent de moitié les activations erronées par rapport aux résumés génériques du type « aide avec le code ».
Le Level 2 est l'endroit où les skills riches en scripts brillent : l'agent lit la procédure au Level 1, puis ne tire que le script ou le fichier de référence nécessaire à l'étape en cours. Ce schéma reproduit le travail d'un ingénieur senior — on ne mémorise pas chaque man page, on ouvre la page pertinente au moment d'exécuter.
06 · Skill Bundles : une commande, un workflow complet
Les Skill Bundles sont arrivés en 2026 comme primitive de workflow de première classe. Un Bundle est un fichier YAML léger listant plusieurs skills qui se chargent simultanément quand l'utilisateur tape /bundle-name. Imaginez une playlist curatée pour le contexte agent — pas une nouvelle couche de prompt, mais un montage coordonné multi-skills.
Emplacement : ~/.hermes/skill-bundles/<slug>.yaml
name: backend-dev
description: |
Full backend feature workflow — code review, TDD, and PR management.
skills:
- github-code-review
- test-driven-development
- github-pr-workflow
instruction: |
Always write failing tests first before implementation.
Never push directly to main.Règles de priorité à mémoriser :
- Si un Bundle et un Skill simple partagent le même nom, le Bundle l'emporte.
- Les skills listés mais non installés sont ignorés silencieusement — pas de spam d'erreurs.
- Les Bundles ne réécrivent pas le prompt système, ce qui préserve l'efficacité du cache prompt chez les fournisseurs compatibles.
Raccourci CLI pour créer :
hermes bundles create backend-dev \
--skills github-code-review,test-driven-development,github-pr-workflow \
--instruction "Always write failing tests first"Recettes courantes : une pile chercheur IA (arxiv + deep-research + plan + excalidraw) et un pipeline MLOps (vllm + llama-cpp + github-pr-workflow + systematic-debugging). Le bloc instruction encode vos non-négociables d'équipe — règles de protection de branche, ordre des tests, portes de revue sécurité — sans les dupliquer dans chaque skill constitutif.
07 · Activation conditionnelle : skills sensibles à l'environnement
Les skills peuvent se masquer ou s'afficher automatiquement selon les outils et toolsets disponibles dans la session courante. Configurez cela sous metadata.hermes pour que la liste Level 0 reflète la réalité — recherche gratuite quand les API payantes sont absentes, skills terminal quand SSH n'est pas disponible, replis web en mode headless.
| Champ | Comportement |
|---|---|
requires_toolsets | Masquer le skill si les toolsets listés sont absents |
requires_tools | Masquer le skill si les outils listés sont absents |
fallback_for_toolsets | Masquer quand les toolsets listés sont présents (chemin de secours) |
fallback_for_tools | Masquer quand les outils listés sont présents (chemin de secours) |
Exemple canonique : un skill de recherche DuckDuckGo définit fallback_for_tools: [web_search]. Quand l'utilisateur configure FIRECRAWL_KEY ou BRAVE_SEARCH_KEY, l'outil payant web_search s'active et DuckDuckGo se masque — économie de tokens et fin des stratégies de recherche en double. Si la clé API expire, le skill de repli réapparaît sans modification de config. C'est l'activation conditionnelle qui encode la politique que votre équipe ops mettrait autrement dans des runbooks.
08 · Skills Hub et écosystème open source
Hermes propose plusieurs canaux d'installation pour éviter le verrouillage à un seul registre :
hermes skills install official/research/arxiv
hermes skills install https://example.com/SKILL.md --name my-skill
hermes skills install github:openai/skills/k8s
hermes skills tap add github:my-org/my-skillsDes curateurs communautaires maintiennent des collections de niveau production. Le tableau ci-dessous met en avant des dépôts à garder en favoris — non exhaustif, mais représentatif de ce que les équipes tirent réellement dans leurs sandboxes CI.
| Dépôt | Point fort | Stars |
|---|---|---|
| ChuckSRQ/awesome-hermes-skills | Bundles production incl. Deep Research, MLOps | 67+ |
| amanning3390/hermeshub | Registre communautaire avec détection d'injection | 166+ |
| kevinnft/ai-agent-skills | 191 skills, cross Hermes / Claude / Cursor | 10+ |
| NousResearch/hermes-agent | Source officielle de référence | 160k+ |
Validez avant de faire confiance aux skills tiers : skills-ref validate ./my-skill vérifie la conformité agentskills.io. Les assets Skills sont de simples fichiers dans git — ils ne vous lient pas à Hermes pour toujours. C'est pourquoi beaucoup d'équipes miroitent leurs skills dans des dépôts internes aux côtés du code applicatif.
09 · Publier votre propre Skill Tap : distribution équipe et communauté
Un Tap est un dépôt GitHub qui agit comme flux d'abonnement pour les skills. Ajoutez-le une fois ; chaque collègue récupère les mises à jour avec hermes skills tap update. Structure type :
my-skills-tap/
├── skills.sh.json
├── mlops/vllm-deploy/SKILL.md
├── research/paper-summarizer/SKILL.md
└── README.mdCommandes de déploiement équipe :
hermes skills tap add github:your-org/your-skills-tap
hermes skills tap add github:your-org/private-skills --token $GH_TOKEN
hermes skills tap update
hermes skills tap listHygiène de versionnement : versionnez ~/.hermes/skills/ dans git (ou un dépôt Tap dédié), taguez les releases et documentez les breaking changes dans le README du Tap. La synchronisation multi-appareils devient git pull && hermes skills reset au lieu d'envois de fichiers sur Slack. Les organisations privées doivent utiliser des deploy tokens ou des PAT à granularité fine limités au dépôt Tap — ne jamais committer de tokens dans le frontmatter des skills.
10 · Skills auto-évolutifs : GEPA + DSPy
GEPA (Genetic-Pareto Prompt Evolution) est un résultat Oral ICLR 2026 intégré dans hermes-agent-self-evolution. Au lieu de fine-tuner les poids du modèle, GEPA analyse les traces d'exécution, génère des variantes de SKILL.md et applique une sélection Pareto multi-objectifs pour améliorer simultanément le taux de succès, l'efficacité en tokens et la latence. Coût typique : 2 à 10 $ par cycle d'évolution via API — aucun cluster GPU requis.
Pipeline en cinq étapes :
- Collecte de traces — sessions stockées en SQLite via la session DB Hermes.
- Analyse réflexive des échecs — identifier quelles étapes procédurales corrèlent aux erreurs.
- Mutation ciblée — générer 10 à 20 variantes SKILL.md focalisées sur les sections faibles.
- Évaluation Pareto — scorer les variantes sur succès × efficacité tokens × vitesse.
- Revue humaine — fusionner le diff gagnant via PR après passage des garde-fous automatisés.
git clone https://github.com/NousResearch/hermes-agent-self-evolution
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source sessiondbQuatre garde-fous de sécurité bloquent les fusions imprudentes : la suite de tests doit passer à 100 % ; les Skills restent ≤15 Ko et les descriptions d'outils ≤500 caractères ; la compatibilité cache prompt est préservée ; des vérifications de préservation sémantique garantissent que le skill signifie toujours ce que votre équipe croit. La Phase 1 de la roadmap (évolution SKILL.md) est prête pour la production ; les Phases 2 à 5 étendent aux descriptions d'outils, prompts système, code d'implémentation des outils et boucles entièrement automatisées.
Mode expérimental : sources de traces mixtes — alimenter les logs Claude Code ou Gemini CLI aux côtés des sessions Hermes :
--eval-source mixed --trace-dirs ~/.claude/traces,~/.hermes/sessionsCet apprentissage cross-runtime est puissant pour les équipes qui prototypent dans Cursor mais déploient les agents sur du matériel gateway Hermes. Capturez les traces sur un Mac loué jetable, lancez GEPA la nuit, examinez la PR lundi — sans toucher au SKILL.md de production tant que les tests n'ont pas validé le diff.
11 · Skills par plugin : étendre les frontières de Hermes
Les plugins namespacent les skills sous plugin:skill. Ils n'apparaissent pas dans le skills_list par défaut ; l'utilisateur opte explicitement — utile pour des capacités expérimentales ou à risque élevé que vous ne voulez pas auto-router.
skill_view("superpowers:writing-plans")
# plugin.yaml
name: my-hermes-plugin
skills:
- name: writing-plans
path: skills/writing-plans/SKILL.mdLes plugins s'associent bien aux outils internes qui ne doivent jamais surface pendant une conversation informelle — runbooks d'administration, skills base de données production ou workflows conformité exigeant une invocation slash explicite et une entrée dans le journal d'audit.
12 · Techniques de rédaction avancées (checklist ingénieur)
- La description pilote le routage. Indiquez les conditions de déclenchement et les cas d'exclusion. « Helps with code » s'active partout et nulle part utilement.
- Les Pitfalls séparent le bon du excellent. Documentez des modes d'échec concrets — rate limits API GitHub, diffs surdimensionnés qui explosent le budget tokens — avec cause racine et étapes de correction que l'agent peut suivre sans deviner.
- Scriptez avec replis. Référencez
scripts/dans Procedure ; en cas d'échec, pointez versreferences/manual-extract.mdpour une récupération manuelle. - Discipline de taille. Moins de 500 lignes : gardez dans SKILL.md. 500 à 1000 lignes : scindez en references. Au-delà de 15 Ko : scission obligatoire pour la compatibilité GEPA.
- Les écritures agent nécessitent approbation. Hermes peut patcher les skills via
skill_manage(action='patch'|'create'); activezagent_writes_require_approval: truedans config.yaml pour que les éditions autonomes n'écrasent pas silencieusement les procédures revues.
13 · Cas pratique : workflow Skills pour blog technique
Le pipeline blog de MacDate se mappe proprement sur un Bundle. Voici un YAML représentatif que vous pouvez adapter — remplacez les étapes de publication par celles de votre CMS.
name: blog-workflow
description: Full tech blog writing workflow.
skills:
- seo-keyword-research
- outline-generator
- code-example-validator
- bilingual-checker
- publish-to-platform
instruction: |
Always research SEO keywords before writing.
Ensure all code examples are tested and runnable.Un skill personnalisé seo-keyword-research peut émettre une matrice de mots-clés bilingue avant la rédaction — trois à cinq termes tête plus dix à quinze expressions longue traîne croisées avec Dev.to trending, la page d'accueil Hacker News et les flux de niche. Le skill code-example-validator exécute les scripts embarqués contre le sandbox Mac loué pour que les extraits shell copiés-collés tournent réellement sur Apple Silicon avant publication.
Le bloc instruction impose la politique éditoriale sans la dupliquer dans cinq skills : recherche d'abord, exemples exécutables uniquement, pas de publication tant que la validation n'a pas passé. C'est le Bundle qui fait le travail de gouvernance qui vivrait autrement dans un Notion que personne ne lit.
14 · FAQ
Q : Quelle différence entre Skills et MCP ?
Les Skills sont des documents de connaissance procédurale — ils enseignent à l'agent comment aborder une tâche. MCP (Model Context Protocol) est une interface d'outils — il donne à l'agent un accès live aux systèmes externes. Ils se composent : un Skill peut dire « appeler l'outil MCP Jira, puis appliquer le gabarit d'escalade ci-dessous ».
Q : J'ai modifié un Skill mais l'agent utilise encore l'ancienne version.
Les changements ne s'appliquent pas en milieu de session. Lancez /reset ou réinstallez avec --now (note : --now invalide le cache prompt chez les fournisseurs compatibles).
Q : Le contenu évolué par GEPA est-il sûr à fusionner ?
Les garde-fous automatisés attrapent taille, tests et régressions sémantiques — mais la revue humaine de PR reste obligatoire. Lisez chaque diff ; GEPA optimise des métriques, pas le sommeil de votre responsable conformité.
Q : Puis-je réutiliser les skills Hermes dans Claude Code ?
Copiez SKILL.md dans ~/.claude/skills/ ou utilisez kevinnft/ai-agent-skills pour des installations multi-runtime. Vérifiez que la disponibilité des outils diffère selon le runtime.
Q : Le contenu en français nuit-il à l'efficacité des tokens ?
Les caractères français consomment environ 1 à 1,5 token par caractère — comparable à l'anglais par unité sémantique. Pour la précision du routage LLM, gardez les descriptions en anglais ou bilingues ; le corps peut suivre la locale de votre audience.
Pour aller plus loin : documentation officielle Hermes, notre guide Agent Skill Cursor, le récit 30 jours Hermes et le guide mémoire et choix matériel.
15 · Essai isolé sur Mac loué pour Hermes Skills (5 étapes)
La Gateway Hermes tourne sur VPS Linux et Windows, mais les skills réservés à macOS — workflows Xcode, opérations Keychain, codesigning Apple, recettes Homebrew calibrées pour Apple Silicon — exigent un vrai macOS. Le schéma pragmatique en 2026 : monter un Mac loué jetable, valider Skills / Bundles / traces GEPA, puis libérer le nœud avant que les charges mensuelles ne s'accumulent.
- Louer un nœud Apple Silicon. Choisissez Mac mini M4 ou mieux avec Homebrew préinstallé ; connectez-vous en SSH depuis votre laptop. Tarifs et SKUs sur tarifs bare-metal macOS.
- Installer Hermes et lancer doctor. Suivez le guide d'installation officiel ; confirmez la santé de la gateway avec
hermes doctoret vérifiez que les toolsets correspondent à votre cible production. - Installer les skills officiels et Taps personnalisés. Exécutez
hermes skills installethermes skills tap add; mesurez l'empreinte tokens Level 0 vs Level 1 sur une session représentative. - Rédiger un Bundle et exécuter le workflow. Écrivez le YAML sous
~/.hermes/skill-bundles/; déclenchez avec/bundle-nameet confirmez que tous les skills listés se chargent et respectent le bloc instruction. - Capturer les traces et libérer. Exportez les logs de session pour GEPA si vous faites évoluer des skills ; sauvegardez la sortie terminal comme preuve d'acceptation ; terminez la location quand la validation passe pour stopper la facturation.
Un VPS Linux convient aux gateways légères orientées API, mais ne peut pas valider les skills exclusifs macOS ni les flux de permissions Keychain local. Faire tourner 7×24 sur un laptop personnel risque throttling thermique, dotfiles pollués et clés API sur une machine aussi utilisée pour la messagerie. La location Mac journalière offre un Apple Silicon fidèle à la production pour moins que le coût d'un skill mal configuré déclenchant une boucle d'outils incontrôlée pendant la nuit.
La plupart des sprints de validation Skills se terminent en un à trois jours de location sur Mac mini M4 16 Go — suffisant pour installs Tap, rédaction de Bundle et un lot d'itérations GEPA sans CapEx. Si la gateway s'avère stable pour une astreinte Telegram 7×24, passez à la location mensuelle via la matrice matérielle de notre guide VPS vs Mac mini. SSH, repli VNC et mécanique de facturation sont couverts dans le guide première location journalière.
C'est pourquoi les équipes traitant Hermes Skills comme infrastructure de production — pas comme expériences de week-end — louent des nœuds Apple Silicon isolés chez MacDate plutôt que de contaminer leur laptop quotidien ou de deviner sur des sandboxes Linux-only. Vous obtenez Keychain et codesign natifs, un arbre ~/.hermes/ propre par sprint, accès SSH pour validation scriptée et facturation journalière qui s'arrête quand le QA est fini. Comparez les paliers sur tarifs bare-metal macOS ; la plupart des essais Bundle et GEPA se terminent avant d'avoir besoin d'une deuxième semaine de location.