Работа с навыками

Навыки — это документы-инструкции по запросу: они объясняют агенту, как решать конкретные задачи — от генерации ASCII-арта до управления pull request’ами на GitHub. Ниже — всё, что нужно для повседневной работы с ними.

Полный технический справочник — в разделе Система навыков.


Поиск навыков

В каждой установке Hermes есть встроенные навыки. Посмотреть их можно так:

# В любой сессии чата:
/skills

# Или через CLI:
hermes skills list

Вы увидите компактный список с названиями и описаниями:

ascii-art         Генерирует ASCII-арт через pyfiglet, cowsay, boxes...
arxiv             Поиск и получение научных статей с arXiv...
github-pr-workflow Полный цикл PR — создание веток, коммиты...
plan              Режим планирования — анализ контекста, markdown-план...
excalidraw        Схемы в стиле от руки через Excalidraw...

Поиск по ключевому слову

/skills search docker
/skills search music

Skills Hub

Официальные опциональные навыки — тяжёлые или узкоспециализированные, не включённые по умолчанию — доступны через Hub:

# Просмотр официальных опциональных навыков
/skills browse

# Поиск по Hub
/skills search blockchain

Использование навыка

Каждый установленный навык автоматически становится слэш-командой. Просто введите его имя:

# Загрузить навык и дать ему задачу
/ascii-art Make a banner that says "HELLO WORLD"
/plan Design a REST API for a todo app
/github-pr-workflow Create a PR for the auth refactor

# Просто имя навыка — загружает его и даёт описать задачу
/excalidraw

Навыки можно также вызвать через обычный разговор — попросите Hermes использовать конкретный навык, и агент загрузит его через инструмент skill_view.

Ленивая загрузка

Навыки используют токеноэффективный паттерн загрузки: агент не тянет всё сразу.

  1. skills_list() — компактный список всех навыков (~3k токенов). Загружается при старте сессии.
  2. skill_view(name) — полное содержимое SKILL.md одного навыка. Загружается, когда агент решает, что навык нужен.
  3. skill_view(name, file_path) — конкретный справочный файл внутри навыка. Загружается только при необходимости.

Навыки не стоят токенов, пока они реально не используются.


Установка из Hub

Официальные опциональные навыки входят в поставку Hermes, но не активны по умолчанию. Установите их явно:

# Установить официальный опциональный навык
hermes skills install official/research/arxiv

# Установить через чат
/skills install official/creative/songwriting-and-ai-music

# Установить SKILL.md напрямую по HTTP(S)-ссылке
hermes skills install https://sharethis.chat/SKILL.md
/skills install https://example.com/SKILL.md --name my-skill

Что происходит:

  1. Директория навыка копируется в ~/.hermes/skills/
  2. Навык появляется в выводе skills_list
  3. Он становится доступен как слэш-команда
совет

Установленные навыки вступают в силу в новых сессиях. Если нужно прямо сейчас — используйте /reset для старта свежей сессии или добавьте --now, чтобы немедленно сбросить кэш промпта (это дороже на следующем ходу).

Проверка установки

# Убедиться, что навык есть
hermes skills list | grep arxiv

# Или в чате
/skills search arxiv

Навыки из плагинов

Плагины могут включать собственные навыки с именами в формате plugin:skill — это исключает конфликты с встроенными навыками.

# Загрузить навык плагина по полному имени
skill_view("superpowers:writing-plans")

# Встроенный навык с тем же базовым именем остаётся нетронутым
skill_view("writing-plans")

Навыки плагинов не попадают в системный промпт и не отображаются в skills_list. Они opt-in — загружайте их явно, когда знаете, что плагин их предоставляет. При загрузке агент видит баннер с перечнем соседних навыков того же плагина.

Как включить навыки в собственный плагин — в разделе Создание плагина для Hermes → Встроенные навыки.


Настройка параметров навыка

Некоторые навыки объявляют нужные им настройки во frontmatter:

metadata:
  hermes:
    config:
      - key: tenor.api_key
        description: "Tenor API key for GIF search"
        prompt: "Enter your Tenor API key"
        url: "https://developers.google.com/tenor/guides/quickstart"

При первой загрузке такого навыка Hermes запросит значения. Они сохранятся в config.yaml в секции skills.config.*.

Управление настройками навыков через CLI:

# Интерактивная настройка конкретного навыка
hermes skills config gif-search

# Просмотреть все настройки навыков
hermes config show | grep '^skills\.config'

Создание собственного навыка

Навык — это просто markdown-файл с YAML frontmatter. На создание уходит меньше пяти минут.

1. Создайте директорию

mkdir -p ~/.hermes/skills/my-category/my-skill

2. Напишите SKILL.md

---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
metadata:
  hermes:
    tags: [my-tag, automation]
    category: my-category
---

# My Skill

## When to Use
Use this skill when the user asks about [specific topic] or needs to [specific task].

## Procedure
1. First, check if [prerequisite] is available
2. Run `command --with-flags`
3. Parse the output and present results

## Pitfalls
- Common failure: [description]. Fix: [solution]
- Watch out for [edge case]

## Verification
Run `check-command` to confirm the result is correct.

3. Добавьте справочные файлы (опционально)

Навыки могут включать вспомогательные файлы, которые агент загружает по мере необходимости:

my-skill/
├── SKILL.md                    # Основной документ навыка
├── references/
│   ├── api-docs.md             # Справочник API для агента
│   └── examples.md             # Примеры входных/выходных данных
├── templates/
│   └── config.yaml             # Шаблоны для агента
└── scripts/
    └── setup.sh                # Скрипты для выполнения

Сошлитесь на них в SKILL.md:

For API details, load the reference: `skill_view("my-skill", "references/api-docs.md")`

4. Проверьте

Запустите новую сессию и опробуйте навык:

hermes chat -q "/my-skill help me with the thing"

Навык появится автоматически — регистрация не нужна. Положите его в ~/.hermes/skills/ и он сразу активен.

инфо

Агент может создавать и обновлять навыки сам — через skill_manage. После решения сложной задачи Hermes может предложить сохранить подход как навык на будущее.


Управление навыками по платформам

Контролируйте, какие навыки доступны на каких платформах:

hermes skills

Откроется интерактивный TUI, где можно включать и отключать навыки по платформам (CLI, Telegram, Discord и др.). Удобно, если хотите ограничить, например, навыки разработки в Telegram.


Навыки vs Память

Оба типа сохраняются между сессиями, но служат разным целям:

НавыкиПамять
ЧтоПроцедурные знания — как делатьФактические знания — что есть что
КогдаЗагружаются по запросу, только при необходимостиВставляются в каждую сессию автоматически
РазмерМогут быть большими (сотни строк)Должны быть компактными (только ключевые факты)
СтоимостьНоль токенов до загрузкиНебольшой, но постоянный расход токенов
Примеры«Как деплоить в Kubernetes»«Пользователь предпочитает тёмную тему, живёт в PST»
Кто создаётВы, агент или установка из HubАгент на основе разговоров

Правило: если это пошло бы в справочный документ — это навык. Если на стикер — это память.


Советы

Держите навыки в фокусе. Навык, претендующий на «весь DevOps», выйдет слишком длинным и расплывчатым. Навык «задеплоить Python-приложение на Fly.io» — конкретный и реально полезный.

Пусть агент создаёт навыки. После сложной многошаговой задачи Hermes часто предложит сохранить подход как навык. Соглашайтесь — такие навыки, написанные самим агентом, фиксируют именно тот рабочий процесс, включая все подводные камни, которые вскрылись по ходу.

Используйте категории. Организуйте навыки по поддиректориям (~/.hermes/skills/devops/, ~/.hermes/skills/research/ и т.д.). Список остаётся управляемым, а агент быстрее находит нужное.

Обновляйте устаревшие навыки. Если при использовании навыка вы наткнулись на проблему, которая в нём не описана — попросите Hermes добновить его. Навыки без поддержки становятся скорее помехой.


Полный справочник по навыкам — поля frontmatter, условная активация, внешние директории и многое другое — см. в разделе Система навыков.

ESC