OpenClaw Skills: как создать свой навык за 15 минут
Навыки OpenClaw — это обычные Markdown-файлы с YAML-шапкой. 700+ навыков на ClawHub, но 26% из них содержат уязвимости. Показываю, как написать свой навык и не попасть на малварь.
TL;DR: OpenClaw расширяется через модульные SKILL.md файлы — по сути обычный Markdown с YAML-шапкой. На ClawHub уже 700+ навыков от сообщества, но с безопасностью там пока катастрофа: Cisco нашли 230+ вредоносных навыков за первую неделю февраля 2026. Рассказываю, как сделать свой навык за 15 минут и не нарваться на чужой малварь.
Что такое Skills в OpenClaw
Если ты работал с OpenClaw хотя бы пару дней, то наверняка замечал: из коробки агент умеет многое, но не всё. Хочешь управлять умным домом? Мониторить серверы? Автоматизировать email? Для этого нужны навыки — Skills.
По своей сути Skill — это текстовый файл с инструкциями для агента. Не плагин, не бинарник, не контейнер. Просто Markdown-файл с описанием того, что агент должен делать и какие разрешения ему для этого нужны.
Звучит слишком просто? Ну, так и есть. В этом вся идея: порог входа настолько низкий, что навык может написать кто угодно. На ClawHub уже больше 700 community-навыков, а на GitHub есть целый awesome-список с курируемой подборкой.
Категории навыков на ClawHub самые разнообразные: управление Hue и Sonos, мониторинг серверов, Git-автоматизация, работа с email, интеграция с календарём. Думаю, со временем навыков станет в разы больше — экосистема растёт очень быстро.
Анатомия SKILL.md — формат, YAML и примеры
Каждый навык OpenClaw — это файл SKILL.md с двумя частями: YAML front matter (метаданные) и собственно текст инструкций на Markdown.
Вот минимальный шаблон:
---
name: "my-awesome-skill"
description: "Краткое описание того, что делает навык"
triggers:
- "ключевое слово"
- "ещё одно ключевое слово"
permissions:
- network
- filesystem
---
Разберём поля:
- name — уникальный идентификатор. Латиница, через дефисы, без пробелов
- description — что навык делает. Одно-два предложения, это покажется пользователю при поиске
- triggers — слова или фразы, при которых агент активирует навык. Если пользователь пишет что-то похожее, OpenClaw подтянет этот Skill
- permissions — какие ресурсы нужны навыку: сеть, файловая система, доступ к API
После YAML-блока идёт обычный Markdown — инструкции агенту. Тут ты описываешь логику: что делать, в каком порядке, какие команды вызывать. Можно добавлять примеры кода, условия и ветвления.
Пошаговое создание своего навыка
Шаг 1. Создай папку навыка
mkdir -p ~/.openclaw/skills/site-monitor
Шаг 2. Создай SKILL.md
touch ~/.openclaw/skills/site-monitor/SKILL.md
Шаг 3. Заполни YAML-шапку — имя, описание, триггеры, разрешения.
Шаг 4. Напиши инструкции — логика навыка на естественном языке.
Шаг 5. Протестируй — запусти OpenClaw и скажи одно из trigger-слов.
Навык подхватится автоматически — никакой компиляции или регистрации.
Пример: навык для мониторинга сайта
Покажу готовый навык, который проверяет доступность сайта и присылает отчёт. Я пользуюсь примерно таким для своих проектов.
---
name: "site-monitor"
description: "Проверяет доступность сайтов и возвращает отчёт о статусе"
triggers:
- "проверь сайт"
- "мониторинг"
- "сайт доступен"
permissions:
- network
---
## Инструкции
Когда пользователь просит проверить сайт:
1. Получи URL сайта от пользователя. Если не указан протокол, подставь https://
2. Выполни HTTP GET-запрос к указанному URL
3. Зафиксируй:
- HTTP-статус ответа
- Время отклика в миллисекундах
- Наличие SSL-сертификата и срок его действия
4. Если статус не 200, попробуй ещё 2 раза с интервалом 5 секунд
5. Верни пользователю отчёт в формате:
| Параметр | Значение |
|----------|----------|
| URL | {url} |
| Статус | {status_code} |
| Время отклика | {response_time} мс |
| SSL | {ssl_status}, истекает {ssl_expiry} |
Если сайт недоступен после 3 попыток, предложи возможные причины:
- DNS не резолвится
- Сервер не отвечает
- SSL-ошибка
- Таймаут соединения
Этот навык весит 50 строк, но решает конкретную задачу. Не нужен ни Python, ни JavaScript — агент сам знает, как выполнить HTTP-запрос и вернуть данные.
ClawHub: маркетплейс навыков и его проблемы с безопасностью
ClawHub — это основной каталог навыков для OpenClaw. Работает по принципу npm или pip: нашёл навык, установил одной командой, пользуешься. Звучит удобно. Но есть нюанс, который меня, честно говоря, напрягает.
Прямо на сайте ClawHub написано:
"All code downloaded from the library will be treated as trusted code — there is no moderation process at present"
Перевод: весь код скачивается как доверенный, никакой модерации пока нет. Вообще. Ноль.
И это не теоретическая проблема. По данным Cisco, за первую неделю февраля 2026 года было обнаружено более 230 вредоносных навыков на ClawHub. Исследование показало, что 26% всех навыков на платформе содержат те или иные уязвимости — от случайных дыр до целенаправленного вредоносного кода.
Самый яркий пример — навык "What Would Elon Do?". Под прикольным названием скрывалось прямое вредоносное ПО с эксфильтрацией данных. То есть ты устанавливаешь навык, думая, что получишь шутливого советчика, а он тихо сливает твои файлы на чужой сервер.
Мне кажется, это серьёзная проблема экосистемы прямо сейчас. Когда npm был молодой, там тоже была история с malicious packages, но хотя бы какая-то автоматическая проверка существовала с самого начала. Тут — ничего.
Правила безопасности при работе с чужими навыками
После всего сказанного выше — вот что я бы рекомендовал:
- Читай SKILL.md перед установкой. Это текстовый файл, его можно прочитать за минуту. Если видишь подозрительные URL, base64-строки или запросы к непонятным API — не ставь
- Проверяй permissions. Навыку для работы с календарём не нужен доступ к файловой системе. Если permissions выглядят избыточно — это красный флаг
- Предпочитай навыки из awesome-списка. Там хотя бы базовая курация от сообщества
- Создавай локальные навыки вместо скачивания. Если задача простая, проще написать свой SKILL.md за 15 минут, чем доверять чужому коду
- Следи за обновлениями безопасности. Cisco и другие исследователи регулярно публикуют отчёты о найденных уязвимостях в экосистеме OpenClaw
Я не хочу тебя пугать — большинство навыков на ClawHub нормальные и полезные. Но пока нет модерации, осторожность не помешает.
FAQ
Можно ли создать навык OpenClaw без публикации на ClawHub?
Да, и я бы даже рекомендовал начинать именно так. Положи SKILL.md в папку ~/.openclaw/skills/ — агент подхватит его автоматически. Публикация на ClawHub — дело добровольное, для личных навыков она вообще не нужна.
Какой минимальный набор полей нужен в YAML?
Обязательны name и description. Триггеры и permissions технически опциональны, но без триггеров агент не будет знать, когда активировать навык, а без permissions не получит доступ к нужным ресурсам. Так что на практике нужны все четыре поля.
Навыки OpenClaw работают только на английском?
Нет. Триггеры и инструкции можно писать на любом языке, включая русский. Агент обрабатывает естественный язык, так что пиши на том языке, на котором будешь общаться с ним.
Как обновить уже установленный навык?
Просто отредактируй файл SKILL.md. Для локальных навыков изменения подхватятся при следующем запуске агента. Для навыков из ClawHub — переустанови навык командой openclaw skill update <name>.
Чем Skills отличаются от MCP-серверов?
MCP (Model Context Protocol) — это более тяжеловесный подход. MCP-серверы работают как отдельные процессы с полноценным API. Skills — это лёгкие текстовые инструкции без отдельного рантайма. Для простых задач Skills проще и быстрее, для сложных интеграций лучше подходит MCP.
Что ещё почитать
Если тебя интересует тема AI-агентов и разработки навыков, вот несколько статей из блога:
- Плагины Claude Code — как расширить возможности — похожая концепция расширения AI-агента через модули, только в экосистеме Claude
- Claude Code Hooks — автоматизация, о которой ты не знал — ещё один подход к расширению AI-инструмента через хуки и скрипты
- Разрешения в Claude Code — allow, deny и sandbox — тема безопасности при работе с AI-агентами, актуально после истории с ClawHub
- FastMCP 3.0 — Python-фреймворк для MCP-серверов — если хочешь копнуть глубже в сторону MCP вместо Skills