2026 Hermes Agent Skills — Guide avancé : SKILL.md, Bundles et GEPA — guide de décision
Début 2026, Nous Research a lancé Hermes Agent : en deux mois, plus de 160 000 étoiles GitHub — non grâce à un modèle plus vaste, mais à la promesse « the agent that grows with you ». Sous le capot se trouve le système Skills : standardisé, évolutif, persistant d'une session à l'autre. Ce guide passe directement au niveau avancé — format SKILL.md, divulgation progressive, Skill Bundles, activation conditionnelle, publication Tap et GEPA + DSPy — en renvoyant l'installation de base au guide d'installation Hermes Agent.
1. Trois frictions : pourquoi le système Hermes Skills mérite une étude approfondie
Beaucoup de développeurs traitent Hermes comme « une coquille ChatGPT de plus » et passent à côté du module au meilleur retour sur investissement à long terme :
- Coût token hors de contrôle. Coller des SOP entières dans le prompt système brûle des tokens à chaque échange ; la divulgation progressive des Skills garantit une consommation nulle avant activation.
- Savoir qui ne se capitalise pas. Un prompt ponctuel disparaît avec la session ; un Skill est une mémoire procédurale inter-sessions, versionnable, partageable et évolutive.
- Workflows déclenchés un par un. Les tâches complexes exigent plusieurs
/skill-name; les Skill Bundles regroupent plusieurs compétences en une seule commande slash.
Cinq questions guident la suite : comment la divulgation progressive maîtrise-t-elle les tokens ? Comment configurer l'activation conditionnelle ? Comment un Bundle déclenche-t-il un flux entier ? Comment DSPy + GEPA améliorent-ils automatiquement les Skills ? Quels dépôts communautaires valent le détour ? Les sections suivantes y répondent.
2. Concepts essentiels : Skills ≠ Prompts, Skills ≠ Memory
Confondre ces trois couches mène à de mauvais choix d'architecture. Retenez cette image : le Prompt = un post-it (valable pour la session en cours) ; la Memory = un carnet (notes permanentes, toujours à portée) ; le Skill = un manuel SOP (procédure étape par étape, consultée à la demande).
| Dimension | Prompt classique | Memory (mémoire) | Skills (compétences) |
|---|---|---|---|
| Persistance | Conversation en cours | Inter-sessions, permanente | Inter-sessions, permanente |
| Moment de chargement | Toujours dans le contexte | Injectée à chaque session | Chargement à la demande (différence clé) |
| Coût token | Consommé à chaque fois | Faible et stable | Zéro avant activation |
| Type de contenu | Intention libre | Préférences / faits utilisateur | Étapes procédurales (comment faire) |
| Mainteneur | Utilisateur manuel | Agent automatique | Utilisateur et agent |
| Partageabilité | Difficile | Privée | Publiable en Tap communautaire |
3. Format SKILL.md et divulgation progressive
3.1 Structure de base (standard ouvert agentskills.io)
Tous les Hermes Skills suivent le standard agentskills.io, portable entre Hermes, Claude Code et Cursor.
---
name: my-skill # requis : minuscules + tirets, ≤64 caractères
description: | # requis : ≤1024 caractères, commencer par "Use when..."
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 Checklist
3.2 Arborescence modulaire
~/.hermes/skills/
└── my-category/
└── my-skill/
├── SKILL.md # fichier principal (≤500 lignes recommandé)
├── references/ # références API (chargées à la demande)
├── templates/ # modèles réutilisables
└── scripts/ # scripts exécutables par l'agent
3.3 Trois niveaux de divulgation progressive (cœur du contrôle token)
| Niveau | Contenu | Déclencheur | Coût token |
|---|---|---|---|
| Niveau 0 | name + description |
Début de session, tous les skills | ~3 K (total de tous les skills) |
| Niveau 1 | Corps complet de SKILL.md | /skill-name ou décision du LLM |
Selon la longueur du fichier |
| Niveau 2 | Fichiers references/ scripts/ | Le LLM juge le besoin à l'exécution | À la demande, par fichier |
Conseil de rédaction : la description est l'unique information au niveau 0 — le LLM s'en sert pour décider de charger le skill complet. Précisez quand l'utiliser plutôt que ce que c'est.
4. Skill Bundles : une commande slash pour un flux complet
Les Skill Bundles, nouveauté Hermes 2026, restent sous-estimés. Un Bundle est un YAML léger qui regroupe plusieurs skills en une commande ; /bundle-name charge tous les skills listés simultanément.
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.
Exemples avancés :
- Flux chercheur IA (research-session) : arxiv + deep-research + plan + excalidraw — consulter les papers récents et dessiner l'architecture en début de session.
- Pipeline MLOps (mlops-deploy) : vllm + llama-cpp + github-pr-workflow + systematic-debugging — benchmarks avant/après déploiement et journalisation des réglages de quantification.
Règles de priorité :
- En cas de conflit de nom, le Bundle l'emporte sur le Skill isolé.
- Un Skill absent du Bundle est ignoré sans erreur, avec avertissement au chargement.
- Le Bundle ne modifie pas le prompt système — le Prompt Cache reste intact (économie de tokens).
hermes bundles create backend-dev \
--skills github-code-review,test-driven-development,github-pr-workflow \
--instruction "Always write failing tests first"
5. Activation conditionnelle : skills sensibles à l'environnement
Les skills peuvent apparaître ou disparaître selon les outils disponibles dans la session. Configuration sous metadata.hermes :
metadata:
hermes:
requires_toolsets: [web]
requires_tools: [web_search]
fallback_for_toolsets: [browser]
fallback_for_tools: [browser_navigate]
| Champ | Logique |
|---|---|
| requires_toolsets | Masque le skill si les toolsets listés sont absents |
| requires_tools | Masque le skill si les outils listés sont absents |
| fallback_for_toolsets | Masque le skill si les toolsets listés sont présents (plan B) |
| fallback_for_tools | Masque le skill si les outils listés sont présents |
Cas classique : bascule recherche gratuite / payante. Configurer duckduckgo-search avec fallback_for_tools: [web_search] : lorsque FIRECRAWL_KEY ou BRAVE_SEARCH_KEY est défini, le skill payant web_search s'active et DuckDuckGo disparaît pour économiser des tokens ; si l'API tombe, le fallback réapparaît.
Exemple plateforme : telegram-notify avec requires_toolsets: [messaging] et platforms: [telegram, discord] ; le TUI hermes skills permet d'activer ou désactiver les skills par canal (CLI, Telegram, Discord).
6. Skills Hub et écosystème open source
6.1 Canaux d'installation officiels
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-skills
6.2 Dépôts communautaires remarquables
| Dépôt | Description | Atout |
|---|---|---|
| ChuckSRQ/awesome-hermes-skills | Collection de skills production | Deep Research, MLOps, intégration Apple ; 23 skills avec GitHub Copilot |
| amanning3390/hermeshub | Registre communautaire | Scan sécurité, certification, API et marketplace |
| kevinnft/ai-agent-skills | 191 skills, 28 catégories | Installation Hermes / Claude Code / Cursor en une commande |
| NousResearch/hermes-agent | Dépôt officiel | Source autoritaire, skills intégrés et conventions de rédaction |
Le standard ouvert agentskills.io permet l'usage cross-plateforme (Hermes, Claude Code, Cursor, OpenCode) ; validez le format avec skills-ref validate ./my-skill.
7. Publier votre Skill Tap : partage équipe et communauté
Créez un dépôt GitHub comme Tap pour que l'équipe — ou la communauté — s'abonne à votre catalogue de skills : une technique avancée encore peu documentée.
my-skills-tap/
├── skills.sh.json
├── mlops/vllm-deploy/SKILL.md
├── research/paper-summarizer/SKILL.md
└── README.md
skills.sh.json contrôle l'affichage Hub ; 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 list
Versionnement : versionner ~/.hermes/skills/ dans Git ; sur chaque machine, git pull && hermes skills reset pour resynchroniser et reconstruire les skills intégrés.
8. Skills auto-évolutifs : GEPA + DSPy
C'est le différenciateur le plus avancé d'Hermes face aux outils concurrents. GEPA (Genetic-Pareto Prompt Evolution), présenté à l'ICLR 2026, est intégré dans hermes-agent-self-evolution. Principe : sans fine-tuning des poids du modèle, analyser les trajectoires d'exécution, générer des variantes et optimiser le texte SKILL.md par Pareto multi-objectifs. Coût typique : 2 à 10 $ par cycle (appels API uniquement, pas de GPU).
8.1 Cinq étapes du cycle GEPA
- Étape 1 — Collecte de trajectoires : lecture SQLite des traces complètes (appels d'outils, branches, erreurs).
- Étape 2 — Analyse réflexive des échecs : le LLM produit des « side informations actionnables » — pas « échec », mais « pourquoi échec ».
- Étape 3 — Mutation ciblée : 10 à 20 variantes SKILL.md ciblant la cause identifiée.
- Étape 4 — Évaluation Pareto multi-objectifs : taux de succès × efficacité token × vitesse.
- Étape 5 — Revue humaine via PR : meilleure variante → pull request → approbation avant mise en production.
8.2 Démarrage rapide
git clone https://github.com/NousResearch/hermes-agent-self-evolution
cd hermes-agent-self-evolution && pip install -r requirements.txt
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source synthetic
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source sessiondb
8.3 Quatre garde-fous de sécurité
- Suite de tests complète :
pytest tests/ -qdoit passer à 100 %. - Limite de taille : Skills ≤ 15 Ko, descriptions d'outils ≤ 500 caractères.
- Compatibilité Prompt Cache : pas de modification en cours de session qui invalide le cache.
- Contrôle de préservation sémantique : la finalité originale du skill ne doit pas dériver.
8.4 Feuille de route d'évolution (statut officiel)
| Phase | Cible d'optimisation | Moteur | Statut |
|---|---|---|---|
| Phase 1 | Fichiers Skill (SKILL.md) | DSPy + GEPA | ✅ Disponible |
| Phase 2 | Descriptions d'outils | DSPy + GEPA | 🔲 Prévu |
| Phase 3 | Fragments de prompt système | DSPy + GEPA | 🔲 Prévu |
| Phase 4 | Code d'implémentation des outils | Darwinian Evolver | 🔲 Prévu |
| Phase 5 | Boucle d'amélioration continue | Pipeline automatisé | 🔲 Prévu |
Trajectoires cross-plateforme : conformes à agentskills.io, les traces Claude Code ou Gemini CLI alimentent GEPA :
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source mixed \
--trace-dirs ~/.claude/traces,~/.hermes/sessions
9. Skills Plugin : étendre les frontières d'Hermes
Les plugins regroupent des skills sous un espace de noms (plugin:skill) : absents de skills_list par défaut (moins de bruit), activation opt-in explicite, références croisées entre skills du même plugin.
skill_view("superpowers:writing-plans")
# affiche automatiquement les skills frères du même plugin
Déclaration dans le plugin.yaml :
name: my-hermes-plugin
skills:
- name: writing-plans
path: skills/writing-plans/SKILL.md
- name: editing
path: skills/editing/SKILL.md
10. Techniques de rédaction avancées (regard ingénieur)
10.1 La description détermine la précision d'activation
❌ Trop vague : Helps with code. → ✅ Déclencheur explicite : Use when reviewing a pull request... Do NOT use for writing new code.
10.2 Les Pitfalls font la qualité
Des Pitfalls de qualité citent des modes d'échec concrets, leur cause racine et des correctifs actionnables — sélecteurs CSS fragiles, rate limiting GitHub API, débordement token sur gros diff et stratégie de chunking associée.
10.3 Scripts et skill_manage
La Procedure référence scripts/extract_schema.py ; en cas d'échec, charger references/manual-extract.md. L'agent peut maintenir les skills via skill_manage(action='patch'| 'create') ; dans config.yaml, skills.agent_writes_require_approval: true impose une validation humaine.
10.4 Maîtrise de la taille
| Taille du skill | Recommandation |
|---|---|
| < 500 lignes | Tout dans SKILL.md |
| 500–1000 lignes | Déplacer le détail vers references/ |
| > 1000 lignes | Scinder fortement ; envisager deux skills distincts |
| > 15 Ko | Limite GEPA — scission obligatoire |
11. Cas pratique : Skills pour un flux de blog technique
Construire le Bundle blog-workflow regroupant seo-keyword-research, outline-generator, code-example-validator, bilingual-checker et publish-to-platform :
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.
Generate both Chinese and English title options.
Le skill personnalisé seo-keyword-research doit, en début de session, collecter les requêtes longue traîne bilingues (« comment utiliser X », « how to X », « X vs Y »), produire 3 à 5 mots-clés principaux et une matrice de 10 à 15 expressions longues, en tenant compte des variantes terminologiques (« Agent / agent IA / assistant autonome »).
12. Questions fréquentes
Q : Quelle différence entre Skills et MCP ?
Les Skills documentent la procédure ; MCP expose des outils. MCP ouvre la base de données, le Skill enseigne la migration — complémentaires.
Q : Pourquoi l'agent utilise-t-il encore l'ancienne version après modification ?
Lancer /reset pour une nouvelle session, ou réinstaller avec --now (invalide le Prompt Cache).
Q : Les skills évolués par GEPA sont-ils sûrs ?
Quatre garde-fous plus revue PR humaine ; détection de dérive sémantique. Relire chaque diff reste recommandé.
Q : Comment réutiliser les Hermes Skills dans Claude Code ?
Copier vers ~/.claude/skills/ ou utiliser le script multi-plateforme kevinnft/ai-agent-skills.
Q : Le contenu en chinois dans un Skill pénalise-t-il l'efficacité token ?
Environ 1 à 1,5 token par caractère chinois, densité proche de l'anglais. Conserver la description en anglais (ou bilingue) améliore la précision de routage du LLM.
13. Ressources et décision Mac distant 7j/7
13.1 Ressources officielles et communautaires
- Documentation officielle Hermes Agent · Documentation chinoise
- Référence complète du système Skills · Standard ouvert agentskills.io
- Outil d'auto-évolution GEPA · Algorithme GEPA · Framework DSPy
- Sur SFTPMAC : Guide complet Cursor Agent Skills · OpenRouter CLI et choix Hermes
13.2 Matrice de décision par scénario de déploiement
| Scénario | Mac local / portable | Mac distant 7j/7 (SFTPMAC) |
|---|---|---|
| Évolution GEPA + sessiondb | Fermeture du capot : traces incomplètes | Collecte continue ; échantillons d'évolution plus riches |
| Passerelle Telegram/Discord | Veille et changements Wi-Fi coupent le bot | Supervision launchd : passerelle toujours en ligne |
| Synchronisation Tap d'équipe | Chaque ~/.hermes diverge | Nœud unifié + SFTP/rsync pour le répertoire skills |
| Sessions longues Skill Bundles | Mémoire et tokens en concurrence avec d'autres apps | Mémoire unifiée Apple Silicon ; exécutions multi-skills stables |
13.3 Synthèse : de l'expérimentation locale au nœud agent de production
Ce guide a couvert la chaîne Hermes Skills : matrice conceptuelle, SKILL.md et divulgation progressive, Skill Bundles, activation conditionnelle, Hub, publication Tap, auto-évolution GEPA, extensions Plugin, techniques de rédaction et cas blog. Maîtriser cet ensemble transforme l'agent d'un prompt jetable en actif procédural versionné, partageable et auto-améliorant.
Pourtant, Hermes en local a des limites nettes : fermeture du portable, traces sessiondb GEPA incomplètes, passerelle Telegram interrompue par la veille, Taps d'équipe qui dérivent d'une machine à l'autre. Les équipes qui exigent une disponibilité 7j/7 pour l'évolution, l'hébergement Gateway ou la synchronisation unifiée de ~/.hermes/skills/ gagnent à exécuter Hermes sur un Mac distant Apple Silicon — supervision launchd native, chaîne d'outils alignée macOS, synchronisation sécurisée du répertoire skills via SFTP/rsync.
La location Mac distant SFTPMAC cible les workflows Hermes Agent Skills : passerelle 7j/7, collecte continue des traces GEPA, synchronisation des Taps d'équipe — une entrée production plus fiable qu'un Mac domestique cumulant les rôles. Rédigez votre premier SKILL.md dès aujourd'hui : l'agent s'améliore à chaque session.