Hermes Agent Skills avancé 2026 : SKILL.md, bundles et auto-évolution GEPA

En juin 2026, Hermes Agent dépasse 160 000 étoiles GitHub sur une promesse qui n'est pas la taille du modèle mais la croissance : « the agent that grows with you ». Le moteur, c'est le système Skills — mémoire procédurale standardisée, chargée à la demande, regroupée en workflows et améliorée par GEPA + DSPy sans toucher aux poids du modèle.

Vous avez installé Hermes, rédigé quelques prompts — et l'agent oublie votre workflow à chaque nouvelle session. La solution n'est pas un system prompt plus long, ce sont les Skills : mémoire procédurale inter-sessions à coût token nul jusqu'à activation. Ce guide s'adresse aux développeurs qui font déjà tourner Hermes (ou Cursor / Claude Code avec SKILL.md) et veulent des patterns production. Vous allez : (1) situer Skills vs Memory vs Prompts ; (2) maîtriser le format agentskills.io et la Progressive Disclosure à trois niveaux ; (3) livrer Bundles, activation conditionnelle et Taps d'équipe ; (4) lancer l'auto-évolution GEPA sur de vrais traces ; (5) déployer un lab Skills stable sur Mac cloud NUKCLOUD. Pas encore installé ? Commencez par notre guide d'installation Hermes et le guide Cursor Agent Skills.

00Pourquoi le système Skills mérite une analyse approfondie

Début 2026, NousResearch lance Hermes Agent. En deux mois : 160 000 étoiles GitHub — l'un des projets open source à la croissance la plus rapide dans l'espace agent IA. Le pitch n'est pas un modèle plus gros, c'est une philosophie : « the agent that grows with you ».

La fondation technique de cette croissance, c'est le système Skills. Contrairement aux prompts jetables, les skills Hermes sont une mémoire procédurale standardisée, évolutive et persistante entre sessions. Ce billet saute l'installation de base et plonge dans la Progressive Disclosure pour maîtriser les tokens, l'activation conditionnelle pour un comportement contextuel, les Skill Bundles pour des workflows en une commande, DSPy + GEPA pour l'auto-amélioration, et les meilleurs dépôts open source à tap directement.

PainCe qui casse quand on traite les Skills comme de longs prompts

  • Fuite de tokens par eager loading : Injecter des SOP complètes à chaque session brûle le contexte avant que l'agent choisisse une tâche. Les Skills sont conçus pour un chargement à la demande.
  • Descriptions vagues, mauvaises activations : « Aide avec le code » se charge hors sujet. La précision du champ description est votre filtre Level 0.
  • Pas de packaging workflow : L'équipe invoque cinq slash commands manuellement — au lieu d'un Bundle pour review, TDD, PR et debug.
  • Skills périmés après édition : Modifier SKILL.md mid-session ne change rien — il faut /reset ou --now, ce qui invalide le prompt cache.
  • Skills et MCP confondus : MCP fournit des outils ; les Skills enseignent comment les utiliser. Sans Skills, l'agent appelle des outils DB MCP sans playbook de migration.

01Skills vs Memory vs Prompts : la carte conceptuelle

Trois couches de contexte se ressemblent mais se comportent différemment. Utilisez cette matrice avant d'écrire votre première SKILL.md.

DimensionPromptMemorySkill
PersistanceConversation actuelleInter-sessions, permanentInter-sessions, permanent
Moment de chargementToujours en contexteInjecté chaque sessionÀ la demande (différence clé)
Coût tokenChaque tourFaible, stableZéro jusqu'à activation
Type de contenuIntention librePréférences / faitsÉtapes procédurales
Maintenu parUtilisateur manuelAgent autoUtilisateur + Agent
PartageableIncommodePrivéPubliable en Tap communautaire

Mnémonique : Prompt = post-it (cette session). Memory = carnet (toujours sous la main). Skill = manuel SOP (consulté au besoin).

02Format SKILL.md et Progressive Disclosure

Tous les Skills Hermes suivent le standard ouvert agentskills.io — portable entre Hermes, Claude Code, Cursor et OpenCode. Validez avec skills-ref validate ./my-skill avant publication.

Frontmatter SKILL.md + squelette body
---
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
Ce que fait le skill et pourquoi il existe.

## When to Use
- Use for: [scénarios spécifiques]
- Don't use for: [scénarios exclus]

## Procedure
1. Étape un (commandes exactes)
2. Étape deux
3. Étape trois

## Common Pitfalls
1. Mode d'échec + correctif
2. Gestion des cas limites

## Verification Checklist
- [ ] Point de contrôle 1
- [ ] Point de contrôle 2

Arborescence pour skills modulaires :

~/.hermes/skills/my-category/my-skill/
├── SKILL.md              # Étapes cœur (cible ≤500 lignes)
├── references/
│   ├── api-docs.md       # Chargé à la demande
│   └── examples.md
├── templates/
│   └── config.yaml
└── scripts/
    └── setup.sh          # Exécutable par l'agent

La Progressive Disclosure est le cœur du contrôle token. Trois niveaux :

NiveauContenuDéclencheurCoût token
Level 0name + descriptionDébut de chaque session (tous les skills)~3K total catalogue
Level 1Corps complet SKILL.md/skill-name ou jugement LLMSelon longueur fichier
Level 2references/, scripts/LLM pendant exécutionPar fichier, à la demande

Le champ description est toute l'info Level 0. Écrivez quand utiliser plus clairement que ce que c'est — le LLM s'en sert pour décider du chargement complet.

03Skill Bundles : une commande pour tout le workflow

Les Skill Bundles sont une fonctionnalité 2026 encore sous-utilisée. Un Bundle est un fichier YAML léger qui regroupe plusieurs skills en une slash command. /bundle-name charge tous les skills listés simultanément.

Emplacement : ~/.hermes/skill-bundles/<slug>.yaml

backend-dev.yaml
name: backend-dev
description: |
  Full backend feature workflow — code review, TDD, and PR management.
  Use at the start of any new backend feature session.
skills:
  - github-code-review
  - test-driven-development
  - github-pr-workflow
instruction: |
  Always write failing tests first before implementation.
  Open PRs with co-author tags for pair-programming sessions.
  Never push directly to main.

Bundle session recherche :

research-session.yaml
name: research-session
description: Load all research tools at once for deep-dive sessions.
skills:
  - arxiv
  - deep-research
  - plan
  - excalidraw
instruction: |
  Start every session by checking recent papers on the topic.
  Create an Excalidraw diagram for any architecture discussed.

Pipeline MLOps deploy :

mlops-deploy.yaml
name: mlops-deploy
description: Model deployment pipeline with monitoring setup.
skills:
  - vllm
  - llama-cpp
  - github-pr-workflow
  - systematic-debugging
instruction: |
  Always run inference benchmarks before and after deployment.
  Document model quantization settings in PR description.

Règles de priorité : le Bundle l'emporte sur un Skill homonyme. Les skills manquants sont ignorés avec avertissement, pas d'erreur. Les Bundles ne modifient pas le system prompt — le prompt cache reste valide.

Création CLI rapide
hermes bundles create backend-dev \
  --skills github-code-review,test-driven-development,github-pr-workflow \
  --instruction "Always write failing tests first"

04Activation conditionnelle : skills contextuels

Les skills peuvent s'afficher ou se masquer automatiquement selon les outils disponibles dans la session. Configuration sous metadata.hermes :

Règles d'activation dans SKILL.md
metadata:
  hermes:
    requires_toolsets: [web]
    requires_tools: [web_search]
    fallback_for_toolsets: [browser]
    fallback_for_tools: [browser_navigate]
ChampComportement
requires_toolsetsMasquer si toolsets absents
requires_toolsMasquer si tools absents
fallback_for_toolsetsMasquer si toolsets présents (rôle fallback)
fallback_for_toolsMasquer si tools présents

Bascule gratuit / payant : le skill DuckDuckGo définit fallback_for_tools: [web_search]. Avec FIRECRAWL_KEY ou BRAVE_SEARCH_KEY, web_search payant s'active — DuckDuckGo disparaît du prompt et économise des tokens. Sans API, le fallback réapparaît automatiquement.

Skills sensibles à la plateforme : requires_toolsets: [messaging] avec platforms: [telegram, discord]. La TUI hermes skills permet d'activer/désactiver par plateforme (CLI, Telegram, Discord) indépendamment.

05Skills Hub et écosystème open source

Canaux d'installation officiels :

hermes skills install
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
DépôtFocusStarsPoint fort
awesome-hermes-skillsCuratelle production67Deep Research, MLOps, intégration Apple ; plugin gh-copilot
hermeshubRegistre communautaire + scan sécurité166API et marketplace ; détection prompt injection par skill
ai-agent-skills191 skills, 28 catégories10Install cross-agent Hermes / Claude Code / Cursor
hermes-agentSource officielleSkills intégrés et spec d'auteur

agentskills.io signifie que les skills ne sont pas verrouillés sur un seul hôte. Les actifs communautaires voyagent avec vous.

06Publier votre propre Skill Tap

Un dépôt GitHub en Tap permet à toute l'équipe — ou la communauté — de s'abonner à votre jeu de skills.

Layout my-skills-tap/
my-skills-tap/
├── skills.sh.json
├── mlops/
│   ├── vllm-deploy/SKILL.md
│   └── model-benchmark/SKILL.md
├── research/
│   ├── paper-summarizer/SKILL.md
│   └── citation-finder/SKILL.md
└── README.md
skills.sh.json (groupements Hub)
{
  "groupings": [
    {
      "title": "MLOps & Model Deployment",
      "skills": ["vllm-deploy", "model-benchmark"]
    },
    {
      "title": "AI Research Workflows",
      "skills": ["paper-summarizer", "citation-finder"]
    }
  ]
}
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

Contrôle de version : versionnez ~/.hermes/skills/ dans Git pour sync multi-appareils. Après git pull, lancez hermes skills reset pour reconstruire les built-ins.

07Skills auto-évolutifs avec GEPA + DSPy

GEPA (Genetic-Pareto Prompt Evolution) est un travail Oral ICLR 2026, intégré dans hermes-agent-self-evolution. Il améliore le texte des skills — pas les poids du modèle — en analysant les traces d'exécution, générant des variantes et optimisant en Pareto multi-objectif.

Coût : environ 2–10 USD par run d'optimisation (appels API uniquement, pas de GPU).

Pipeline d'évolution en cinq étapes :

  1. Étape 1 — Collecte de traces : lire les traces de raisonnement complètes depuis SQLite (appels outils, branches, erreurs).
  2. Étape 2 — Analyse réflexive des échecs : le LLM produit des informations actionnables — pas « ça a échoué » mais pourquoi.
  3. Étape 3 — Mutation ciblée : générer 10–20 variantes SKILL.md adressant les causes racines.
  4. Étape 4 — Évaluation Pareto multi-objectif : optimiser taux de succès × efficacité token × vitesse simultanément.
  5. Étape 5 — Revue humaine PR : la meilleure variante devient une PR ; déploiement après approbation.
evolve_skill 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

Quatre garde-fous avant tout PR :

  • Suite de tests complète : pytest tests/ -q doit passer à 100 %
  • Limite de taille : Skills ≤ 15 Ko, descriptions outils ≤ 500 caractères
  • Compatibilité prompt cache : pas d'éditions mid-session invalidant le cache
  • Préservation sémantique : le texte évolué ne doit pas dériver du but central
PhaseCibleMoteurStatut
Phase 1Fichiers SKILL.mdDSPy + GEPADisponible
Phase 2Descriptions outilsDSPy + GEPAPlanifié
Phase 3Fragments system promptDSPy + GEPAPlanifié
Phase 4Code implémentation outilsDarwinian EvolverPlanifié
Phase 5Boucle d'amélioration continuePipeline automatiséPlanifié

Traces cross-hôte : comme les Skills suivent agentskills.io, alimentez GEPA avec des traces Claude Code ou Gemini CLI :

Sources de traces mixtes (expérimental)
python -m evolution.skills.evolve_skill \
    --skill github-code-review \
    --iterations 10 \
    --eval-source mixed \
    --trace-dirs ~/.claude/traces,~/.hermes/sessions

08Skills embarqués dans les plugins

Les plugins namespacent les skills en plugin:skill :

  • Les skills n'apparaissent pas dans la skills_list par défaut (moins de bruit system prompt)
  • Activation uniquement sur appel explicite (opt-in)
  • Les skills frères d'un même plugin sont mutuellement visibles
Charger un skill plugin
skill_view("superpowers:writing-plans")

La réponse agent inclut les skills frères : « This plugin also includes: superpowers:editing, superpowers:research ».

Déclaration skills dans plugin.yaml
name: my-hermes-plugin
skills:
  - name: writing-plans
    path: skills/writing-plans/SKILL.md
  - name: editing
    path: skills/editing/SKILL.md

09Conseils avancés de rédaction

La précision de la description pilote l'activation :

Mauvais vs bon
description: Helps with code.

description: |
  Use when reviewing a pull request, checking for code quality issues,
  security vulnerabilities, or style violations. Handles GitHub PR URLs
  and local git diff output. Do NOT use for writing new code.

La section Pitfalls sépare les bons skills des excellents : modes d'échec concrets, analyse de cause racine, correctifs actionnables — pas d'avertissements génériques.

Les scripts donnent une vraie capacité d'exécution. Référencez scripts/extract_schema.py dans Procedure ; en cas d'échec, chargez references/manual-extract.md en fallback.

Taille skillRecommandation
< 500 lignesTout dans SKILL.md
500–1000 lignesMatériel de référence vers references/
> 1000 lignesSplit agressif ; envisager deux skills
> 15 KoLimite GEPA dépassée — split obligatoire

skill_manage permet à l'agent de patcher ou créer des skills programmatiquement. Approval gate dans config.yaml : skills.agent_writes_require_approval: true.

10Étude de cas : workflow blog technique

Objectif : une stack complète d'assistant rédaction blog pour Hermes.

~/.hermes/skill-bundles/blog-workflow.yaml
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.
seo-keyword-research/SKILL.md (extrait)
---
name: seo-keyword-research
description: |
  Use when planning a technical blog post. Researches search volume,
  competition, and related queries for Chinese and English audiences.
metadata:
  hermes:
    requires_toolsets: [web]
    tags: [seo, blogging, content]
---

## Procedure
1. Identify primary topic from user or context
2. Chinese long-tail: "X 怎么用", "X 教程", "X 最佳实践"
3. English long-tail: "X tutorial", "how to X", "X vs Y"
4. Cross-reference platform trends (掘金, Dev.to, HN)
5. Output keyword matrix: 3-5 primary + 10-15 long-tail per language

/blog-workflow au début de session : l'agent recherche les mots-clés, rédige les plans, valide les exemples de code et prépare des titres bilingues avant que vous n'écriviez un paragraphe.

11Runbook en six étapes : lab Skills sur Mac cloud

  1. 01
    Installer Hermes et les skills de base : suivez notre guide d'installation. Ajoutez des Taps officiels et au moins un dépôt communautaire (hermes skills tap add github:ChuckSRQ/awesome-hermes-skills). Vérifiez avec hermes skills list que le catalogue Level 0 reste sous ~3K tokens.
  2. 02
    Provisionner un Mac cloud dédié : ouvrez la console NUKCLOUD et choisissez un tier 16 Go+ (32 Go si vous lancez l'évolution GEPA en parallèle). La facturation horaire sur la page tarifs convient aux pilotes de rédaction de skills.
  3. 03
    Rédiger et valider les SKILL.md : créez des skills sous ~/.hermes/skills/ selon agentskills.io. Lancez skills-ref validate ./my-skill. Rédigez des champs description précis ; déplacez les fichiers au-delà de 500 lignes vers references/.
  4. 04
    Packager Bundles et activation conditionnelle : ajoutez des bundles YAML pour les workflows récurrents. Définissez fallback_for_tools pour les bascules outil gratuit/payant. Testez avec /bundle-name ; les skills manquants doivent avertir sans crasher.
  5. 05
    Publier le Tap équipe et lancer l'évolution GEPA : poussez les skills vers un Tap GitHub ; l'équipe exécute hermes skills tap add. Clonez hermes-agent-self-evolution, définissez HERMES_AGENT_PATH, évoluez un skill avec --eval-source sessiondb (budget 2–10 USD par run). Revoyez les diffs PR avant merge.
  6. 06
    Daemoniser et verrouiller la capacité : versionnez ~/.hermes/skills/ dans Git ; utilisez launchd pour un gateway Hermes ou bot Telegram 24/7. Verrouillez votre tier sur la page commander. Lisez aussi patterns Cursor Skills si l'équipe sépare IDE et agents terminal.

Faire tourner Hermes Skills sur un laptop échoue à cause du sommeil écran fermé qui tue les sessions Telegram, du jitter bande passante VPS partagé qui casse les longues boucles agent, et de l'invalidation prompt cache à chaque édition mid-flight. L'évolution GEPA et les runs agent nocturnes exigent une machine éveillée avec réseau stable. Pour des labs Skills production et des Taps d'équipe, les nœuds Mac cloud / bare-metal multi-région NUKCLOUD offrent isolation locataire et élasticité de spec — démarrez à l'heure, passez au mensuel fixe quand le catalogue se stabilise.

12Questions fréquentes

En quoi les Skills diffèrent-ils de MCP ?
Les Skills sont des documents de connaissance procédurale qui enseignent à l'agent comment faire quelque chose. MCP est une interface outil qui donne des capacités appelables supplémentaires. Ils se complètent : un serveur MCP expose l'accès base de données ; un Skill enseigne une migration sûre avec cet outil.
Pourquoi mon Skill édité se comporte-t-il encore comme l'ancienne version ?
Les éditions de Skill ne s'appliquent pas mid-session. Lancez /reset pour une nouvelle session, ou réinstallez avec --now. Le chemin --now invalide le prompt cache et coûte plus de tokens — préférez /reset.
Les skills évolués par GEPA sont-ils sûrs à déployer ?
Quatre garde-fous : pytest complet, limite 15 Ko, compatibilité prompt cache et préservation sémantique. Chaque variante arrive en PR avec revue humaine. Traitez les diffs comme des changements de code.
Puis-je réutiliser les Skills Hermes dans Claude Code ?
Copiez les fichiers SKILL.md vers ~/.claude/skills/, ou utilisez kevinnft/ai-agent-skills pour une install multi-agent. Le format agentskills.io est volontairement portable.
Le contenu skill en chinois nuit-il à l'efficacité token ?
Les caractères chinois coûtent environ 1–1,5 token par caractère dans la plupart des tokenizers — proche de l'anglais. Gardez description en anglais (ou bilingue) pour un matching Level 0 plus net ; le corps peut être dans n'importe quelle langue.

13Ressources complémentaires

Documentation officielle :

Dépôts open source :

Contenu communautaire :