Создание собственных навыков для OpenClaw
Как написать, протестировать и опубликовать собственный навык для AI-агента OpenClaw. Полная структура Markdown-файла с YAML frontmatter, триггеры, параметры, примеры и публикация на ClawHub.
Тип материала: research
Зачем создавать свои навыки
Маркетплейс ClawHub предлагает тысячи готовых навыков, но ни один из них не знает специфику вашей работы. Если вы ежедневно составляете отчёты по определённому шаблону, работаете с внутренней терминологией компании или следуете уникальному рабочему процессу — вам нужен собственный навык. Создание навыка не требует программирования: это написание инструкций на естественном языке в формате Markdown.
Собственные навыки также решают проблему безопасности. Вместо установки непроверенного навыка из ClawHub вы создаёте свой, содержимое которого полностью контролируете. Это особенно важно для корпоративных сценариев, где утечка данных через вредоносный навык может иметь серьёзные последствия.
Структура файла навыка
Навык — это файл с расширением .md, состоящий из двух частей: YAML frontmatter (метаданные) и тело (инструкции для языковой модели). Файл размещается в директории ~/.openclaw/skills/.
Минимальная структура навыка:
---
name: my-first-skill
version: 1.0.0
author: local
description: Мой первый навык
category: custom
triggers:
- "ключевая фраза"
---
# Инструкции
Когда пользователь говорит "ключевая фраза", сделай следующее:
1. Шаг первый
2. Шаг второй
3. Шаг третийСоздайте этот файл в директории навыков:
nano ~/.openclaw/skills/my-first-skill.mdПосле сохранения навык автоматически зарегистрируется в системе. Проверьте:
openclaw skill listYAML frontmatter: все поля
YAML-заголовок поддерживает следующие поля:
---
name: report-generator # уникальное имя (латиница, дефисы)
version: 1.0.0 # семантическое версионирование
author: local # "local" для локальных, username для ClawHub
description: Генерация отчётов # краткое описание
category: productivity # категория
triggers: # фразы для активации
- "составь отчёт"
- "сгенерируй отчёт"
- "отчёт за неделю"
params: # параметры навыка
format: [pdf, markdown, html]
period: [day, week, month, quarter]
requires: # зависимости
tools:
- calendar
- file_write
skills:
- data-formatter
priority: 5 # приоритет (1-10, выше = важнее)
tags:
- отчёты
- продуктивность
---Поле triggers — ключевое для активации навыка. Чем больше триггеров вы укажете, тем надёжнее навык будет активироваться при релевантных запросах. Используйте разные формулировки одного намерения: «составь отчёт», «сгенерируй отчёт», «подготовь отчёт», «мне нужен отчёт».
Поле params определяет параметры, которые агент может уточнить у пользователя или определить из контекста. В примере выше агент будет знать, что отчёт может быть в форматах PDF, Markdown или HTML, и за период: день, неделю, месяц или квартал.
Поле requires указывает зависимости: какие инструменты (tools) и другие навыки (skills) нужны для работы. Если зависимость не установлена, OpenClaw предупредит об этом при регистрации навыка.
Тело навыка: инструкции для модели
Тело навыка — это свободный текст в формате Markdown. Здесь вы описываете, что агент должен делать при активации навыка. Пишите так, будто объясняете задачу умному, но не знакомому с вашим контекстом человеку. Будьте конкретны, используйте пошаговые инструкции и примеры.
Пример тела навыка для генерации еженедельного отчёта:
# Навык: генерация еженедельного отчёта
Когда пользователь просит составить отчёт, выполни следующее:
## 1. Сбор данных
- Запроси у пользователя период, если не указан (по умолчанию — последняя неделя)
- Проверь календарь на наличие встреч за этот период
- Спроси о ключевых достижениях и проблемах
## 2. Структура отчёта
Отчёт должен содержать:
- Заголовок с датами периода
- Раздел «Выполнено» (список задач с результатами)
- Раздел «В процессе» (задачи, начатые, но не завершённые)
- Раздел «Проблемы и блокеры»
- Раздел «План на следующую неделю»
- Метрики (если пользователь предоставил данные)
## 3. Стиль
- Деловой тон, без неформальных выражений
- Каждый пункт — одно предложение
- Метрики — в числовом формате с процентами изменения
- Общий объём: не более одной страницы
## 4. Доставка
- Предложи отчёт на проверку перед отправкой
- Формат по умолчанию: Markdown
- Если пользователь просит PDF, используй инструмент file_writeПример: навык для прогноза погоды
Навык, который помогает агенту отвечать на вопросы о погоде, используя инструмент web_search:
---
name: weather-assistant
version: 1.0.0
author: local
description: Прогноз погоды для любого города
category: utility
triggers:
- "какая погода"
- "прогноз погоды"
- "будет ли дождь"
- "температура"
- "что с погодой"
requires:
tools:
- web_search
---
# Навык: прогноз погоды
Когда пользователь спрашивает о погоде:
1. Определи город:
- Если город указан — используй его
- Если не указан — возьми из USER.md (поле location)
- Если и там нет — спроси
2. Выполни поиск:
- Запрос: "weather [город] today forecast"
- Источники: openweathermap, weather.com, yr.no
3. Сформируй ответ:
- Текущая температура (°C)
- Ощущается как
- Осадки (вероятность, тип)
- Ветер (скорость, направление)
- Прогноз на ближайшие 6-12 часов
4. Рекомендации:
- Если дождь > 50% — "возьмите зонт"
- Если температура < 0 — "оденьтесь теплее"
- Если жара > 30 — "пейте больше воды"Пример: навык для управления задачами
Более сложный навык, реализующий простой менеджер задач:
---
name: task-manager
version: 1.0.0
author: local
description: Управление списком задач
category: productivity
triggers:
- "добавь задачу"
- "список задач"
- "что сделать"
- "отметь выполненным"
- "удали задачу"
- "приоритетные задачи"
params:
priority: [high, medium, low]
status: [todo, in_progress, done]
requires:
tools:
- file_write
- file_read
---
# Навык: управление задачами
Задачи хранятся в файле ~/.openclaw/data/tasks.json.
## Добавление задачи
- Спроси описание, если не указано
- Определи приоритет из контекста (по умолчанию: medium)
- Назначь дедлайн, если упомянут
- Сохрани в tasks.json
- Подтверди: "Задача добавлена: [описание], приоритет: [приоритет]"
## Просмотр задач
- Покажи задачи, сгруппированные по статусу
- Сначала — просроченные (красным)
- Потом — на сегодня
- Потом — предстоящие
- Для каждой задачи: описание, приоритет, дедлайн
## Обновление статуса
- Определи задачу по описанию или номеру
- Обнови статус
- Если done — поздравь с завершением
## Еженедельный обзор
Каждое воскресенье предлагай обзор:
- Выполнено за неделю: X задач
- Осталось: Y задач
- Просрочено: Z задачПример: навык для подготовки сводки по электронной почте
Навык для обработки пересланных писем и создания структурированных сводок:
---
name: email-summary
version: 1.0.0
author: local
description: Сводка по электронным письмам
category: productivity
triggers:
- "сводка по почте"
- "разбери письмо"
- "что в этом письме"
- "summary email"
---
# Навык: сводка по email
Когда пользователь пересылает текст письма или просит сводку:
1. Извлеки ключевую информацию:
- Отправитель
- Тема
- Основной запрос или информация
- Дедлайны (если есть)
- Требуемые действия
2. Сформируй сводку:
- Одно предложение: суть письма
- Список требуемых действий (с дедлайнами)
- Оценка срочности: высокая / средняя / низкая
3. Предложи ответ:
- Если требуется ответ — предложи черновик
- Тон ответа — из контекста отношений с отправителемТестирование навыков
После создания навыка обязательно протестируйте его. OpenClaw предоставляет специальный режим тестирования:
openclaw skill test task-managerЭта команда запускает интерактивную сессию, в которой навык активен, а все остальные — отключены. Вы можете проверить, правильно ли срабатывают триггеры, корректно ли агент следует инструкциям и не возникает ли неожиданного поведения.
Для автоматизированного тестирования создайте файл тестов:
---
skill: task-manager
tests:
- input: "Добавь задачу: купить молоко"
expect_contains: ["задача добавлена", "молоко"]
- input: "Покажи список задач"
expect_contains: ["молоко"]
- input: "Отметь молоко как выполненное"
expect_contains: ["выполнен"]
---Запустите тесты:
openclaw skill test task-manager --file tests/task-manager-tests.yamlАвтоматизированное тестирование не гарантирует идеальную работу (языковые модели недетерминированы), но позволяет отловить грубые ошибки в инструкциях.
Публикация на ClawHub
Если вы создали навык, полезный не только вам, опубликуйте его на ClawHub. Для этого потребуется аккаунт:
openclaw hub loginЗатем опубликуйте навык:
openclaw hub publish ~/.openclaw/skills/task-manager.mdПеред публикацией убедитесь, что навык содержит полное описание (description), указана категория, есть хотя бы три триггера и версия соответствует семантическому версионированию (major.minor.patch).
После публикации навык пройдёт автоматическую проверку безопасности. Если обнаружены паттерны, подозрительные на prompt injection, публикация будет отклонена. Для получения значка verified навык должен пройти ручную модерацию командой OpenClaw, что может занять несколько дней.
Лучшие практики разработки навыков
Правило первое: одна задача — один навык. Не пытайтесь создать «суперскилл», охватывающий всё. Навык для управления задачами не должен одновременно управлять календарём и писать письма. Узкоспециализированные навыки работают надёжнее.
Правило второе: конкретные инструкции. Как и в SOUL.md, избегайте абстракций. «Ответ должен быть структурированным» — плохо. «Ответ должен содержать заголовок, 2-3 пункта маркированным списком и итоговое предложение» — хорошо.
Правило третье: обработка крайних случаев. Что делать, если пользователь не указал обязательный параметр? Если данных нет? Если запрос неоднозначен? Пропишите эти сценарии в инструкциях.
Правило четвёртое: версионирование. При каждом изменении навыка обновляйте версию в YAML frontmatter. Это позволяет отслеживать изменения и откатываться при необходимости. Для локальных навыков используйте Git:
cd ~/.openclaw/skills
git add task-manager.md
git commit -m "task-manager v1.1.0: added weekly review"Итог
Создание собственных навыков — это написание инструкций на естественном языке в формате Markdown. Структура навыка: YAML-заголовок с метаданными и триггерами, тело с пошаговыми инструкциями для языковой модели. Тестируйте навыки перед использованием, версионируйте через Git и публикуйте полезные навыки на ClawHub для сообщества. Собственные навыки безопаснее загруженных из маркетплейса и точнее отвечают вашим потребностям.
Хотите получать подобные материалы раньше?
Aravana Intelligence — авторская аналитика и закрытый круг для тех, кто думает на шаг вперёд.
Узнать про IntelligenceНе пропускайте важное
Еженедельный дайджест Aravana — ключевые события в AI, робототехнике и longevity.
Как начать пользоваться Midjourney: генерация картинок AI
Midjourney — самый популярный AI-генератор изображений. Фотореализм, арт, иллюстрации, логотипы. Показываем, как начать — от регистрации до первой картинки.
Как установить Ollama: запуск AI-моделей на своём компьютере
Ollama — самый простой способ запустить AI-модели локально. Llama, Mistral, Qwen, DeepSeek — всё работает на вашем компьютере, без интернета, бесплатно и приватно.
Как начать пользоваться ChatGPT: пошаговая инструкция для Mac, Windows, iPhone и Android
Регистрация, установка, первый запрос — всё, что нужно, чтобы начать общаться с самой популярной нейросетью в мире. Без технических знаний, за 5 минут.