Skip to main content
Skills — это файлы инструкций в формате Markdown, которые объясняют агенту, как и когда использовать инструменты. Каждый навык находится в каталоге, содержащем файл SKILL.md с YAML- метаданными и телом в формате Markdown. OpenClaw загружает встроенные навыки и все локальные переопределения, а при загрузке фильтрует их на основе окружения, конфигурации и наличия исполняемых файлов.

Создание навыков

Создайте и протестируйте собственный навык с нуля.

Мастерская навыков

Проверяйте и утверждайте предложения навыков, подготовленные агентом.

Конфигурация навыков

Полная схема конфигурации skills.* и списки разрешённых навыков для агентов.

ClawHub

Просматривайте и устанавливайте навыки сообщества.

Порядок загрузки

OpenClaw загружает навыки из следующих источников, начиная с источника с наивысшим приоритетом. Если навык с одним и тем же именем встречается в нескольких местах, используется источник с наивысшим приоритетом. Корневые каталоги навыков поддерживают сгруппированную структуру. OpenClaw обнаруживает навык, если SKILL.md находится в любом месте внутри настроенного корневого каталога (на глубине до 6 уровней):
Путь к папке используется только для организации. Имя навыка и его команда с косой чертой берутся из поля метаданных name (или из имени каталога, если name отсутствует). Списки разрешённых навыков для агентов (см. ниже) также сопоставляются по этому name.
Собственный каталог $CODEX_HOME/skills в Codex CLI не является корневым каталогом навыков OpenClaw. Используйте openclaw migrate plan codex, чтобы получить список этих навыков, а затем openclaw migrate codex, чтобы скопировать их в рабочую область OpenClaw.

Навыки, размещённые на Node

Подключённый Node без графического интерфейса может публиковать навыки, установленные в его активном каталоге навыков OpenClaw (~/.openclaw/skills по умолчанию; применяются переопределения окружения профиля). Они отображаются в обычном списке навыков агента, пока Node подключён, и исчезают после его отключения. При совпадении имён локальный навык или навык Gateway сохраняет своё имя; навык Node получает детерминированное имя с префиксом Node. Для навыков, размещённых на Node, в версии v1 имя каталога должно совпадать с полем метаданных name навыка. Запись навыка содержит адрес Node. Его файлы, относительные ссылки и исполняемые файлы находятся на Node, поэтому загружайте и выполняйте его с помощью exec host=node node=<node-id>. После изменения файлов навыка перезапустите хост Node. Сведения о сопряжении и способах отключения см. в разделе Node.

Навыки отдельного агента и общие навыки

В конфигурациях с несколькими агентами у каждого агента есть собственная рабочая область. Используйте путь, соответствующий требуемой области видимости:

Списки разрешённых навыков для агентов

Расположение навыка (приоритет) и видимость навыка (какой агент может его использовать) управляются отдельно. Используйте списки разрешённых навыков, чтобы ограничить навыки, доступные агенту, независимо от источника их загрузки.
  • Не указывайте agents.defaults.skills, чтобы по умолчанию не ограничивать никакие навыки.
  • Не указывайте agents.list[].skills, чтобы наследовать agents.defaults.skills.
  • Задайте agents.list[].skills: [], чтобы не предоставлять этому агенту никаких навыков.
  • Непустой список agents.list[].skills является окончательным набором — он не объединяется со значениями по умолчанию.
  • Итоговый список разрешённых навыков применяется при формировании промпта, обнаружении команд с косой чертой, синхронизации песочницы и создании снимков навыков.
  • Это не граница авторизации оболочки хоста. Если тот же агент может использовать exec, ограничьте эту оболочку отдельно с помощью песочницы, изоляции пользователей ОС, списков запрещённых и разрешённых команд выполнения и отдельных учётных данных для каждого ресурса.

Плагины и навыки

Плагины могут поставлять собственные навыки, перечисляя каталоги skills в openclaw.plugin.json (пути указываются относительно корневого каталога плагина). Навыки плагина загружаются, когда плагин включён. Например, плагин браузера поставляет навык browser-automation для многоэтапного управления браузером. Каталоги навыков плагинов объединяются на том же уровне с низким приоритетом, что и skills.load.extraDirs, поэтому встроенный, управляемый, агентский навык или навык рабочей области с тем же именем переопределяет их. Управляйте применимостью самого навыка плагина с помощью metadata.openclaw.requires в его метаданных, как и для любого другого навыка. Полное описание системы плагинов см. в разделах Плагины и Инструменты.

Мастерская навыков

Мастерская навыков — это очередь предложений между агентом и активными файлами навыков. Когда агент обнаруживает работу, пригодную для повторного использования, он создаёт предложение вместо непосредственной записи в SKILL.md. Вы проверяете и утверждаете предложение до внесения каких-либо изменений.
Полное описание жизненного цикла, справочник CLI и конфигурацию см. в разделе Мастерская навыков.

Установка из ClawHub

ClawHub — это общедоступный реестр навыков. Используйте команды openclaw skills для установки и обновления или CLI clawhub для публикации и синхронизации.
openclaw skills install по умолчанию устанавливает навык в каталог skills/ активной рабочей области. Добавьте --global, чтобы установить его в общий каталог ~/.openclaw/skills, доступный всем локальным агентам, если их списки разрешённых навыков не ограничивают доступ.При установке из Git и локального источника ожидается наличие SKILL.md в корне источника. Идентификатор берётся из name метаданных SKILL.md, если значение допустимо, иначе используется имя каталога или репозитория. Для переопределения используйте --as <slug>. openclaw skills update отслеживает только установки из ClawHub — для обновления источников Git или локальных источников установите их повторно.
openclaw skills verify @owner/<slug> запрашивает у ClawHub контур доверия clawhub.skill.verify.v1 навыка. Установленные навыки ClawHub проверяются по версии и реестру, записанным в .clawhub/origin.json. Идентификаторы без имени владельца по-прежнему принимаются для уже установленных или однозначно определяемых навыков, но ссылки с указанием владельца устраняют неоднозначность издателя.Перед установкой на страницах навыков ClawHub отображается состояние последнего сканирования безопасности, а отдельные страницы содержат сведения о VirusTotal, ClawScan и статическом анализе. Команда завершается с ненулевым кодом, если ClawHub помечает проверку как неуспешную. Издатели устраняют ложные срабатывания через панель управления ClawHub или clawhub skill rescan @owner/<slug>.
Клиенты Gateway, которым требуется доставка не через ClawHub, могут подготовить ZIP-архив навыка с помощью skills.upload.begin, skills.upload.chunk и skills.upload.commit, а затем установить его с помощью skills.install({ source: "upload", ... }). Этот путь по умолчанию отключён и требует skills.install.allowUploadedArchives: true в openclaw.json. Для обычной установки из ClawHub этот параметр не требуется.

Безопасность

Считайте сторонние навыки недоверенным кодом. Прочитайте их перед включением. Для недоверенных входных данных и опасных инструментов предпочитайте запуск в песочнице. Сведения о средствах управления на стороне агента см. в разделе Песочница.
Обнаружение навыков рабочей области, агента проекта и дополнительных каталогов принимает только корневые каталоги навыков, разрешённый реальный путь которых остаётся внутри настроенного корневого каталога, если только skills.load.allowSymlinkTargets явно не определяет целевой корневой каталог как доверенный. Мастерская навыков выполняет запись через такие доверенные цели, только если включён skills.workshop.allowSymlinkTargetWrites. Управляемый каталог ~/.openclaw/skills и личный каталог ~/.agents/skills могут содержать папки навыков, являющиеся символическими ссылками, но реальный путь каждого SKILL.md всё равно должен оставаться внутри его разрешённого каталога навыка.
Настройте security.installPolicy для выполнения доверенной локальной команды политики перед продолжением установки навыка. Политика получает метаданные и путь к подготовленному источнику, применяется к ClawHub, загруженным архивам, Git, локальным источникам, обновлениям и путям установки зависимостей и запрещает операцию, если команда не может вернуть допустимое решение.
skills.entries.*.env и skills.entries.*.apiKey внедряют секреты в процесс хоста только на время текущего хода агента, но не в песочницу. Не включайте секреты в промпты и журналы.
Более широкую модель угроз и контрольные списки безопасности см. в разделе Безопасность.

Формат SKILL.md

Каждый навык должен содержать как минимум name и description в метаданных:
OpenClaw следует спецификации AgentSkills. Сначала метаданные разбираются как YAML; если это не удаётся, используется резервный анализатор, поддерживающий только одну строку. Вложенные блоки metadata (включая многострочные сопоставления YAML) преобразуются в строку JSON и повторно разбираются как JSON5, поэтому форма блока, показанная в разделе Ограничение доступности, работает. Используйте {baseDir} в теле, чтобы ссылаться на путь к папке навыка.

Необязательные ключи метаданных

string
URL, отображаемый как “Website” в интерфейсе Skills для macOS. Также поддерживается через metadata.openclaw.homepage.
boolean
по умолчанию:"true"
Когда true, навык доступен как вызываемая пользователем команда с косой чертой.
boolean
по умолчанию:"false"
Когда true, OpenClaw не включает инструкции навыка в обычный промпт агента. Навык по-прежнему доступен как команда с косой чертой, если user-invocable также имеет значение true.
"tool"
Если установлено значение tool, команда с косой чертой обходит модель и направляется непосредственно зарегистрированному инструменту.
string
Имя инструмента, вызываемого при установленном command-dispatch: tool.
"raw"
по умолчанию:"raw"
При направлении инструменту передаёт ему исходную строку аргументов без разбора ядром. Инструмент получает { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

Условия доступности

OpenClaw фильтрует навыки во время загрузки с помощью metadata.openclaw (объекта JSON5, встроенного во frontmatter; см. примечание о разборе выше). Навык без блока metadata.openclaw всегда доступен, если он не отключён явно.
boolean
Когда true, навык всегда включается, а все остальные условия пропускаются.
string
Необязательный эмодзи, отображаемый в интерфейсе Skills для macOS.
string
Необязательный URL-адрес, отображаемый как “Website” в интерфейсе Skills для macOS.
("darwin" | "linux" | "win32")[]
Фильтр платформ. Если он задан, навык доступен только в одной из указанных ОС.
string[]
Каждый исполняемый файл должен существовать в PATH.
string[]
В PATH должен существовать хотя бы один исполняемый файл.
string[]
Каждая переменная окружения должна существовать в процессе или предоставляться через конфигурацию.
string[]
Каждый путь openclaw.json должен иметь истинное значение.
string
Имя переменной окружения, связанной с skills.entries.<name>.apiKey.
object[]
Необязательные спецификации установщиков, используемые интерфейсом Skills для macOS (brew / node / go / uv / download).
Устаревшие блоки metadata.clawdbot по-прежнему принимаются при отсутствии metadata.openclaw, поэтому ранее установленные навыки сохраняют свои условия зависимостей и подсказки установщика. Новые навыки должны использовать metadata.openclaw.

Спецификации установщиков

Спецификации установщиков указывают интерфейсу Skills для macOS, как установить зависимость:
  • Если указано несколько установщиков, Gateway выбирает один предпочтительный вариант (brew, если он доступен, иначе node).
  • Если все установщики имеют тип download, OpenClaw выводит каждую запись, чтобы вы могли увидеть все доступные артефакты.
  • Спецификации могут включать os: ["darwin"|"linux"|"win32"] для фильтрации по платформе.
  • При установке через Node учитывается skills.install.nodeManager в openclaw.json (по умолчанию: npm; варианты: npm / pnpm / yarn / bun). Это влияет только на установку навыков; средой выполнения Gateway по-прежнему должен быть Node.
  • Порядок предпочтения установщиков Gateway: Homebrew → uv → настроенный менеджер Node → go → download.
  • Homebrew: OpenClaw не устанавливает Homebrew автоматически и не преобразует формулы brew в команды системного менеджера пакетов. В контейнерах Linux без brew установщики, использующие только brew, скрыты; используйте пользовательский образ или установите зависимость вручную.
  • Go: для автоматической установки навыков OpenClaw требуется Go 1.21 или новее. Если go отсутствует, но доступен Homebrew, OpenClaw сначала устанавливает Go через Homebrew; в Linux без Homebrew вместо этого можно использовать apt-get от имени root или через sudo без запроса пароля, если обновлённый кандидат golang-go соответствует минимальной версии. Фактический go install для зависимости всегда указывает на отдельный каталог исполняемых файлов под управлением OpenClaw (bin Homebrew при новой установке, иначе ~/.local/bin), а не на настроенный вами GOBIN — ваши переменные окружения GOBIN, GOPATH и GOTOOLCHAIN считываются, но никогда не перезаписываются.
  • Загрузка: url (обязательно), archive (tar.gz | tar.bz2 | zip), extract (по умолчанию: автоматически при обнаружении архива), stripComponents, targetDir (по умолчанию: ~/.openclaw/tools/<skillKey>).
requires.bins проверяется на хосте во время загрузки навыка. Если агент работает в песочнице, исполняемый файл также должен существовать внутри контейнера. Установите его с помощью agents.defaults.sandbox.docker.setupCommand или пользовательского образа. setupCommand выполняется один раз после создания контейнера и требует исходящего сетевого доступа, доступной для записи корневой файловой системы и пользователя root в песочнице.

Переопределение конфигурации

Включайте, отключайте и настраивайте встроенные или управляемые навыки в skills.entries файла ~/.openclaw/openclaw.json:
boolean
false отключает навык, даже если он встроен или установлен. Встроенный навык coding-agent требует явного включения — установите skills.entries.coding-agent.enabled: true и убедитесь, что один из claude, codex, opencode или другой поддерживаемый CLI установлен и аутентифицирован.
string | { source, provider, id }
Вспомогательное поле для навыков, объявляющих metadata.openclaw.primaryEnv. Поддерживает строку с открытым текстом или объект SecretRef.
Record<string, string>
Переменные окружения, внедряемые на время выполнения агента. Внедряются только в том случае, если переменная ещё не задана в процессе.
object
Необязательный набор пользовательских полей конфигурации для отдельного навыка.
string[]
Необязательный список разрешённых только для встроенных навыков. Если он задан, доступны только встроенные навыки из списка. Управляемые навыки и навыки рабочей области не затрагиваются.
По умолчанию ключи конфигурации соответствуют имени навыка. Если навык определяет metadata.openclaw.skillKey, вместо этого используйте данный ключ в skills.entries. Имена с дефисами заключайте в кавычки: JSON5 допускает ключи в кавычках.

Внедрение переменных окружения

Когда начинается выполнение агента, OpenClaw:
1

Читает метаданные навыков

OpenClaw определяет итоговый список навыков для агента, применяя правила доступности, списки разрешённых элементов и переопределения конфигурации.
2

Внедряет переменные окружения и ключи API

skills.entries.<key>.env и skills.entries.<key>.apiKey применяются к process.env на время выполнения.
3

Формирует системный промпт

Доступные навыки компилируются в компактный блок XML и внедряются в системный промпт.
4

Восстанавливает окружение

После завершения выполнения исходное окружение восстанавливается.
Внедрение переменных окружения относится к выполнению агента на хосте, а не в песочнице. Внутри песочницы env и apiKey не действуют. Инструкции по передаче секретов в запуски в песочнице см. в разделе Конфигурация навыков.
Для встроенного бэкенда claude-cli OpenClaw также материализует тот же снимок доступных навыков как временный плагин Claude Code и передаёт его через --plugin-dir. Другие бэкенды CLI используют только каталог промпта.

Снимки и обновление

OpenClaw создаёт снимок доступных навыков при запуске сеанса и повторно использует этот список для всех последующих ходов в сеансе. Изменения навыков или конфигурации вступают в силу в следующем новом сеансе. Навыки обновляются посреди сеанса в двух случаях:
  • Наблюдатель навыков обнаруживает изменение SKILL.md.
  • Подключается новый доступный удалённый узел.
Обновлённый список используется в следующем ходе агента. Если итоговый список разрешённых для агента элементов изменяется, OpenClaw обновляет снимок, чтобы видимые навыки соответствовали ему.
По умолчанию OpenClaw отслеживает папки навыков и обновляет снимок при изменении файлов SKILL.md. Настройка выполняется в skills.load:
Используйте allowSymlinkTargets для намеренно созданных структур с символическими ссылками, в которых ссылка на корень навыка указывает за пределы настроенного корня, например <workspace>/skills/manager -> ~/Projects/manager/skills. Включайте skills.workshop.allowSymlinkTargetWrites только в том случае, если Skill Workshop также должен применять предложения через эти доверенные пути с символическими ссылками.
Если Gateway работает в Linux, но подключён узел macOS, на котором разрешён system.run, OpenClaw может считать доступными навыки только для macOS, если необходимые исполняемые файлы присутствуют на этом узле. Агент должен запускать такие навыки через инструмент exec с host=node.Автономные узлы не делают видимыми навыки, доступные только удалённо. Если узел перестаёт отвечать на проверки исполняемых файлов, OpenClaw очищает кеш совпадений исполняемых файлов.

Влияние на количество токенов

Когда навыки доступны, OpenClaw внедряет компактный блок XML в системный промпт. Затраты детерминированы и линейно растут с каждым навыком:
  • Базовые накладные расходы (только если доступен хотя бы 1 навык): фиксированный блок вводного текста и обёртка <available_skills>.
  • На каждый навык: ~97 символов + длина полей name, description и location.
  • Экранирование XML преобразует & < > " ' в сущности, добавляя несколько символов при каждом вхождении.
  • При ~4 символах на токен 97 символов ≈ 24 токена на навык без учёта длины полей.
Если итоговый блок превысит настроенный бюджет промпта (skills.limits.maxSkillsPromptChars), OpenClaw сначала сохраняет столько идентификаторов навыков (имя, расположение и версию), сколько помещается в компактном формате без описаний. Затем оставшийся бюджет используется для сокращённых описаний. Если бюджета на описания не осталось, они опускаются. Когда требуется компактное форматирование или усечение списка, в промпт включается примечание со ссылкой на openclaw skills check. Делайте описания краткими и информативными, чтобы минимизировать объём промпта.

См. также

Создание навыков

Пошаговое руководство по созданию собственного навыка.

Мастерская навыков

Очередь предложений навыков, подготовленных агентами.

Конфигурация навыков

Полная схема конфигурации skills.* и списки разрешений агентов.

Команды с косой чертой

Как регистрируются и маршрутизируются команды навыков с косой чертой.

ClawHub

Просматривайте и публикуйте навыки в общедоступном реестре.

Плагины

Плагины могут поставлять навыки вместе с инструментами, которые они документируют.