Début 2026, Nous Research a lancé Hermes Agent — deux mois plus tard, plus de 160 000 étoiles GitHub, avec la promesse « the agent that grows with you » : un agent qui s'affine au fil de l'usage. Le socle de cette promesse, c'est le système Skills : une mémoire procédurale standardisée, évolutive et persistante entre les sessions. Si Hermes est déjà installé (voir notre guide d'installation), cet article vous emmène au niveau avancé : format SKILL.md, Progressive Disclosure pour maîtriser les tokens, Skill Bundles, activation conditionnelle, publication Tap, auto-évolution GEPA+DSPy, et les dépôts open source que vous pouvez abonner dès aujourd'hui. Tableaux comparatifs, runbook en huit étapes et données techniques prêtes à citer pour un déploiement en production.
Contrairement au prompt jetable, les Hermes Skills suivent le standard ouvert agentskills.io et se portent entre Hermes, Claude Code et Cursor. Le modèle mental est simple : Prompt = post-it (valable pour un tour), Memory = carnet (notes permanentes, injectées à chaque session), Skill = manuel SOP (procédure pas à pas, chargée uniquement quand nécessaire).
| 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 | Injection automatique à chaque session | Chargement à la demande (différence clé) |
| Coût en tokens | Consommé à chaque tour | Faible et stable | Zéro avant activation |
| Type de contenu | Description d'intention libre | Préférences / faits utilisateur | Étapes procédurales (comment faire) |
| Partageabilité | Difficile à réutiliser | Privée | Publiable en Tap communautaire |
Point de friction : traiter un Skill comme un prompt complet injecte tout le fichier dans le contexte — le coût en tokens croît linéairement avec le nombre de skills.
Point de friction : plusieurs skills liés exigent de déclencher chacun via /skill-name, ce qui fragmente les workflows complexes.
Point de friction : DuckDuckGo gratuit et web_search payant coexistent dans le prompt, gaspillant des tokens sur des descriptions d'outils redondantes.
Point de friction : chaque membre de l'équipe reconstruit les mêmes skills sans chemin d'abonnement et de partage en un clic.
Point de friction : les skills n'évoluent pas — les mêmes erreurs se répètent d'une session à l'autre.
Ce que livre cet article : une feuille de route avancée complète, du standard SKILL.md à l'auto-évolution GEPA, couvrant tous les mécanismes centraux.
Tous les Hermes Skills respectent le standard agentskills.io. Structure recommandée : ~/.hermes/skills/my-category/my-skill/ avec SKILL.md (étapes centrales, viser ≤500 lignes), references/ (documentation API chargée à la demande), templates/ (modèles réutilisables) et scripts/ (scripts exécutables directement par l'agent).
---
name: my-skill # obligatoire : minuscules + tirets, max 64 car.
description: | # obligatoire : max 1024 car., commencer par "Use when..."
Use when the user needs to [...].
version: 1.0.0
metadata:
hermes:
tags: [devops, automation]
requires_toolsets: [terminal]
fallback_for_toolsets: [web]
---
# My Skill Title
## Overview / When to Use / Procedure / Common Pitfalls / Verification Checklist
| Niveau de chargement | Contenu | Déclencheur | Coût en tokens |
|---|---|---|---|
| Niveau 0 | name + description | Début de session, tous les skills | ~3K tokens au total pour l'ensemble |
| Niveau 1 | Corps complet du SKILL.md | Utilisateur exécute /skill-name ou le LLM juge le skill nécessaire | Selon la longueur du fichier |
| Niveau 2 | references/, scripts/ | Le LLM décide pendant l'exécution | À la demande, par fichier |
Conseil rédactionnel : la description est le seul signal de niveau 0 — le LLM s'en sert pour décider de charger le skill complet. Indiquez quand l'utiliser, pas seulement ce que c'est. Au-delà de 1 000 lignes, scindez vers references/ ; au-delà de 15 Ko, la limite GEPA impose un découpage obligatoire.
Un Bundle est un fichier YAML léger qui regroupe plusieurs skills liés en une seule commande slash. Exécuter /bundle-name charge simultanément tous les skills listés. Emplacement : ~/.hermes/skill-bundles/<slug>.yaml. Si un Bundle et un Skill portent le même nom, le Bundle a priorité ; les skills non installés sont ignorés sans erreur ; les Bundles ne modifient pas le prompt système, ce qui préserve le budget tokens.
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. # Création rapide CLI : # hermes bundles create backend-dev \ # --skills github-code-review,test-driven-development,github-pr-workflow
Les skills peuvent s'afficher ou se masquer automatiquement selon la disponibilité des outils dans la session courante. Quatre types de règles se configurent sous metadata.hermes :
| Champ | Comportement |
|---|---|
requires_toolsets | Masquer ce skill si les toolsets listés sont absents |
requires_tools | Masquer ce skill si les outils listés sont absents |
fallback_for_toolsets | Masquer quand les toolsets listés existent (rôle de repli) |
fallback_for_tools | Masquer quand les outils listés existent (rôle de repli) |
Scénario classique : après configuration de FIRECRAWL_KEY / BRAVE_SEARCH_KEY, le web_search payant s'active et le skill DuckDuckGo disparaît via fallback_for_tools: [web_search], économisant des tokens. Si l'API devient indisponible, le repli réapparaît automatiquement. Pour des skills sensibles à la plateforme, combinez requires_toolsets: [messaging] avec platforms: [telegram, discord], et activez ou désactivez par plateforme via le TUI hermes skills.
hermes skills install official/research/arxiv hermes skills install github:openai/skills/k8s hermes skills tap add github:my-org/my-skills hermes skills tap update && hermes skills tap list
| Dépôt | Points forts | Stars |
|---|---|---|
| ChuckSRQ/awesome-hermes-skills | Skills production curatés : Deep Research, MLOps, intégration Apple | 67 |
| amanning3390/hermeshub | Registre communautaire avec détection d'injection de prompt par skill | 166 |
| kevinnft/ai-agent-skills | 191 skills, 28 catégories, cross Hermes / Claude / Cursor | 10 |
| NousResearch/hermes-agent | Source officielle de référence, inclut tous les Skills intégrés | — |
Créez un dépôt GitHub comme Tap et laissez l'équipe s'abonner en une commande : hermes skills tap add github:your-org/your-skills-tap. Pour un dépôt privé, ajoutez --token $GH_TOKEN. Le fichier optionnel skills.sh.json contrôle l'affichage par catégorie dans le Hub. Versionnez ~/.hermes/skills/ dans Git pour synchroniser entre appareils.
GEPA (Genetic-Pareto Prompt Evolution) ne fine-tune pas les poids du modèle. Il améliore le texte du SKILL.md en analysant les traces d'exécution, en générant des variantes et en appliquant une optimisation multi-objectifs de Pareto. Chaque cycle coûte environ 2 à 10 $ en appels API — sans GPU. Pipeline en cinq étapes : (1) collecte des traces d'exécution (SQLite) → (2) analyse réflexive des échecs → (3) mutation ciblée (10–20 variantes) → (4) évaluation Pareto multi-objectifs (taux de succès × efficacité tokens × vitesse) → (5) revue humaine des PR.
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
# Données synthétiques (point d'entrée)
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source synthetic
# Données de session réelles (meilleurs résultats)
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source sessiondb
# Traces Claude/Gemini combinées (expérimental)
python -m evolution.skills.evolve_skill \
--skill github-code-review --eval-source mixed \
--trace-dirs ~/.claude/traces,~/.hermes/sessions
Quatre garde-fous de sécurité : (1) la suite de tests complète doit passer à 100 % ; (2) Skills ≤15 Ko, descriptions d'outils ≤500 caractères ; (3) compatibilité Prompt Cache préservée ; (4) contrôle de préservation sémantique pour éviter la dérive de l'objectif initial. Feuille de route officielle : Phase 1 fichiers Skill (terminée) → Phase 2 descriptions d'outils → Phase 3 prompt système → Phase 4 code d'implémentation des outils → Phase 5 amélioration continue entièrement automatisée.
Les skills plugin se chargent sous l'espace de noms plugin:skill (ex. skill_view("superpowers:writing-plans")). Ils n'apparaissent pas dans la liste par défaut et nécessitent une activation opt-in. L'agent peut maintenir les skills dynamiquement via skill_manage(action='patch'|'create', ...). Définissez skills.agent_writes_require_approval: true dans config.yaml pour exiger une approbation humaine avant toute écriture en production.
Rédiger le frontmatter selon agentskills.io : name (minuscules et tirets, max 64 car.), description commençant par « Use when... » (max 1 024 car.), avec conditions de déclenchement et cas d'exclusion.
Structurer un répertoire modulaire : fichier principal ≤500 lignes, API détaillée dans references/, scripts exécutables dans scripts/. Valider avec skills-ref validate ./my-skill.
Créer un Skill Bundle : écrire le YAML dans ~/.hermes/skill-bundles/ ou utiliser la CLI hermes bundles create pour regrouper les skills d'un même workflow.
Configurer l'activation conditionnelle : définir requires_toolsets / fallback_for_tools dans metadata.hermes pour basculer intelligemment entre outils gratuits et payants.
Publier un dépôt Tap : créer un dépôt GitHub avec répertoires par catégorie et skills.sh.json optionnel ; l'équipe exécute hermes skills tap add github:your-org/tap.
Synchroniser via contrôle de version : cd ~/.hermes/skills && git init, puis git pull && hermes skills reset sur chaque appareil.
Lancer l'évolution GEPA : cloner hermes-agent-self-evolution, utiliser evolve_skill sur les traces d'échec, revoir manuellement la PR avant fusion.
Activer la porte d'approbation : en production, définir agent_writes_require_approval: true ; documenter les modes d'échec concrets et les correctifs dans la section Pitfalls — c'est la ligne de démarcation de la qualité.
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.
~/.claude/skills/ ou s'installe via kevinnft/ai-agent-skills pour un usage multi-client.
Les Skills sont de la connaissance procédurale ; MCP est une interface d'outils — les deux se complètent. Après modification d'un skill, la session en cours conserve la version en cache jusqu'à /reset ou une installation avec --now. Conservez les descriptions en anglais (ou bilingues) : les LLM sous-jacents matchent plus précisément les descriptions anglaises.
Un MacBook fermé, un VPS bas de gamme sans chemins macOS natifs ou une coupure Wi-Fi domestique interrompent Gateway et les jobs d'évolution GEPA au pire moment. Pour les environnements de production qui exigent un effet composé Hermes Skills 7×24 stable, avec daemons launchd macOS natifs, la location cloud Mac Mini M4 NodeMini reste généralement plus fiable qu'un laptop de fortune et des redémarrages manuels — consultez les tarifs de location pour les configurations actuelles.
Les Skills sont des documents de connaissance procédurale qui enseignent à l'agent comment faire. MCP est une interface d'outils qui lui donne des capacités d'appel supplémentaires. Les deux se complètent : MCP fournit l'accès à une base de données ; un Skill enseigne comment exécuter correctement une migration.
La session en cours met en cache l'ancienne version. Exécutez /reset pour ouvrir une nouvelle session, ou ajoutez --now lors de l'installation pour forcer le rafraîchissement (cela invalide le Prompt Cache et consomme plus de tokens).
L'évolution GEPA et la disponibilité Gateway 7×24 exigent une connectivité stable. NodeMini propose la location mensuelle Mac Mini M4 dédiée — consultez les tarifs de location ; pour les questions d'accès, voir le centre d'aide.
Quatre garde-fous s'appliquent : passage de la suite de tests complète, limites de taille, préservation sémantique et revue humaine des PR. La détection de dérive sémantique garantit que le skill ne s'éloigne pas de son objectif initial. Revoyez manuellement chaque diff avant fusion.