Guide avancé Hermes Agent Skills 2026 :
SKILL.md, Bundles, activation conditionnelle, évolution GEPA et publication Tap

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.

01

Pourquoi le système Skills mérite une étude à part — Skills, Prompts et Memory ne sont pas la même chose

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).

DimensionPrompt classiqueMemory (mémoire)Skills (compétences)
PersistanceConversation en coursInter-sessions, permanenteInter-sessions, permanente
Moment de chargementToujours dans le contexteInjection automatique à chaque sessionChargement à la demande (différence clé)
Coût en tokensConsommé à chaque tourFaible et stableZéro avant activation
Type de contenuDescription d'intention librePréférences / faits utilisateurÉtapes procédurales (comment faire)
PartageabilitéDifficile à réutiliserPrivéePubliable en Tap communautaire
  1. 01

    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.

  2. 02

    Point de friction : plusieurs skills liés exigent de déclencher chacun via /skill-name, ce qui fragmente les workflows complexes.

  3. 03

    Point de friction : DuckDuckGo gratuit et web_search payant coexistent dans le prompt, gaspillant des tokens sur des descriptions d'outils redondantes.

  4. 04

    Point de friction : chaque membre de l'équipe reconstruit les mêmes skills sans chemin d'abonnement et de partage en un clic.

  5. 05

    Point de friction : les skills n'évoluent pas — les mêmes erreurs se répètent d'une session à l'autre.

  6. 06

    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.

02

Format SKILL.md et chargement progressif Progressive Disclosure en trois niveaux

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).

yaml — frontmatter SKILL.md
---
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 chargementContenuDéclencheurCoût en tokens
Niveau 0name + descriptionDébut de session, tous les skills~3K tokens au total pour l'ensemble
Niveau 1Corps complet du SKILL.mdUtilisateur exécute /skill-name ou le LLM juge le skill nécessaireSelon la longueur du fichier
Niveau 2references/, scripts/Le LLM décide pendant l'exécutionÀ la demande, par fichier
info

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.

03

Skill Bundles et activation conditionnelle — une commande pour un workflow complet

Skill Bundles (nouveauté 2026, encore sous-estimée)

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.

yaml — bundle backend-dev
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

Activation conditionnelle

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 :

ChampComportement
requires_toolsetsMasquer ce skill si les toolsets listés sont absents
requires_toolsMasquer ce skill si les outils listés sont absents
fallback_for_toolsetsMasquer quand les toolsets listés existent (rôle de repli)
fallback_for_toolsMasquer 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.

04

Écosystème Skills Hub, publication Tap et auto-évolution GEPA

Installation officielle et dépôts open source

bash
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ôtPoints fortsStars
ChuckSRQ/awesome-hermes-skillsSkills production curatés : Deep Research, MLOps, intégration Apple67
amanning3390/hermeshubRegistre communautaire avec détection d'injection de prompt par skill166
kevinnft/ai-agent-skills191 skills, 28 catégories, cross Hermes / Claude / Cursor10
NousResearch/hermes-agentSource officielle de référence, inclut tous les Skills intégrés

Publier votre propre Skill Tap

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 + DSPy : faire évoluer les skills automatiquement (ICLR 2026 Oral)

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.

bash — démarrage rapide GEPA
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.

Skills plugin et auto-maintenance via skill_manage

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.

05

Huit étapes de déploiement : du SKILL.md au Tap d'équipe et à l'évolution GEPA

  1. 01

    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.

  2. 02

    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.

  3. 03

    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.

  4. 04

    Configurer l'activation conditionnelle : définir requires_toolsets / fallback_for_tools dans metadata.hermes pour basculer intelligemment entre outils gratuits et payants.

  5. 05

    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.

  6. 06

    Synchroniser via contrôle de version : cd ~/.hermes/skills && git init, puis git pull && hermes skills reset sur chaque appareil.

  7. 07

    Lancer l'évolution GEPA : cloner hermes-agent-self-evolution, utiliser evolve_skill sur les traces d'échec, revoir manuellement la PR avant fusion.

  8. 08

    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é.

Exemple concret : bundle blog-workflow

yaml — bundle blog-workflow
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.
  • Budget tokens niveau 0 : l'ensemble des descriptions de skills totalise environ 3K tokens — premier levier de maîtrise des coûts.
  • Coût GEPA par cycle : environ 2 à 10 $ en frais API, sans GPU — adapté à une évolution planifiée sur un hôte permanent.
  • Limite de taille GEPA : les fichiers Skill doivent rester ≤15 Ko, sinon les garde-fous bloquent la génération de PR.
  • Réutilisation cross-plateforme : le même SKILL.md se copie vers ~/.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.

FAQ

Questions fréquentes

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.