Flux de travail terminal Hermes Agent Skills et rédaction SKILL.md sur macOS

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 :

  1. 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.
  2. 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.
  3. 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

  1. Étape 1 — Collecte de trajectoires : lecture SQLite des traces complètes (appels d'outils, branches, erreurs).
  2. Étape 2 — Analyse réflexive des échecs : le LLM produit des « side informations actionnables » — pas « échec », mais « pourquoi échec ».
  3. Étape 3 — Mutation ciblée : 10 à 20 variantes SKILL.md ciblant la cause identifiée.
  4. Étape 4 — Évaluation Pareto multi-objectifs : taux de succès × efficacité token × vitesse.
  5. É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é

  1. Suite de tests complète : pytest tests/ -q doit passer à 100 %.
  2. Limite de taille : Skills ≤ 15 Ko, descriptions d'outils ≤ 500 caractères.
  3. Compatibilité Prompt Cache : pas de modification en cours de session qui invalide le cache.
  4. 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

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.