2026 Hermes Agent Skills
Advanced Guide

SKILL.md · Bundles · Conditional Activation · GEPA Evolution · Tap Publishing

2026 Hermes Agent Skills advanced guide GEPA bundles
When Nous Research shipped Hermes Agent in early 2026, GitHub stars crossed 160K within two months. The tagline—"the agent that grows with you"—rests on a portable, evolvable, cross-session Skills system. If Hermes is installed but you still confuse Skills with Memory, burn tokens on every turn, or trigger workflows one slash command at a time, this guide maps the full advanced path: ① how Skills differ from Prompts and Memory; ② the agentskills.io SKILL.md format and three-level Progressive Disclosure; ③ Hermes skill bundles workflow with conditional activation; ④ GEPA prompt evolution via DSPy without fine-tuning weights; ⑤ Tap publishing and the open-source Skills Hub. Includes comparison matrices, a six-step runbook, a blog-workflow bundle case study, and FAQ.
01

Why Hermes Agent Skills deserve a dedicated deep dive

Unlike one-shot system prompts, Hermes treats skills as standardized, evolvable, cross-session procedural memory. For installation see the step-by-step install guide; for persistence layers see the three-layer memory article. This post goes straight into advanced territory.

01

Runaway token cost: Dumping every SOP into the system prompt loads everything every session. Progressive Disclosure costs zero tokens until a skill activates.

02

Fragmented workflows: Code review, TDD, and PR management each need a separate /skill-name. Skill Bundles load the full stack with one command.

03

Missing environment awareness: Paid web_search and free DuckDuckGo can both appear in the prompt. Conditional activation shows or hides skills based on tool availability.

04

Stagnant skill quality: Hand-written skills freeze after shipping. GEPA (Genetic-Pareto Prompt Evolution, ICLR 2026 Oral) improves SKILL.md text from execution traces—no model weight fine-tuning.

05

Hard team sharing: Skills scattered across laptops. Tap repos plus hermes skills tap add let a team subscribe to an entire skill library in one step.

DimensionPlain PromptMemorySkills
PersistenceCurrent conversationCross-session, permanentCross-session, permanent
Load timingAlways in contextInjected every sessionOn demand
Token costEvery turnSmall and stableZero before activation
Content typeAny intentUser prefs / factsProcedural steps
MaintainerUser manualAgent automaticUser and Agent
ShareabilityAwkwardPrivatePublishable as community Tap

Rule of thumb: Prompt = sticky note; Memory = notebook; Skill = SOP manual—open when needed, absent from context when not.

02

agentskills.io SKILL.md format and Progressive Disclosure

Every Hermes Skill follows the agentskills.io open standard so the same file works across Hermes, Claude Code, and Cursor. Validate compliance with skills-ref validate ./my-skill.

SKILL.md
---
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 Checklist

Recommended directory layout:

directory
~/.hermes/skills/
└── my-category/
    └── my-skill/
        ├── SKILL.md              # core steps, target ≤500 lines
        ├── references/           # API docs, loaded on demand
        ├── templates/            # reusable templates
        └── scripts/              # scripts the agent can execute
Load levelContentTriggerToken cost
Level 0name + descriptionSession start, all skills~3K (all skills combined)
Level 1Full SKILL.md body/skill-name or LLM decides neededDepends on file length
Level 2references/ scripts/ filesLLM decides during executionPer file, on demand

Writing tip: description is the entire Level 0 payload—the LLM uses it to decide whether to load the full skill. Lead with when to use, not what it is; start with Use when..., keep under 1024 characters.

03

Skill Bundles and conditional activation: one-shot workflows

Skill Bundles are a 2026 Hermes feature: lightweight YAML files that pack multiple skills behind a single slash command. Running /bundle-name loads every listed skill at once. File location: ~/.hermes/skill-bundles/<slug>.yaml.

backend-dev.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.

Bundle priority rules: when a Bundle and a single Skill share a name, the Bundle wins; missing skills are skipped silently; Bundles do not alter the system prompt, so Prompt Cache stays valid. Quick CLI creation:

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

Conditional activation auto-shows or hides skills based on tools available in the current session. Configure under metadata.hermes:

FieldBehavior
requires_toolsetsHide skill when listed toolsets are absent
requires_toolsHide skill when listed tools are absent
fallback_for_toolsetsHide skill when listed toolsets are present (fallback path)
fallback_for_toolsHide skill when listed tools are present (fallback path)

Classic pattern: after setting FIRECRAWL_KEY or BRAVE_SEARCH_KEY, paid web_search activates and the DuckDuckGo skill disappears via fallback_for_tools: [web_search]. When the API is unavailable, the fallback resurfaces automatically. Platform-aware example: requires_toolsets: [messaging] with platforms: [telegram, discord]—the hermes skills TUI lets you toggle skills per platform independently.

04

Skills Hub, Tap publishing, GEPA evolution, and advanced authoring

Official install channels:

bash
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
hermes skills tap update
hermes skills tap list
RepositoryHighlightStars
awesome-hermes-skillsProduction-grade collection: Deep Research, MLOps, Apple integration67
hermeshubCommunity registry with prompt-injection security scans166
ai-agent-skills191 skills, 28 categories, cross Hermes / Claude / Cursor10
hermes-agentOfficial source of truth with authoring guidelines

Publishing a team Tap: Create a GitHub repo, control Hub categories with skills.sh.json, and have teammates run hermes skills tap add github:your-org/your-skills-tap; add --token $GH_TOKEN for private repos. Version-control ~/.hermes/skills/ in Git for cross-device sync.

GEPA + DSPy self-evolution (hermes-agent-self-evolution): no weight fine-tuning—analyze execution traces, generate variants, and run multi-objective Pareto optimization on skill text. Each optimization run costs roughly $2–10 in API fees with no GPU. Five stages: ① execution trace collection (SQLite); ② reflective failure analysis; ③ targeted mutation (10–20 SKILL.md variants); ④ multi-objective Pareto evaluation (success rate × token efficiency × speed); ⑤ human PR review.

bash
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
    --skill github-code-review \
    --iterations 10 \
    --eval-source sessiondb

python -m evolution.skills.evolve_skill \
    --skill github-code-review \
    --iterations 10 \
    --eval-source mixed \
    --trace-dirs ~/.claude/traces,~/.hermes/sessions

Four safety guardrails: full pytest suite must pass 100%; Skills ≤ 15KB; Prompt Cache compatibility; semantic preservation checks. Official evolution roadmap: Phase 1 Skill files (done) → Phase 2 tool descriptions → Phase 3 system prompt → Phase 4 tool implementation code → Phase 5 fully automated loop.

Plugin skills load under the plugin:skill namespace—they do not appear in default skills_list and activate only on explicit user call; plugin skills can reference each other. Advanced authoring: write trigger conditions in description; put concrete failure modes and fixes in Common Pitfalls; split large skills into references/ (>500 lines recommended split, >15KB exceeds GEPA limit); the skill_manage tool lets the agent maintain skills dynamically—set agent_writes_require_approval: true in config.yaml for a human approval gate.

01

Install and verify Hermes: hermes doctor passes, Gateway online 24/7 (see install guide).

02

Author your first SKILL.md: Follow agentskills.io; start description with Use when...; include Procedure and Pitfalls sections.

03

Create a Skill Bundle: hermes bundles create or hand-write YAML under ~/.hermes/skill-bundles/.

04

Configure conditional activation: Add requires_toolsets or fallback_for_tools under metadata.hermes.

05

Subscribe to community Taps: hermes skills tap add github:..., then tap update on a schedule.

06

Optional GEPA evolution: Clone the self-evolution repo, run evolve_skill against sessiondb traces, human-review the PR before merge.

05

Blog-workflow bundle case study and hard numbers

Build a blog-workflow Bundle packing seo-keyword-research, outline-generator, code-example-validator, bilingual-checker, and publish-to-platform. The bundle instruction requires SEO keyword research first, runnable code examples, and bilingual titles. A custom seo-keyword-research skill sets requires_toolsets: [web] in metadata.hermes; its Procedure covers English long-tail patterns (how to X, X vs Y) and cross-validates against platform trend data.

A

Level 0 overhead for all skills: roughly 3K tokens (every name + description combined)—an order of magnitude less than injecting full SOPs every session.

B

GEPA single-run cost: about $2–10 in API calls, no GPU; each run generates 10–20 variants filtered by Pareto front.

C

Hard size limits: GEPA guardrails cap Skills at 15KB, tool descriptions at 500 characters; target SKILL.md ≤500 lines, strongly split above 1000 lines.

Note: Skill edits do not apply in the current session—run /reset or install with --now (invalidates Prompt Cache). Keep description in English for sharper LLM matching.

Closing a laptop lid, running on an x86 VPS without native macOS paths, or keeping skills on unversioned local disk all interrupt skill compounding and GEPA trace accumulation. For production workloads that need a 24/7 Gateway, skill self-evolution, and cross-device sync, MESHLAUNCH Mac Mini M4 bare-metal cloud rental is the practical fit: dedicated Apple Silicon, native launchd daemons, flexible daily/weekly/monthly billing, and the closest match to Hermes official macOS paths. See pricing, help center, or order a cloud Mac. Further reading: Hermes docs, GEPA algorithm, DSPy framework.

FAQ

Skills are procedural knowledge documents—they teach an agent how to do something. MCP is a tool interface that adds callable capabilities. They complement each other: MCP gives database access; a Skill teaches how to run a migration correctly. See the MCP Server developer guide.

Skill edits do not apply in the current session. Run /reset to start fresh, or install with --now to force a refresh (this invalidates Prompt Cache and uses more tokens).

Copy SKILL.md into ~/.claude/skills/ or the Cursor skills directory, or install from kevinnft/ai-agent-skills for cross-platform use. For production hosting see pricing and the help center.