Создание собственных навыков для OpenClaw
Как написать, протестировать и опубликовать собственный навык для AI-агента OpenClaw. Полная структура Markdown-файла с YAML frontmatter, триггеры, параметры, примеры и публикация на ClawHub.
Зачем создавать свои навыки
Маркетплейс ClawHub предлагает более 57 000 навыков (по данным на июнь 2026 года), но ни один из них не знает специфику вашей работы. Если вы ежедневно составляете отчёты по определённому шаблону, работаете с внутренней терминологией компании или следуете уникальному рабочему процессу -- вам нужен собственный навык. Создание навыка не требует программирования: это написание инструкций на естественном языке в формате Markdown.
Собственные навыки также решают проблему безопасности. Вместо установки навыка из ClawHub (в январе-мае 2026 года кампания ClawHavoc разместила более 1 400 вредоносных навыков, маскируясь под интеграции с Gmail, Notion, Slack) вы создаёте свой, содержимое которого полностью контролируете. Это особенно важно для корпоративных сценариев, где утечка данных через вредоносный навык может иметь серьёзные последствия.
Структура файла навыка
Навык — это файл с расширением .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 для сообщества. Собственные навыки безопаснее загруженных из маркетплейса и точнее отвечают вашим потребностям.
КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ v2026.4.12: все кастомные навыки ОБЯЗАНЫ содержать криптографически подписанный clawmanifest.json. Навыки без manifest автоматически блокируются eBPF механизмом. Это требование касается абсолютно всех навыков - как публичных, так и приватных локальных разработок.
Структура clawmanifest.json включает: версию навыка, список разрешённых системных ресурсов (файловые пути, сетевые эндпоинты, переменные окружения), криптографическую подпись разработчика и метаданные. Процесс подписи: установите openclaw-dev-tools, сгенерируйте ключевую пару 'openclaw-dev keygen', подпишите manifest командой 'openclaw-dev sign clawmanifest.json'.
Для приватных навыков, используемых только локально, подпись выполняется самоподписанным ключом. OpenClaw доверяет самоподписанным manifest если ключ добавлен в список доверенных локально ('openclaw trust add ./mykey.pub'). Навыки для публичного распространения через ClawHub требуют верификации у maintainer'ов ClawHub.
defineToolPlugin -- рекомендуемый метод (v2026.5)
В v2026.5 появился defineToolPlugin -- новый API для создания типизированных плагинов. Описывайте параметры и возвращаемые значения в TypeScript с полной проверкой типов; OpenClaw автоматически генерирует маршрутизацию. Для быстрого прототипирования используйте throwaway spike: временный скил в отдельной ветке, без коммита в основной проект.
Throwaway spike -- методология прототипирования
Рекомендуемый подход при создании нового навыка -- throwaway spike: сначала напишите черновой навык за 30 минут, не думая о качестве. Цель -- убедиться, что идея работает. После проверки концепции перепишите чисто.
Пошаговый процесс:
- Шаг 1 (10 мин): напишите минимальный навык с захардкоженными значениями
- Шаг 2 (5 мин): протестируйте его в диалоге с агентом (
openclaw dev) - Шаг 3 (15 мин): если работает -- рефакторинг, параметры, типы
- Шаг 4 (10 мин): добавьте тесты и задокументируйте
OpenClaw поддерживает unit-тестирование навыков через стандартный Jest/Vitest:
import { testSkill } from '@openclaw/testing';
import mySkill from './my-skill';
test('my skill returns result', async () => {
const result = await testSkill(mySkill, { query: 'test' });
expect(result.result).toBeDefined();
});
Запуск тестов: npm test в директории навыка. Можно тестировать без запуска полного агента.
Структура YAML навыка в v2026.5.20
Актуальная структура навыка (YAML front-matter + Markdown тело) в v2026.5.20 не изменилась:
---
name: my-skill
version: 1.0.0
description: Описание
triggers: ['/my-command']
---
# Инструкции для агента...
YAML секция определяет метаданные, Markdown -- инструкции для агента на естественном языке.
Skill Workshop (v2026.6.2) -- конвертация работы агента в навык
В OpenClaw v2026.6.2 добавлен Skill Workshop -- третий способ создания навыков (в дополнение к YAML и defineToolPlugin). Skill Workshop анализирует историю работы агента и автоматически создаёт файл PROPOSAL.md с предложением нового навыка на основе повторяющихся паттернов действий.
Три подхода к созданию навыков:
- YAML Markdown -- классический способ: файл .md с YAML frontmatter и инструкциями на естественном языке
- defineToolPlugin API (v2026.5) -- типизированное создание через TypeScript/JavaScript: автоматическая проверка типов, автогенерация документации, улучшенная поддержка IDE
- Skill Workshop (v2026.6.2) -- review-first: агент анализирует паттерны работы, создаёт PROPOSAL.md с предложением навыка. После вашего одобрения навык устанавливается автоматически
Запуск Skill Workshop: openclaw skill workshop или через Control UI в разделе Skills > Workshop.
Процесс Skill Workshop: PROPOSAL.md -> SKILL.md
В v2026.6.1 Skill Workshop получил управляемый процесс создания навыков через файл PROPOSAL.md:
- Создайте PROPOSAL.md с описанием навыка: что он должен делать, какие триггеры использовать, какие инструменты нужны. Можно создать вручную или запустить Workshop для автоматической генерации:
openclaw skill workshop - Агент анализирует предложение: оценивает PROPOSAL.md, проверяет совместимость с текущей конфигурацией, выявляет потенциальные проблемы безопасности
- Агент одобряет или отклоняет: если предложение принято - автоматически создаётся итоговый SKILL.md. Если отклонено - агент объясняет причины и предлагает исправления
- Итоговый SKILL.md: готовый файл навыка, установленный в ~/.openclaw/skills/ и доступный агенту
Пример PROPOSAL.md
# Skill Proposal: daily-standup
## Описание
Навык для проведения ежедневного стендапа. Агент спрашивает о выполненных задачах,
планах на день и блокерах. Формирует структурированный отчёт.
## Триггеры
- "стендап"
- "daily standup"
- "что сделал вчера"
## Требуемые инструменты
- calendar (для получения событий дня)
- memory (для сохранения ответов)
## Формат вывода
Markdown-таблица: Вчера | Сегодня | БлокерыДва подхода к созданию навыков: прямой vs Skill Workshop
Прямое создание файла подходит, если вы точно знаете что хотите: создайте .md файл с YAML frontmatter в ~/.openclaw/skills/ и навык сразу доступен. Быстро, но требует знания формата.
Skill Workshop подходит для итеративной разработки: опишите намерение в PROPOSAL.md на естественном языке, агент поможет довести до финального навыка. Дольше, но лучше для новичков и сложных навыков.
Требования для публикации в ClawHub (с 31 мая 2026)
С 31 мая 2026 года все навыки, публикуемые в ClawHub, обязаны пройти расширенную процедуру проверки:
- Skill Card - каждый навык должен иметь Skill Card: стандартизированный документ с описанием происхождения, запрашиваемых разрешений и истории изменений. Генерируется автоматически при публикации через CLI, но требует заполнения полей автором.
- SkillSpector проверка - навык автоматически сканируется системой SkillSpector на наличие вредоносных паттернов, prompt injection и несанкционированных системных обращений. Навыки, не прошедшие проверку, не публикуются.
Для прохождения SkillSpector рекомендуется: явно декларировать все требуемые разрешения в YAML frontmatter, избегать обфускации инструкций, не использовать скрытые HTTP-запросы к внешним сервисам.
Команда публикации с формированием Skill Card: openclaw hub publish --generate-card ~/.openclaw/skills/my-skill.md
Этот материал подготовлен командой AI-агентов AravanaAI и проверен главным редактором.
- Автономность OpenClaw: Heartbeat, расписание и фоновые задачи
После создания собственных навыков логично настроить автономную работу через Heartbeat и расписание
Хотите получать подобные материалы раньше?
Aravana Intelligence — авторская аналитика и закрытый круг для тех, кто думает на шаг вперёд.
Узнать про IntelligenceНе пропускайте важное
Еженедельный дайджест Aravana — ключевые события в AI, робототехнике и longevity.
Как начать пользоваться Ideogram 4.0: первая открытая модель генерации изображений
Ideogram 4.0 -- первая open-weight модель от Ideogram с натуральным разрешением 2K, точным рендерингом текста и JSON-промптингом. Запускается локально и доступна бесплатно.
Как начать пользоваться Exa AI: поисковый API для разработчиков AI-агентов
Exa AI -- нейросетевой поисковый движок для разработчиков с оценкой $2.2 млрд. Семантический поиск, MCP-интеграция с Cursor и Claude, четыре режима под разные задачи, 1000 запросов в месяц бесплатно.
Как запустить NVIDIA Nemotron-Labs-TwoTower: диффузионная LLM в 2.4 раза быстрее
Nemotron-Labs-TwoTower -- первая диффузионная языковая модель от NVIDIA. Открытые веса, коммерческая лицензия, 2.42x ускорение генерации. Запускается локально на GPU от 24 ГБ VRAM.