Hermes Agent Skills Advanced Guide 2026:
SKILL.md, Bundles, and GEPA Self-Evolution

In early 2026, NousResearch shipped Hermes Agent with a thesis beyond bigger models: "the agent that grows with you." The foundation is the Skills system—standardized, evolvable, cross-session procedural memory, not one-shot prompts.

This guide targets developers who already run Hermes and want to author SKILL.md files, publish skill taps, bundle workflows, and evolve skills with GEPA. You get the Skills vs Memory vs Prompt map, agentskills.io structure, Progressive Disclosure tiers, conditional activation, open-source hubs, tap publishing, DSPy+GEPA five-stage evolution, a blog-workflow case study, and FAQ. After reading, you should ship production-grade skills and decide when ~/.hermes/ belongs on an always-on Mac.

01 Why Hermes Agent Skills deserve a deep dive: pain points and concept map

Compared with pasting long prompts every session, Hermes Skills solve how procedural knowledge persists, loads on demand, and scales across teams. Common pain points:

  • Context bloat: Stuffing runbooks into the system prompt steals tokens from real work.
  • No cross-session reuse: PR checklists vanish when the chat closes.
  • Team drift: Everyone keeps a different local prompt variant.
  • Wrong skills visible: Free-search fallbacks stay listed when paid web_search is available.
  • Stagnant quality: Skills never improve from failure traces.

Memory hook: Prompt = sticky note; Memory = notebook; Skill = SOP manual you open when needed.

Skills vs Memory vs Prompt
Dimension Prompt Memory Skills
Persistence Current chat Cross-session, permanent Cross-session, permanent
Load timing Always in context Injected each session On demand
Token cost Every turn Small, stable Zero until activated
Content type Any intent Preferences, facts Procedural steps
Shareability Awkward Private Publishable as a tap

Skills vs MCP: Skills teach procedure; MCP adds tool APIs. Pair an MCP database connector with a migration skill that defines order and verification.

02 SKILL.md format and Progressive Disclosure three-tier loading

Hermes Skills follow the agentskills.io open standard and port across Hermes, Claude Code, Cursor, and OpenCode. Typical layout:

~/.hermes/skills/my-category/my-skill/
├── SKILL.md
├── references/
├── templates/
└── scripts/
Progressive Disclosure tiers
Tier Content Trigger Token cost
Level 0 name + description Session start, all skills ~3K total
Level 1 Full SKILL.md body /skill-name or model match File length
Level 2 references/, scripts/ During execution Per file

Authoring tip: description is all Level 0 signal. Lead with Use when..., not vague labels. Size guide: <500 lines in SKILL.md; 500–1000 move detail to references/; >15KB breaks GEPA guardrails.

03 Hermes skill bundles workflow and conditional skill activation

Skill Bundles (2026) pack related skills into one slash command at ~/.hermes/skill-bundles/<slug>.yaml. /bundle-name loads every listed skill at once.

backend-dev.yaml
name: backend-dev
description: Full backend feature workflow.
skills:
  - github-code-review
  - test-driven-development
  - github-pr-workflow
instruction: |
  Always write failing tests first.
  Never push directly to main.

Bundle rules: bundle wins over a skill with the same name; missing skills are skipped with a notice; bundles do not rewrite the system prompt (cache-friendly).

Conditional activation in metadata.hermes:

Activation rule fields
Field Behavior
requires_toolsets Hide if listed toolset missing
requires_tools Hide if listed tool missing
fallback_for_toolsets Hide when listed toolset exists (fallback)
fallback_for_tools Hide when listed tool exists

Example: DuckDuckGo search skill with fallback_for_tools: [web_search] hides when paid search keys are configured.

04 Skills Hub ecosystem and how to publish a Hermes skill tap

terminal
hermes skills install official/research/arxiv
hermes skills tap add github:my-org/my-skills
hermes skills tap update
hermes skills tap list
Notable open skill repositories (2026-06)
Repository Highlight
ChuckSRQ/awesome-hermes-skills Curated production skills, MLOps, Apple integrations
amanning3390/hermeshub Community registry with security scanning
kevinnft/ai-agent-skills 191 skills, cross-agent install scripts
NousResearch/hermes-agent Official source and authoring spec

Tap repos use skills.sh.json for Hub groupings. Team subscribe:

terminal
hermes skills tap add github:your-org/your-skills-tap
hermes skills tap add github:your-org/private-skills --token $GH_TOKEN

Commands and behavior follow upstream docs; re-check after releases.

Skills System | Hermes Agent

agentskills.io Specification

NousResearch/hermes-agent on GitHub

05 GEPA explained: Hermes self-evolving skills without touching model weights

GEPA (Genetic-Pareto Prompt Evolution)—ICLR 2026 Oral work integrated in hermes-agent-self-evolution. It improves SKILL.md text via execution traces and multi-objective Pareto search, not weight fine-tuning. Typical run: $2–10 in API calls, no GPU.

Five stages: (1) collect traces in SQLite; (2) reflective failure analysis; (3) targeted mutations (10–20 variants); (4) Pareto eval on success, tokens, speed; (5) human-reviewed PR.

terminal
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 guardrails: full pytest pass; skill ≤15KB and tool desc ≤500 chars; no mid-session cache break; semantic drift check. Roadmap: Phase 1 SKILL.md done; tool descriptions, system prompts, tool code, and full auto loop planned.

06 Plugin skills, advanced authoring, and blog-workflow case study

Plugin skills load as plugin:skill, opt-in only, with sibling awareness inside the plugin namespace.

Authoring highlights: precise description triggers; concrete Pitfalls with fixes; executable scripts/; skill_manage patches with agent_writes_require_approval: true when needed.

blog-workflow.yaml
name: blog-workflow
skills:
  - seo-keyword-research
  - outline-generator
  - code-example-validator
  - bilingual-checker
  - publish-to-platform
instruction: |
  Research SEO keywords before writing.
  Ensure code examples are tested.

07 FAQ and further reading for Hermes Agent skills

Skill edits not showing? Use /reset or install with --now (cache invalidation cost).

Is GEPA safe? Guardrails plus human PR review; still diff every change.

Reuse in Claude Code? Copy to ~/.claude/skills/ or use kevinnft/ai-agent-skills.

Chinese body text? Token cost is similar; keep description in English for sharper matching.

Creating Skills | Hermes Agent

hermes-agent-self-evolution

gepa-ai/gepa

08 Six-step rollout, reference metrics, and CALMVPS close

  1. Baseline Hermes: Pass hermes doctor; back up ~/.hermes/skills/.
  2. Install taps: hermes skills tap add and tap update.
  3. Author SKILL.md: agentskills.io frontmatter, Procedure, Pitfalls, Verification.
  4. Create a bundle: YAML under skill-bundles/; test /bundle-name.
  5. Conditional rules: wire fallback_for_tools for paid/free search pairs.
  6. Optional GEPA: run evolve_skill with synthetic or sessiondb; merge reviewed PRs.
  • Level 0 footprint: ~3K tokens for all skill names and descriptions.
  • GEPA run cost: ~$2–10 API, no GPU (upstream README).
  • GEPA size cap: skills ≤15KB.
  • agentskills.io: validate with skills-ref validate.

Laptop trials work; Gateway, scheduled jobs, and GEPA traces need an always-on host. Pi I/O limits browser automation; x86 VPS lacks macOS-only toolchains; sleep breaks skill compounding.

For 24/7 Hermes, stable skill traces, iOS CI/CD, and agent automation, CALMVPS bare-metal Mac Mini rental is usually the better production fit: dedicated Apple Silicon, launchd persistence, SSH-backup-friendly ~/.hermes/, monthly elasticity, ~120s provisioning. See pricing.