Коротко
- Наберите
/toolsв чате с агентом. Если задачу можно сделать тем, что там есть (включаяexecсо скриптом и браузер), нужен скилл. Если нужен новый инструмент, канал или хук, нужен плагин или MCP-сервер. - Если у сервиса есть свой плагин, ставьте его, даже когда агент справился бы через браузер. Скилл плагина можно заменить своим с тем же именем.
- Процедуру записывайте в агенте на сильной модели (
/learn), а исполнять отдавайте отдельному агенту на дешёвой. Скилл ему переносят командойopenclaw skills install <папка> --agent <исполнитель>.
Проверено по документации OpenClaw 2026.10.3, октябрь 2026; запуском конфиги не проверялись.
Откуда вопрос
В 13-м выпуске ClawCast (14 октября) Патрик из команды OpenClaw признал, что разница между скиллами и плагинами «довольно тонкая». Гость выпуска, консультант PJ Standley, который ставит OpenClaw клиентам, ответил правилом: есть плагин — используй его, нет — сделай скилл. Плагин от сервиса он назвал приглашением: «они уже всё сделали за вас». Свой пример он привёл чуть раньше. С DocuSign агент сначала справлялся через управление браузером, а потом сервис выдал ключ к рабочему API.
Правило удобное, но не говорит, что делать, когда плагина нет. Развилку в документации можно описать точнее.
Чем они отличаются
Скилл — это текст: файл SKILL.md с именем и описанием в шапке и инструкцией ниже. Рядом могут лежать скрипты, а в шапке можно потребовать нужную программу на PATH. В промпт попадает короткий список скиллов, полный файл агент читает, когда задача подходит. Docs советуют скилл, когда у агента «уже есть нужные инструменты» и не хватает порядка действий. Что такое скилл и как заводить его из привычки, мы разбирали в статье «Сделал дважды — сделайте скилл».
Плагин — это код. Родной плагин OpenClaw — манифест openclaw.plugin.json и модуль, который загружается прямо в Gateway, основной процесс OpenClaw. Плагин регистрирует новые инструменты, каналы, провайдеров моделей, хуки и может принести свои скиллы. Например, встроенный плагин браузера приносит скилл browser-automation. Есть ещё бандлы, плагины в форматах Claude, Codex, Cursor и Agent Plugins. Из них OpenClaw берёт скиллы, хуки и MCP-инструменты.
| Скилл | Плагин | |
|---|---|---|
| Что это | Инструкция и скрипты | Код в процессе Gateway |
| Чем работает | Инструментами, которые уже есть | Своими инструментами |
| Чужой | «недоверенный код», прочитать до включения | установка «как запуск кода» |
| Проверка | openclaw skills check --agent <id> |
openclaw plugins inspect <id> --runtime --json |
Патрик говорил, что даже память OpenClaw сделана плагином и её можно заменить. По docs так и есть: память даёт встроенный плагин memory-core, и он занимает слот plugins.slots.memory. Слот — место, где работает ровно один плагин. Плагин Lossless Claw, который в выпуске назвали другим подходом к памяти, по docs занимает соседний слот plugins.slots.contextEngine: это движок, который собирает контекст для модели, со своими инструментами вспоминания. Заменить сам memory-core можно, например, на memory-lancedb.
Как выбрать
- Хватает ли того, что есть.
/toolsпоказывает, чем агент может пользоваться прямо сейчас. Если у сервиса есть консольная утилита или HTTP API, а у агента естьexec, хватит скилла со скриптом. Если подходящего инструмента нет и обойти это нечем, скилл ничего не добавит. По docs подходящий скилл «не даёт доступа к инструментам». - Есть ли готовый плагин. Ищите командой
openclaw plugins search "<сервис>". Здесь правило PJ работает даже тогда, когда пункт 1 выполнен. Черезexecагент может всё, что может shell, а инструмент плагина — отдельная функция, которуюtools.allowиtools.denyразрешают или запрещают по имени. Docs ставят плагин туда, где у возможности есть свой код, ключи доступа, хуки или установочный пакет. Ставить его просят так же осторожно, как запускать чужую программу. ClawHub и официальный каталог считаются доверенными. Произвольный пакет из npm, git или локальной папки без диалога поставится только с--force, и добавлять его стоит после того, как вы посмотрели источник. Какие инструменты плагин зарегистрировал, покажетopenclaw plugins inspect <id> --runtime --json. - Плагина нет, но есть MCP-сервер. MCP — протокол, через который агент берёт инструменты у внешней программы. Плагин писать не нужно: сервер подключают в Control UI (Settings → MCP), а
openclaw mcp doctor <имя> --probeпроверит, что он отвечает и какие инструменты отдаёт. Политику инструментов такое подключение не обходит.
Часто нужно и то и другое: плагин даёт доступ, ваш скилл задаёт порядок. У скиллов из плагинов самый низкий приоритет. Поэтому скилл с тем же именем в <workspace>/skills заменит тот, что пришёл с плагином, а сам плагин трогать не придётся.
Приём: пишет сильная модель, исполняет дешёвая
В выпуске прозвучала ещё одна мысль. Процедуру выгодно составить умной моделью, а выполнять отдать дешёвой: шаги уже расписаны, и выполнить готовое ей проще, чем придумать. PJ держит у себя локальную модель. В OpenClaw это собирается из двух агентов. Ниже пример на недельной сводке из CRM; имена main, runner и crm-weekly подставьте свои.
1. Записать. В агенте на сильной модели один раз пройдите задачу вместе и наберите /learn. Агент соберёт из разговора черновик скилла через Skill Workshop, механизм, через который агент сам предлагает скиллы. Черновик ждёт вашего решения. Применить его можно в Control UI или командой openclaw skills workshop apply <id> --agent main.
2. Завести исполнителя с дешёвой моделью и оставить ему один скилл:
openclaw agents add runner --workspace ~/.openclaw/workspace-runner \
--model "<провайдер>/<дешёвая-модель>" --non-interactive
openclaw config set agents.entries.runner.skills '["crm-weekly"]' --strict-json
Непустой список skills у агента — итоговый: общие скиллы из настроек по умолчанию к нему не добавятся, и исполнитель видит только свою процедуру.
3. Передать скилл. При настройках по умолчанию применённый скилл лежит в ~/.openclaw/agents/main/agent/workshop-skills/crm-weekly/. Скиллы из Workshop другим агентам не видны, поэтому скопируйте его:
openclaw skills install ~/.openclaw/agents/main/agent/workshop-skills/crm-weekly --agent runner
openclaw skills check --agent runner
install копирует папку в skills/ рабочего пространства runner, а check покажет, видит ли агент скилл.
4. Запустить по расписанию. Агента указывайте явно: без --agent задача уйдёт агенту по умолчанию main.
openclaw automations create "0 8 * * 1" "Сделай недельную сводку по скиллу crm-weekly." \
--name "crm weekly" --agent runner --no-deliver
Сводку скилл записывает сам, в документ или CRM, поэтому отправка итога в чат отключена. Если нужна копия в мессенджер, замените --no-deliver на --announce --channel <канал> --to <получатель>.
5. Проверить и откатить. Запустите прогон сразу: openclaw automations run <job-id> --wait --wait-timeout 10m. Потом openclaw automations runs <job-id> покажет результат, а View transcript в Control UI — весь разговор прогона. Остановить расписание можно командой openclaw automations disable <job-id>.
Где ломается
- Скилл не открывает доступ. Если у исполнителя набор инструментов уже, чем у автора, процедура упрётся в недостающий инструмент. Перед первым запуском откройте чат
runnerв Control UI (Agents → Open chat) и сравните его/toolsс авторским. - Исполнитель может испортить процедуру. Если в чате попросить
runner«поправить скилл», он перепишет файл в своёмskills/той же дешёвой моделью. Правьте процедуру у автора и ставьте заново с--force. В прогонах по расписанию фоновое самообучение не запускается, а еженедельный разбор Workshop трогает только папку Workshop, так что сам по себе скилл вskills/не поменяется. - Список скиллов — не замок.
skillsпрячет лишнее из промпта, но shell не ограничивает. Если у агента естьexec, его ограничивают отдельно.
Когда не нужно ни то, ни другое
- Задача разовая: просто попросите агента.
- Агент и так справляется: скилл ради скилла только удлинит промпт.
- Между шагами не нужно думать: в automations есть задачи-команды (
--command), которые запускают скрипт по расписанию без модели.