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_searchis available. - Stagnant quality: Skills never improve from failure traces.
Memory hook: Prompt = sticky note; Memory = notebook; Skill = SOP manual you open when needed.
| 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:
├── SKILL.md
├── references/
├── templates/
└── scripts/
| 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.
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:
| 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
hermes skills install official/research/arxiv
hermes skills tap add github:my-org/my-skills
hermes skills tap update
hermes skills tap list
| 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:
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.
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.
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.
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.
08 Six-step rollout, reference metrics, and CALMVPS close
- Baseline Hermes: Pass
hermes doctor; back up~/.hermes/skills/. - Install taps:
hermes skills tap addandtap update. - Author SKILL.md: agentskills.io frontmatter, Procedure, Pitfalls, Verification.
- Create a bundle: YAML under
skill-bundles/; test/bundle-name. - Conditional rules: wire
fallback_for_toolsfor paid/free search pairs. - Optional GEPA: run
evolve_skillwith 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.