2026 Hermes Agent Skills Advanced Guide: From SKILL.md to GEPA Self-Evolution

SKILL.md format · Skill Bundles · Conditional activation · GEPA evolution · Tap publishing · agentskills.io

Hermes Agent Skills advanced guide 2026

Already running Hermes Agent but still pasting the same prompts every session? Nous Research shipped Hermes in early 2026; it hit 160k GitHub stars in two months. The thesis is not a bigger model—it is "the agent that grows with you." The engine is the Skills system: standardized, evolvable, cross-session procedural memory. This guide covers SKILL.md, Progressive Disclosure, Skill Bundles, conditional activation, Tap publishing, GEPA + DSPy self-evolution, and the open-source ecosystem—with comparison tables, a six-step runbook, and FAQ.

01

Why Hermes Skills Deserve a Deep Dive

Unlike one-shot prompts, Hermes skills follow the agentskills.io open standard: persistent across sessions, loaded on demand, publishable as community Taps, portable to Claude Code and Cursor. If you already installed Hermes, see our install guide and memory architecture post. This article focuses on the Skills layer only.

  1. 01

    Treating prompts as skills: Full injection every session; tokens grow linearly; no cross-session reuse of procedural steps.

  2. 02

    Confusing Memory with Skills: Memory stores preferences and facts; Skills store SOPs for how to do something—different load timing and maintenance.

  3. 03

    Weak description fields: Level 0 routing uses name + description only. Writing what it is instead of when to use it causes misfires or never loads.

  4. 04

    Monolithic SKILL.md files: Over 500 lines in one file hits GEPA's 15KB cap and inflates Level 1 token cost.

  5. 05

    Unstable hosts: Skill compounding needs 24/7 uptime; laptops sleep and break sessiondb collection for GEPA.

Prompt = sticky note. Memory = notebook. Skill = SOP manual—zero token cost until activated.

02

Skills vs Prompts vs Memory and Progressive Disclosure

DimensionPromptMemorySkills
PersistenceCurrent chatCross-session, permanentCross-session, permanent
Load timingAlways in contextAuto-injected each sessionOn demand
Token costEvery turnSmall, stableZero before activation
Content typeAny intentPreferences/factsProcedural steps
MaintainerUser manualAgent autoUser + Agent
ShareableHardPrivateCommunity Tap

SKILL.md structure and directory layout

Required frontmatter: name (lowercase + hyphens, max 64 chars) and description (max 1024 chars, start with "Use when..."). Recommended: version, license, compatibility, experimental allowed-tools. Body sections: Overview, When to Use, Procedure, Common Pitfalls, Verification Checklist.

yaml · SKILL.md frontmatter
---
name: my-skill
description: |
  Use when the user needs to [...].
  Handles [...] and [...].
version: 1.0.0
metadata:
  hermes:
    requires_toolsets: [terminal]
    fallback_for_toolsets: [web]
---

Directory layout under ~/.hermes/skills/my-category/my-skill/: SKILL.md (core, max ~500 lines), references/ (API docs), templates/, scripts/ (agent-executable).

LevelContentTriggerToken cost
Level 0name + descriptionSession start, all skills~3K total
Level 1Full SKILL.md body/skill-name or LLM matchFile length
Level 2references/ scripts/LLM decides during executionPer file
03

Skill Bundles, Conditional Activation, and Six-Step Runbook

Skill Bundles: one command, full workflow

A Bundle is a lightweight YAML at ~/.hermes/skill-bundles/<slug>.yaml. Running /bundle-name loads all listed skills at once. Bundle beats a same-name Skill; missing skills are skipped silently; Bundles do not alter system prompts (token-friendly).

yaml · backend-dev bundle
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.

CLI: hermes bundles create backend-dev --skills github-code-review,test-driven-development,github-pr-workflow. Advanced bundles include research-session (arxiv + deep-research + plan + excalidraw) and mlops-deploy (vllm + llama-cpp + github-pr-workflow + systematic-debugging).

Conditional activation

Configure under metadata.hermes: requires_toolsets/tools hides the skill when listed tools are missing; fallback_for_toolsets/tools hides when listed tools exist (fallback path). Example: DuckDuckGo search with fallback_for_tools: [web_search]—when FIRECRAWL_KEY or BRAVE_SEARCH_KEY enables paid web_search, DuckDuckGo disappears from the prompt; when API is down, the fallback surfaces.

Six-step runbook: first Skill to team Tap

  1. 01

    Create directory: Add SKILL.md under ~/.hermes/skills/<category>/<skill-name>/ with clear "Use when..." triggers.

  2. 02

    Split references: Move API docs to references/ after 500 lines; must stay under 15KB for GEPA guardrails.

  3. 03

    Validate format: Run skills-ref validate ./my-skill for agentskills.io compliance.

  4. 04

    Test activation: New session, run /my-skill or match by description; confirm Level 1 load and Procedure execution.

  5. 05

    Bundle (optional): hermes bundles create <name> --skills a,b,c for one-shot workflows.

  6. 06

    Publish Tap: GitHub repo + hermes skills tap add github:your-org/your-skills-tap; team runs tap update.

04

Skills Hub Ecosystem, Tap Publishing, and Plugin Skills

bash · install skills
hermes skills install official/research/arxiv
hermes skills install github:openai/skills/k8s
hermes skills tap add github:my-org/my-skills
hermes skills tap update
hermes skills tap list
RepositoryDescriptionHighlight
ChuckSRQ/awesome-hermes-skillsCurated production skillsDeep Research, MLOps, Apple integration
amanning3390/hermeshubCommunity registrySecurity scan, marketplace, injection detection
kevinnft/ai-agent-skills191 skills, 28 categoriesHermes / Claude Code / Cursor one-click install
NousResearch/hermes-agentOfficial repoBuilt-in skills and authoring spec

Tap repo structure and team deployment

Tap repos use category folders (mlops/, research/) plus optional skills.sh.json for Hub grouping. Private repos: hermes skills tap add github:your-org/private-skills --token $GH_TOKEN. Version control ~/.hermes/skills/ with Git; cross-device sync via git pull && hermes skills reset.

Plugin skills (plugin:skill namespace)

Plugins package skills as plugin:skill: hidden from default skills_list, opt-in only, sibling skills cross-reference within the plugin. Load with skill_view("superpowers:writing-plans"). Declare paths in plugin.yaml.

Cross-platform: Same SKILL.md works on Hermes, Claude Code, Cursor, OpenCode. Copy to ~/.claude/skills/ or use kevinnft/ai-agent-skills install scripts.

05

GEPA + DSPy Self-Evolution, Authoring Tips, and Blog Workflow Case

GEPA: evolve skill text without fine-tuning weights

GEPA (Genetic-Pareto Prompt Evolution) is ICLR 2026 Oral work integrated in hermes-agent-self-evolution. Pipeline: collect execution traces → reflective failure analysis → generate 10–20 SKILL.md variants → multi-objective Pareto eval (success × token efficiency × speed) → best variant opens a PR for human review. Cost: about $2–10 per run, API only, no GPU.

bash · GEPA evolve
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
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; Skills ≤15KB, tool descriptions ≤500 chars; Prompt Cache safe; semantic preservation. Roadmap: Phase 1 Skill files (done) → tool descriptions → system prompts → tool code → fully automated loop.

Advanced authoring

  • description precision: "Use when reviewing a PR... Do NOT use for writing new code" beats "Helps with code"
  • Pitfalls quality: concrete failure modes, root causes, fixes (CSS selectors, GitHub rate limits, large diff overflow)
  • scripts/ execution: reference runnable scripts in Procedure; fallback to references/ on failure
  • skill_manage: agent patch/create; set agent_writes_require_approval: true in config.yaml

Case study: blog-workflow Bundle

Pack seo-keyword-research, outline-generator, code-example-validator, bilingual-checker, publish-to-platform. Instruction: research SEO first, test code examples, generate bilingual titles. seo-keyword-research description targets blog planning; Procedure outputs keyword matrix for Chinese and English long-tail queries.

  • Level 0 baseline: all skill name+description totals ~3K tokens
  • GEPA run cost: about $2–10 API, no GPU fine-tuning
  • Size cap: GEPA guardrail 15KB per skill
  • GitHub growth: 160k stars in two months after early 2026 launch
  • Community scale: kevinnft/ai-agent-skills has 191 cross-platform skills in 28 categories

Laptops and x86 VPS can run Hermes CLI but break Skill compounding, GEPA sessiondb collection, and macOS browser skills. For teams treating Skills as production assets that get stronger over time, a Mac Mini M4 cloud rental bundles 24/7 uptime, UMA, and launchd into predictable OpEx.

When your Skills stack is ready and you need a production host, VpsMesh offers Mac Mini M4 cloud rental with SSH delivery and full ~/.hermes/ backup. See pricing, help center, and order page.

FAQ

Hermes Skills FAQ

Skills are procedural docs; MCP is a tool interface. Complementary: MCP gives database access, a Skill teaches correct migration steps. See our MCP Server from scratch guide.

Edits do not apply in the current session. Run /reset or install with --now (invalidates Prompt Cache, higher token cost).

Four guardrails: full tests pass, 15KB cap, Prompt Cache safe, semantic check. Best variants open PRs requiring human review before merge.

Copy SKILL.md to ~/.claude/skills/ or Cursor skills dir; or use kevinnft/ai-agent-skills. agentskills.io keeps format consistent across agents.

x86 VPS works for API-only CLI. For GEPA sessiondb, macOS browser skills, or Tap Git sync, Mac Mini M4 rental is more stable. See pricing.