Скилл или плагин: что ставить, когда агенту нужен новый навык

Агенту нужно научиться новому, и непонятно, искать плагин или писать скилл. Решает вопрос, хватает ли агенту инструментов, которые у него уже есть. Не хватает — ставьте плагин. Хватает — пишите скилл, если только у сервиса нет своего плагина. А скилл, записанный на сильной модели, можно отдать исполнять агенту на дешёвой.

· 7 мин чтения

Коротко

  • Наберите /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.

Как выбрать

  1. Хватает ли того, что есть. /tools показывает, чем агент может пользоваться прямо сейчас. Если у сервиса есть консольная утилита или HTTP API, а у агента есть exec, хватит скилла со скриптом. Если подходящего инструмента нет и обойти это нечем, скилл ничего не добавит. По docs подходящий скилл «не даёт доступа к инструментам».
  2. Есть ли готовый плагин. Ищите командой openclaw plugins search "<сервис>". Здесь правило PJ работает даже тогда, когда пункт 1 выполнен. Через exec агент может всё, что может shell, а инструмент плагина — отдельная функция, которую tools.allow и tools.deny разрешают или запрещают по имени. Docs ставят плагин туда, где у возможности есть свой код, ключи доступа, хуки или установочный пакет. Ставить его просят так же осторожно, как запускать чужую программу. ClawHub и официальный каталог считаются доверенными. Произвольный пакет из npm, git или локальной папки без диалога поставится только с --force, и добавлять его стоит после того, как вы посмотрели источник. Какие инструменты плагин зарегистрировал, покажет openclaw plugins inspect <id> --runtime --json.
  3. Плагина нет, но есть 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), которые запускают скрипт по расписанию без модели.