Hermes Production 2026-06-18

Hermes Agent Skills 2026
Полное руководство
SKILL.md → GEPA → Bundles

Hermes уже развёрнут, но Agent по-прежнему живёт на дефолтных навыках? Этот материал для инженеров, которые хотят выжать из Skills максимум: от спецификации agentskills.io и трёхуровневой Progressive Disclosure до Skill Bundles, условной активации по toolsets, Tap-публикации и GEPA+DSPy эволюции без fine-tune весов. Внутри — сравнительные таблицы, YAML/CLI-примеры, кейс блог-пайплайна, FAQ и HowTo из 5 шагов для изолированного прогона на арендованном Mac.

Hermes Agent Skills: SKILL.md, Progressive Disclosure, GEPA и Skill Bundles

01 · Почему подсистема Skills Hermes заслуживает отдельного разбора

В начале 2026 Nous Research выпустил Hermes Agent — за два месяца проект набрал 160 000+ GitHub Stars, став одним из самых быстрорастущих OSS Agent-фреймворков. Ключевая идея — «the agent that grows with you»: агент накапливает процедурное знание между сессиями, а не перезаписывает контекст каждый раз. Реализация этой философии — Skills: версионируемые SOP-документы с маршрутизацией, lazy-load и путём к автоматической эволюции через GEPA.

Базовую установку Gateway, Telegram и cron мы не повторяем — см. гайд установки Hermes. Здесь — инженерный слой: как Progressive Disclosure удерживает Level 0 около ~3K токенов на весь каталог, как Bundles атомарно загружают связанные навыки без инвалидации Prompt Cache, и как GEPA оптимизирует текст SKILL.md по Pareto-фронту «успех × token-efficiency × latency».

02 · Три боли: «Hermes установлен» ≠ «Skills отлажены»

  1. Token bleed через monolithic prompt: весь SOP в system prompt → тысячи токенов на каждый turn; без Progressive Disclosure 50 навыков × полный SKILL.md легко выбивают 128K контекст.
  2. Неточная активация: размытый description даёт false-positive load; без requires_toolsets / fallback_for_tools платный web_search и бесплатный DuckDuckGo конкурируют в Level 0 одновременно.
  3. Знание не эволюционирует: личные промпты не version-control'ятся, не публикуются через Tap; без GEPA качество SKILL.md застывает, хотя SQLite sessiondb уже содержит траектории для рефлексивного патчинга.

03 · Skills ≠ Prompts ≠ Memory: архитектурная матрица

Измерение Prompt Memory Skills
PersistenceТекущая сессияCross-session, permanentCross-session, permanent
Load triggerAlways-on в contextAuto-inject каждую сессиюOn-demand (/skill или LLM router)
Token costКаждый turnМалый, стабильный0 до активации
Content typeIntent / personaFacts / preferencesПроцедурные шаги
ShareabilityCopy-pastePrivateTap → team subscribe

Мнемоника: Prompt = стикер на мониторе; Memory = блокнот предпочтений; Skill = runbook с verification checklist — открывается только когда router сопоставил intent с description.

04 · SKILL.md: спецификация agentskills.io

Hermes, Claude Code и Cursor читают один формат — agentskills.io. Frontmatter — единственный источник Level 0 metadata; тело — Level 1 procedure.

--- 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

Критичные поля: name — lowercase+hyphen, ≤64 символов; description — ≤1024 символов, router видит только его на Level 0, формулируйте «Use when…»; metadata.hermes — conditional activation, tags, related_skills для cross-skill prefetch hints.

Модульная структура каталога

~/.hermes/skills/ └── my-category/ └── my-skill/ ├── SKILL.md # ≤500 строк рекомендация ├── references/ # Level 2: API docs ├── templates/ # Reusable scaffolds └── scripts/ # Executable helpers

05 · Progressive Disclosure: трёхуровневая загрузка и token economics

Hermes не инжектит полные SKILL.md в system prompt. Router держит «оглавление» (~50–80 токенов на skill в Level 0), а полный текст подтягивается только при явном /skill-name или LLM tool-call skill_view.

Уровень Payload Trigger Token cost
Level 0name + descriptionSession bootstrap~3K суммарно на каталог
Level 1Полный SKILL.md/skill-name или router match500–4000 tok типично
Level 2references/, scripts/Runtime LLM decisionPer-file, lazy

Инженерный вывод: description — это embedding-free classifier prompt; длинные API spec уводите в references/, иначе Level 1 раздувает cache miss rate при каждом reload.

06 · Skill Bundles: атомарная загрузка workflow

Bundle — YAML в ~/.hermes/skill-bundles/<slug>.yaml. Команда /bundle-name загружает все перечисленные skills одновременно плюс общий instruction block — без переписывания system prompt.

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 vs одноимённый Skill → Bundle wins; missing skill → skip silently; Bundle не трогает base system prompt → Prompt Cache остаётся warm.

CLI scaffold:

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

Production-паттерны: research bundle (arxiv + deep-research + plan + excalidraw); MLOps deploy (vllm + llama-cpp + github-pr-workflow + systematic-debugging).

07 · Условная активация: environment-aware routing

Поля в metadata.hermes фильтруют Level 0 catalog по доступным toolsets/tools текущей сессии — skills «исчезают» из router index, не расходуя ни байта контекста.

Поле Логика
requires_toolsetsСкрыть skill, если toolset отсутствует
requires_toolsСкрыть skill, если конкретный tool недоступен
fallback_for_toolsetsСкрыть, когда «основной» toolset активен (fallback path)
fallback_for_toolsСкрыть, когда «основной» tool активен

Reference pattern: DuckDuckGo skill с fallback_for_tools: [web_search] — при наличии FIRECRAWL_KEY / BRAVE_SEARCH_KEY premium web_search входит в catalog, DuckDuckGo выпадает из Level 0; при outage API fallback resurface автоматически.

08 · Skills Hub и OSS-реестры

Install channels:

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
Репозиторий Фокус Stars
ChuckSRQ/awesome-hermes-skillsProduction Deep Research, MLOps67+
amanning3390/hermeshubRegistry + prompt-injection detection166+
kevinnft/ai-agent-skills191 skills, Hermes/Claude/Cursor10+
NousResearch/hermes-agentCanonical source160k+

Валидация: skills-ref validate ./my-skill — SKILL.md portable между Hermes, Claude Code, Cursor без vendor lock-in.

09 · Skill Tap: team-wide distribution через Git

Tap = GitHub repo как package manager для skills. Структура:

my-skills-tap/ ├── skills.sh.json ├── mlops/vllm-deploy/SKILL.md ├── research/paper-summarizer/SKILL.md └── README.md

Team rollout:

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

Version control: ~/.hermes/skills/ в private Git → git pull && hermes skills reset синхронизирует fleet nodes без ручного rsync.

10 · GEPA + DSPy: эволюция SKILL.md без fine-tune

GEPA (Genetic-Pareto Prompt Evolution) — ICLR 2026 Oral, реализован в hermes-agent-self-evolution. Механизм: анализ SQLite execution traces → reflective failure mining → генерация 10–20 SKILL.md variants → multi-objective Pareto selection (success rate × token efficiency × wall-clock) → human-reviewed PR. Стоимость ~$2–10/run, GPU не требуется — только API calls.

Pipeline из 5 фаз: ① trace harvest (sessiondb) → ② failure reflection → ③ targeted mutation → ④ Pareto eval → ⑤ merge после review.

git clone https://github.com/NousResearch/hermes-agent-self-evolution export HERMES_AGENT_PATH=~/.hermes python -m evolution.skills.evolve_skill \ --skill github-code-review \ --iterations 10 \ --eval-source sessiondb

Четыре guardrails: 100% pass regression suite; SKILL.md ≤15KB, tool descriptions ≤500 chars; Prompt Cache compatibility preserved; semantic drift check. Roadmap: Phase 1 (SKILL.md) shipped; Phases 2–5 — tool desc, system prompt, tool impl code, full auto-loop.

Experimental: mixed trace sources — --eval-source mixed --trace-dirs ~/.claude/traces,~/.hermes/sessions для cross-CLI optimization.

11 · Plugin skills: opt-in namespace

Plugins упаковывают skills как plugin:skill — не попадают в default skills_list, активируются только explicit call (security boundary для untrusted packs).

skill_view("superpowers:writing-plans") # plugin.yaml name: my-hermes-plugin skills: - name: writing-plans path: skills/writing-plans/SKILL.md

12 · Инженерные практики authoring

  • description = classifier: trigger + anti-patterns («NOT for one-off questions»); избегайте «Helps with code».
  • Common Pitfalls = diff quality: конкретные failure modes (GitHub rate limit 403, diff >100KB token overflow) с remediation steps.
  • scripts/ + references/ fallback: primary path через executable; manual path в references/manual-extract.md.
  • Size budget: <500 строк → single SKILL.md; 500–1000 → split references; >15KB блокирует GEPA mutation window.
  • skill_manage guard: skill_manage(action='patch'|'create') — включите agent_writes_require_approval: true в config.yaml.

13 · Кейс: tech blog workflow Bundle

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.

Custom seo-keyword-research skill выдаёт keyword matrix: 3–5 head terms + 10–15 long-tail, cross-ref Dev.to trending / HN / regional SERP signals — до того как LLM генерирует outline.

14 · FAQ

Q: Skills vs MCP?
Skills — procedural knowledge (как делать); MCP — tool interface (что вызывать). Комplement, not substitute.

Q: Skill обновлён, Agent использует stale version?
Hot reload не работает в active session — /reset или install с --now (invalidates Prompt Cache).

Q: GEPA output безопасен?
Four guardrails + mandatory PR review; всё равно diff-review каждого Pitfalls section.

Q: Reuse в Claude Code?
Copy SKILL.md → ~/.claude/skills/ или kevinnft/ai-agent-skills multi-host installer.

Q: Русский текст в SKILL.md — token penalty?
~1–1.5 tok/char для кириллицы; description держите EN или bilingual для точнее router match.

Дополнительно: официальная документация Hermes, Cursor Agent Skill гайд, 30-дневный Hermes field test.

15 · Изолированный прогон Skills на арендованном Mac (5 шагов)

Linux VPS поднимает Hermes Gateway для API-only flows, но не воспроизводит macOS Keychain, codesign chain, Xcode-adjacent skills и Seatbelt sandbox semantics. Daily-driver MacBook рискует API key leak через custom Tap и LaunchAgent pollution. Одноразовый Apple Silicon узел — controlled environment для Bundles/GEPA validation.

  1. Арендовать Apple Silicon: Mac mini M4+, Homebrew preinstalled, SSH key auth; тарифы — руководство по ценам Mac mini M4.
  2. Install + doctor: official script → hermes doctor проверяет Gateway, toolsets, sessiondb path.
  3. Skills + Tap: hermes skills install, hermes skills tap add; замер Level 0 footprint и Level 1 activation latency.
  4. Bundle smoke test: YAML bundle → verify simultaneous load + instruction compliance на реальной задаче.
  5. Capture traces, release: export session output для GEPA --eval-source sessiondb; terminate lease до rollover billing window.

Linux VPS годится для lightweight Gateway и cron, но не покрывает macOS-native skills и Keychain ACL; локальный Mac 24/7 — thermal throttling и credential cross-contamination. Посуточная аренда даёт production-identical Apple Silicon за fraction стоимости overnight API overrun; для permanent deploy см. VPS vs Mac mini M4 matrix.