SKILL.md · Skill Bundles · Activation conditionnelle · Publication Tap · GEPA + DSPy · Validation Mac distant
À qui s'adresse ce guide ? Vous avez terminé le guide d'installation Hermes mais vous recopiez encore deploy, PR et audit à chaque conversation — en brûlant des tokens pendant que l'agent oublie comment travailler. En bref : Hermes Agent de Nous Research a dépassé 160 000 étoiles GitHub en deux mois, non grâce à un modèle plus gros, mais grâce à « l'agent qui grandit avec vous » — propulsé par un système de Skills standardisé, évolutif et inter-sessions. Plan : comparaison des concepts → SKILL.md et chargement progressif → Skill Bundles → activation conditionnelle → écosystème ouvert et publication Tap → auto-évolution GEPA en cinq étapes → skills Plugin et conseils d'auteur → cas pratique blog → FAQ. Pour valider des scripts macOS, associez ce guide à une session VNC sur un Mac distant VNCMac.
Début 2026, Nous Research a livré Hermes Agent — l'un des projets d'agents IA open source à la croissance la plus rapide. Contrairement aux prompts ponctuels, les Hermes Skills constituent une couche standardisée, évolutive et inter-sessions de mémoire procédurale : ils enseignent à l'agent comment faire quelque chose, pas quel fait retenir.
Ce guide ignore la configuration débutant et va droit au terrain avancé :
Progressive Disclosure : comment dépenser zéro token avant activation et n'étendre le SKILL.md complet que si nécessaire ?
Activation conditionnelle : afficher ou masquer automatiquement les skills selon la disponibilité des outils — bascule intelligente entre APIs gratuites et payantes.
Skill Bundles : une commande slash charge plusieurs skills liés et déclenche un workflow complet.
DSPy + GEPA : faire évoluer le texte des skills sans toucher aux poids du modèle — chaque run coûte environ 2–10 $ en API, sans GPU.
Écosystème ouvert : awesome-hermes-skills, hermeshub, kevinnft/ai-agent-skills et plus — abonnement direct via Tap.
Confondre ces trois notions est l'erreur la plus fréquente chez les débutants. Mnémotechnique simple : Prompt = post-it (valable pour ce tour uniquement) ; Memory = carnet (notes permanentes, toujours à portée) ; Skill = manuel SOP (procédure étape par étape, ouvert à la demande).
| Dimension | Prompt simple | Memory | Skills |
|---|---|---|---|
| Persistance | Conversation en cours | Inter-sessions, permanent | Inter-sessions, permanent |
| Moment de chargement | Toujours en contexte | Auto-injecté chaque session | À la demande |
| Coût tokens | Chaque tour | Faible et stable | Zéro avant activation |
| Type de contenu | Toute description d'intention | Préférences / faits utilisateur | Étapes procédurales |
| Maintenance | Manuelle par l'utilisateur | Automatique par l'agent | Utilisateur + agent |
| Partageabilité | Peu pratique | Privée | Publiable en Tap communautaire |
Tous les Hermes Skills suivent le standard ouvert agentskills.io, portable entre Hermes, Claude Code et Cursor.
---
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 Checklistmy-category/my-skill/ ├── SKILL.md # Étapes centrales ; garder ≤500 lignes ├── references/ # Docs API, chargées à la demande ├── templates/ # Modèles réutilisables └── scripts/ # Scripts exécutables directement par l'agent
| Niveau | Contenu | Déclencheur | Coût tokens |
|---|---|---|---|
| Niveau 0 | name + description | Début de chaque session, tous les skills | ~3K (tous skills combinés) |
| Niveau 1 | Corps complet SKILL.md | /skill-name ou le LLM juge nécessaire | Selon longueur du fichier |
| Niveau 2 | references/ scripts/ | Le LLM décide à l'exécution | À la demande, par fichier |
Conseil rédaction : 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 plus clairement que ce que c'est ; commencez par Use when... et restez sous 1024 caractères.
Les Skill Bundles sont une addition Hermes 2026 et l'une des fonctionnalités les plus sous-estimées. Un Bundle est un fichier YAML léger qui regroupe plusieurs skills liés en une seule commande slash ; exécuter /bundle-name charge tous les skills listés d'un coup.
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.
Scénarios avancés : un workflow recherche IA pourrait bundler arxiv + deep-research + plan + excalidraw ; un déploiement MLOps pourrait bundler vllm + llama-cpp + github-pr-workflow + systematic-debugging.
| Règle | Comportement |
|---|---|
| Collision de nom | Le Bundle a priorité sur un Skill seul |
| Skill manquant | Ignoré sans erreur ; avertissement au chargement |
| Prompt Cache | Le Bundle ne modifie pas le system prompt — économe en tokens |
hermes bundles create backend-dev \ --skills github-code-review,test-driven-development,github-pr-workflow \ --instruction "Always write failing tests first"
Sous metadata.hermes, configurez quatre règles d'activation pour que les skills s'affichent ou se masquent automatiquement selon la disponibilité des outils dans la session en cours :
| Champ | Logique |
|---|---|
| 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 — bascule outil gratuit vs payant : quand l'utilisateur configure FIRECRAWL_KEY ou BRAVE_SEARCH_KEY, le skill payant web_search s'active et le repli DuckDuckGo disparaît du prompt — économie de tokens. Quand l'API est indisponible, le repli réapparaît automatiquement.
metadata:
hermes:
fallback_for_tools: [web_search] # masqué auto si web_search payant existeVia le TUI hermes skills, vous pouvez aussi activer ou désactiver individuellement les skills par plateforme — CLI, Telegram, Discord, etc.
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ôt | Points forts | Stars |
|---|---|---|
| awesome-hermes-skills | Collection production : Deep Research, MLOps, intégration Apple | 67 |
| hermeshub | Registre communautaire avec scan sécurité | 166 |
| ai-agent-skills | 191 skills, 28 catégories, cross Hermes/Claude/Cursor | 10 |
| hermes-agent | Dépôt officiel — source autoritaire et spec d'auteur | — |
Le standard ouvert agentskills.io signifie que les assets skill ne sont pas verrouillés sur une plateforme. Validez la conformité format avec skills-ref validate ./my-skill.
Créez un dépôt GitHub comme Tap pour que votre équipe — ou la communauté — puisse s'abonner à votre jeu de skills :
my-skills-tap/ ├── skills.sh.json ├── mlops/vllm-deploy/SKILL.md └── research/paper-summarizer/SKILL.md # Abonnement équipe en une commande 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
Conseil versionning : mettez ~/.hermes/skills/ sous Git. Après git pull && hermes skills reset sur un autre appareil, reconstruisez les skills intégrés pour rester synchronisé.
GEPA (Genetic-Pareto Prompt Evolution) est un résultat ICLR Oral 2026, intégré dans hermes-agent-self-evolution. L'idée centrale : sans fine-tuning des poids du modèle, analyser les traces d'exécution, générer des variantes et appliquer une optimisation Pareto multi-objectifs pour améliorer le texte du skill lui-même. Chaque run d'optimisation coûte environ 2–10 $ en API — sans GPU.
Collecte de traces d'exécution : lire les traces de raisonnement complètes depuis SQLite — appels d'outils, branches, erreurs.
Analyse réflexive des échecs : le LLM produit des informations latérales actionnables — pas seulement « ça a échoué », mais pourquoi.
Mutation ciblée : générer 10–20 variantes SKILL.md visant la cause racine de l'échec.
Évaluation Pareto multi-objectifs : optimiser simultanément taux de succès × efficacité tokens × vitesse.
Revue humaine de PR : meilleure variante → PR générée → fusion après approbation humaine.
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
# Point d'entrée données synthétiques
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 sessiondbLa suite de tests complète pytest tests/ -q doit passer à 100 %
Limites de taille : Skills ≤ 15 Ko, descriptions d'outils ≤ 500 caractères
Compatibilité prompt cache : pas de modifications mid-session qui invalident le cache
Vérification de préservation sémantique : ne doit pas dériver de l'objectif original du skill
| Phase | Cible d'optimisation | Moteur | Statut |
|---|---|---|---|
| Phase 1 | Fichiers skill (SKILL.md) | DSPy + GEPA | ✅ Livré |
| Phase 2 | Descriptions d'outils | DSPy + GEPA | 🔲 Prévu |
| Phase 3 | Fragments system prompt | DSPy + GEPA | 🔲 Prévu |
| Phase 4 | Code d'implémentation outils | Darwinian Evolver | 🔲 Prévu |
| Phase 5 | Boucle d'amélioration continue | Pipeline automatisé | 🔲 Prévu |
Comme les Skills suivent le standard agentskills.io, vous pouvez aussi alimenter GEPA avec des traces Claude Code ou Gemini CLI : --eval-source mixed --trace-dirs ~/.claude/traces,~/.hermes/sessions
Les plugins empaquettent des skills dans un namespace (plugin:skill) : ils n'apparaissent pas dans le skills_list par défaut (réduction du bruit) ; ils s'activent uniquement sur invocation explicite de l'utilisateur (opt-in) ; et les skills d'un plugin peuvent se référencer entre eux.
name: my-hermes-plugin
skills:
- name: writing-plans
path: skills/writing-plans/SKILL.md
- name: editing
path: skills/editing/SKILL.md
# Chargement : skill_view("superpowers:writing-plans")description pilote la précision d'activation : évitez les lignes vagues comme Helps with code. Indiquez conditions de déclenchement, périmètre et exclusions explicites (Do NOT use for...).
Les pièges séparent les bons skills des excellents : chaque mode d'échec nécessite une analyse de cause racine et un correctif actionnable — pas de conseils génériques.
| Taille skill | Recommandation |
|---|---|
| < 500 lignes | Tout garder dans SKILL.md |
| 500–1000 lignes | Déplacer le détail vers references/ |
| > 1000 lignes | Scinder fortement ; envisager deux skills |
| > 15 Ko | Dépasse la limite GEPA — scission obligatoire |
skill_manage permet à l'agent de maintenir ses propres skills : supporte les actions patch et create. Définissez skills.agent_writes_require_approval: true dans config.yaml pour exiger une approbation humaine avant écriture sur disque.
Construisez un Bundle blog-workflow qui empaquette recherche SEO, génération de plan, validation de code, vérifications bilingues et skills de publication :
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.
Un skill custom seo-keyword-research pourrait spécifier dans Procedure : patterns longue traîne chinois comme « X 怎么用 » et « X 教程 » ; patterns anglais comme « X tutorial », « how to X » et « X vs Y » ; croiser Juejin trending et posts hot Dev.to ; produire 3–5 mots-clés principaux plus une matrice longue traîne 10–15.
Hermes Agent exige une disponibilité 24/7 et l'accumulation locale de traces pour que l'évolution GEPA fonctionne (voir notre guide architecture mémoire trois couches). Vous pouvez écrire des Skills sur une machine Windows ou Linux principale, mais les scripts/ spécifiques macOS et la validation Telegram Gateway appartiennent à un Mac distant.
| Scénario | SSH seul | SSH + VNC | Recommandation |
|---|---|---|---|
| Éditer SKILL.md / Bundle YAML | ✅ | ✅ | SSH suffit |
| Exécuter validation script bash | ✅ | ✅ | SSH suffit |
| Appairage QR Telegram / Discord | ❌ | ✅ | VNC requis |
| Évolution GEPA + revue PR manuelle | ✅ | Optionnel | SSH + revue diff locale |
| Keychain macOS / permissions TCC | ❌ | ✅ | VNC requis |
Louez un nœud Mac Mini M4 mensuel et installez Hermes via SSH (voir le guide d'installation).
Créez votre premier SKILL.md sous ~/.hermes/skills/ ; validez avec skills-ref validate.
Créez un Skill Bundle et vérifiez le chargement multi-skills avec /bundle-name.
Complétez l'appairage QR Telegram Gateway et les contrôles hermes doctor en session VNC.
Après accumulation de traces de session, lancez GEPA evolve_skill sur le nœud distant et relisez la PR générée.
Référence officielle de Nous Research.
Lire →Dépôt hermes-agent-self-evolution.
Lire →Spec SKILL.md Cursor / Claude Code pour tout agent.
Lire →Les Skills sont des documents de connaissance procédurale qui enseignent à l'agent comment exécuter une tâche. MCP est une interface d'outils qui donne à l'agent des capacités d'appel d'outils supplémentaires. Ils se complètent : MCP fournit l'accès base de données ; un Skill enseigne à l'agent comment lancer une migration correctement.
Les modifications de Skill ne prennent pas effet dans la session en cours. Exécutez /reset pour repartir à zéro, ou installez avec le flag --now pour forcer le rafraîchissement (cela invalide le Prompt Cache et coûte plus de tokens).
Quatre garde-fous contraignent la sortie : suite de tests complète, limites de taille, préservation sémantique et revue humaine de PR. La détection de dérive sémantique garantit que les skills ne s'éloignent pas de leur objectif original. Relisez manuellement chaque diff de PR avant fusion.
Copiez SKILL.md vers ~/.claude/skills/, ou utilisez des scripts multi-agents comme kevinnft/ai-agent-skills pour une installation unique sur Hermes, Claude Code et Cursor.
Les caractères CJK coûtent dans la plupart des tokenizers environ 1–1,5 token par caractère — comparable à l'anglais. Gardez le champ description en anglais (ou bilingue), car les LLM sous-jacents matchent les descriptions anglaises plus précisément.
Les Hermes Agent Skills transforment « s'améliore avec l'usage » d'un slogan en chemin d'ingénierie : le standard agentskills.io garantit la portabilité cross-plateforme, la Progressive Disclosure contrôle la dépense de tokens, les Bundles et l'activation conditionnelle orchestrent des workflows complexes, et GEPA permet au texte des skills d'évoluer en continu — le tout exige un hôte 24/7 qui accumule les traces de session.
Écrire des Skills sur Windows ou Linux convient, mais l'appairage QR Telegram, les dialogues de permission macOS et l'accumulation long terme de traces bloquent souvent sur « pas de Mac toujours allumé ». Acheter un Mac mini implique amortissement et facture électrique ; un VPS ne peut pas faire tourner la toolchain Gateway Hermes native complète. À l'inverse, louer un Mac Mini M4 chez VNCMac délègue uptime et image de base au fournisseur — vous vous concentrez sur l'auteur de skills et l'évolution GEPA, et utilisez VNC pour la validation graphique.
Si vous êtes prêt à faire passer Hermes de « installé » à « systématisé en skills », ouvrez un nœud Mac distant via le bouton ci-dessous, puis suivez la checklist en cinq étapes de la section 12 avec notre guide architecture et le tutoriel d'installation.