Работа с навыками
Навыки — это документы со знаниями, которые подгружаются по запросу и обучают Hermes работе с конкретными задачами — от генерации ASCII-арта до управления GitHub PR. Это руководство проведёт вас через их повседневное использование.
Полную техническую справку см. в разделе Система навыков.
Поиск навыков
Каждая установка Hermes поставляется со встроенными навыками. Посмотрите, что доступно:
# In any chat session:
/skills
# Or from the CLI:
hermes skills list
Это показывает компактный список с названиями и описаниями:
ascii-art Generate ASCII art using pyfiglet, cowsay, boxes...
arxiv Search and retrieve academic papers from arXiv...
github-pr-workflow Full PR lifecycle — create branches, commit...
plan Plan mode — inspect context, write a markdown...
excalidraw Create hand-drawn style diagrams using Excalidraw...
Поиск навыка
# Search by keyword
/skills search docker
/skills search music
Хаб навыков
Официальные опциональные навыки (более крупные или узкоспециализированные навыки, не активные по умолчанию) доступны через Хаб:
# Browse official optional skills
/skills browse
# Search the hub
/skills search blockchain
Использование навыка
Каждый установленный навык автоматически становится слэш-командой. Просто введите его имя:
# Load a skill and give it a task
/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
# Just the skill name (no task) loads it and lets you describe what you need
/excalidraw
Вы также можете вызывать навыки через естественный разговор — попросите Hermes использовать конкретный навык, и он загрузит его с помощью инструмента skill_view.
Прогрессивное раскрытие
Навыки используют эффективную по токенам модель загрузки. Агент не загружает всё сразу:
-
skills_list()— компактный список всех навыков (~3k токенов). Загружается при старте сессии. -
skill_view(name)— полное содержимое SKILL.md для одного навыка. Загружается, когда агент решает, что ему нужен этот навык. -
skill_view(name, file_path)— конкретный справочный файл внутри навыка. Загружается только при необходимости.
Это означает, что навыки не расходуют токены, пока не будут реально использованы.
Установка из Хаба
Официальные опциональные навыки поставляются с Hermes, но не активны по умолчанию. Установите их явно:
# Install an official optional skill
hermes skills install official/research/arxiv
# Install from the hub in a chat session
/skills install official/creative/songwriting-and-ai-music
# Install a single-file SKILL.md directly from any HTTP(S) URL
hermes skills install https://sharethis.chat/SKILL.md
/skills install https://example.com/SKILL.md --name my-skill
Что происходит:
-
Директория навыка копируется в
~/.hermes/skills/ -
Он появляется в выводе
skills_list -
Он становится доступен как слэш-команда
Проверка установки
# Check it's there
hermes skills list | grep arxiv
# Or in chat
/skills search arxiv
Навыки от плагинов
Плагины могут включать собственные навыки с пространством имён (plugin:skill). Это предотвращает конфликты имён со встроенными навыками.
# Load a plugin skill by its qualified name
skill_view("superpowers:writing-plans")
# Built-in skill with the same base name is unaffected
skill_view("writing-plans")
Навыки плагинов не перечисляются в системном промпте и не отображаются в skills_list. Они подключаются по желанию — загружайте их явно, когда знаете, что плагин предоставляет такой навык. При загрузке агент видит баннер со списком смежных навыков из того же плагина.
О том, как включить навыки в свой плагин, см. в разделе Создание плагина 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:
# Interactive config for a specific skill
hermes skills config gif-search
# View all skill config
hermes config get skills.config
Создание собственного навыка
Навыки — это просто markdown-файлы с YAML frontmatter. Создание одного занимает меньше пяти минут.
1. Создайте директорию
mkdir -p ~/.hermes/skills/my-category/my-skill
2. Напишите SKILL.md
```markdown title="~/.hermes/skills/my-category/my-skill/SKILL.md"
name: my-skill description: Краткое описание того, что делает этот навык version: 1.0.0 metadata: hermes: tags: [my-tag, automation] category: my-category
Мой навык
Когда использовать
Используйте этот навык, когда пользователь спрашивает о [конкретная тема] или ему нужно [конкретная задача].
Порядок действий
-
Сначала проверьте, доступен ли [предварительное условие]
-
Выполните
command --with-flags -
Разберите вывод и представьте результаты
Ошибки
-
Частая проблема: [описание]. Исправление: [решение]
-
Остерегайтесь [граничный случай]
Проверка
Выполните check-command, чтобы убедиться в корректности результата.
### 3. Add Reference Files (Optional)
Skills can include supporting files the agent loads on demand:
my-skill/ ├── SKILL.md # Основной документ навыка ├── references/ │ ├── api-docs.md # Справочник API, который может использовать агент │ └── examples.md # Примеры входов/выходов ├── templates/ │ └── config.yaml # Шаблонные файлы, которые может использовать агент └── scripts/ └── setup.sh # Скрипты, которые может выполнять агент
Reference these in your SKILL.md:
```markdown
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/, и он готов к использованию.
Управление навыками по платформам
Управляйте тем, какие навыки доступны на каких платформах:
hermes skills
Это открывает интерактивный TUI, где вы можете включать или отключать навыки для каждой платформы (CLI, Telegram, Discord и т.д.). Полезно, когда вы хотите, чтобы определённые навыки были доступны только в определённых контекстах — например, держать навыки разработки подальше от Telegram.
Навыки и Память
И то, и другое сохраняется между сессиями, но служит разным целям:
| Навыки | Память | |
|---|---|---|
| Что | Процедурные знания — как делать | Фактические знания — что есть что |
| Когда | Загружается по запросу, только когда актуально | Автоматически внедряется в каждую сессию |
| Размер | Может быть большим (сотни строк) | Должен быть компактным (только ключевые факты) |
| Стоимость | Ноль токенов до загрузки | Небольшая, но постоянная стоимость в токенах |
| Примеры | «Как развернуть в Kubernetes» | «Пользователь предпочитает тёмную тему, живёт в PST» |
| Кто создаёт | Вы, агент, или установлено из Хаба | Агент, на основе разговоров |
Правило: Если вы поместили бы это в справочный документ — это навык. Если на стикер — это память.
Советы
Делайте навыки сфокусированными. Навык, который пытается охватить «весь DevOps», будет слишком длинным и слишком размытым. Навык, который охватывает «развёртывание Python-приложения на Fly.io», достаточно конкретен, чтобы быть действительно полезным.
Позволяйте агенту создавать навыки. После сложной многошаговой задачи Hermes часто предлагает сохранить подход как навык. Соглашайтесь — эти навыки, созданные агентом, фиксируют точный рабочий процесс, включая ошибки, обнаруженные по пути.
Используйте категории. Организуйте навыки в поддиректории (~/.hermes/skills/devops/, ~/.hermes/skills/research/ и т.д.). Это делает список управляемым и помогает агенту быстрее находить нужные навыки.
Обновляйте навыки, когда они устаревают. Если вы используете навык и сталкиваетесь с проблемами, которые в нём не описаны, скажите Hermes обновить навык с учётом полученного опыта. Навыки, за которыми не следят, становятся обузой.
Полную справку по навыкам — поля frontmatter, условную активацию, внешние директории и многое другое — см. в разделе Система навыков.