Создание кастомных навыков
Цели урока
После прохождения этого урока вы сможете:
- 1Освоить структуру навыка в формате YAML
- 2Создать полноценный навык "Ежедневный дайджест новостей"
- 3Научиться тестировать и публиковать навыки
Навыки - основа автоматизации
Навык (Skill) в Hermes Agent - это переиспользуемый набор инструкций, инструментов и шаблонов для решения конкретной задачи. Если агент - это сотрудник, то навыки - это его должностные инструкции. Чем точнее написан навык, тем качественнее результат.

Структура навыка в YAML
Каждый навык описывается в файле YAML и содержит четыре обязательных блока: метаданные, инструменты, инструкции и шаблон вывода.
# Базовая структура навыка Hermes Agent
# Файл: skills/my-skill.yaml
# 1. Метаданные (обязательно)
name: skill_name # уникальный идентификатор
description: Описание навыка # что делает навык
version: "1.0"
author: your_name
tags: [automation, daily] # для поиска и каталогизации
# 2. Инструменты (обязательно)
tools:
- name: tool_name
description: Что делает инструмент
parameters:
param1: string
param2: number
# 3. Инструкции (обязательно)
instructions: |
Пошаговые инструкции для агента.
Описывают логику выполнения задачи.
# 4. Шаблон вывода (рекомендуется)
output_template: |
## Результат
{result_summary}
### Детали
{details}Полный пример: навык "Ежедневный дайджест новостей"
# skills/daily-news-digest.yaml
# Навык для автоматической подготовки утреннего дайджеста
name: daily_news_digest
description: >
Собирает новости по заданным темам из RSS-лент и API,
формирует краткий дайджест с ключевыми событиями,
отправляет в Telegram.
version: "1.2"
author: hermes_user
tags: [news, daily, automation, telegram]
trigger:
type: schedule
cron: "0 8 * * 1-5" # Пн-Пт в 08:00
tools:
- name: fetch_rss
description: Получить статьи из RSS-ленты
parameters:
url: string
limit: number
returns: list[article]
- name: search_news_api
description: Поиск новостей через API
parameters:
query: string
language: string
date_from: string
returns: list[article]
- name: summarize_article
description: Создать краткое резюме статьи
parameters:
title: string
content: string
max_sentences: number
returns: string
- name: send_telegram
description: Отправить сообщение в Telegram
parameters:
chat_id: string
message: string
parse_mode: string
config:
topics:
- "искусственный интеллект"
- "open source AI"
- "NousResearch"
- "AI-агенты"
rss_feeds:
- "https://habr.com/ru/rss/hub/artificial_intelligence"
- "https://openai.com/blog/rss"
max_articles: 10
summary_sentences: 2
telegram_chat_id: "${TELEGRAM_CHAT_ID}"
instructions: |
1. Получи статьи из всех RSS-лент (config.rss_feeds)
2. Дополни поиском через news API по каждой теме (config.topics)
3. Удали дубликаты по заголовку (порог схожести 80%)
4. Отсортируй по релевантности и свежести
5. Возьми топ config.max_articles статей
6. Для каждой создай резюме в config.summary_sentences предложений
7. Сформируй дайджест по шаблону output_template
8. Отправь в Telegram через send_telegram
9. Сохрани лог выполнения в память
output_template: |
Доброе утро! Дайджест AI-новостей за {date}
{for article in articles}
{index}. {article.title}
{article.summary}
Источник: {article.source}
{endfor}
Всего обработано: {total_processed} статей
В дайджесте: {total_selected} ключевыхЭтапы создания навыка
Определите задачу - четко сформулируйте, что должен делать навык, каков ожидаемый результат и при каких условиях он запускается
Выберите инструменты - определите, какие API, сервисы и действия понадобятся для выполнения задачи. Каждый инструмент описывается отдельно с параметрами
Напишите инструкции - пошаговый алгоритм выполнения. Будьте конкретны: "Получи статьи из RSS" лучше, чем "Найди информацию"
Протестируйте навык - запустите вручную (trigger: manual) и проверьте результат. Исправьте ошибки, уточните инструкции
Опубликуйте навык - добавьте в каталог навыков агента. Настройте триггер (расписание, событие или вебхук) для автоматического запуска
Подробнее о навыках в контексте Claude Code: Claude Code Pro - хуки и навыки. Принципы создания навыков универсальны для разных AI-агентов.
Частые ошибки при создании навыков
| Ошибка | Проблема | Решение |
|---|---|---|
| Слишком общие инструкции | Агент интерпретирует по-своему каждый раз | Конкретные шаги: "Возьми 10 статей" вместо "Возьми несколько" |
| Нет обработки ошибок | Навык падает при недоступности API | Добавить fallback: если RSS недоступен, использовать кеш |
| Нет шаблона вывода | Формат результата непредсказуем | Всегда описывать ожидаемый формат |
| Слишком много инструментов | Агент путается в выборе | Максимум 5-7 инструментов на навык |
| Нет тестирования | Ошибки обнаруживаются в бою | Ручной запуск перед публикацией |
Навык - это инвестиция. 15 минут на создание навыка экономят часы в будущем. Начните с автоматизации одной повторяющейся задачи и постепенно расширяйте библиотеку. Самые ценные навыки - те, которые вы запускаете каждый день.
Вопросы для размышления
- •Какую повторяющуюся задачу вы бы автоматизировали первой с помощью навыка?
- •Сколько инструментов понадобилось бы для вашего первого навыка?
