> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

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

> [card] [Создание навыков](https://docs2.openclaw.ai/ru/tools/creating-skills.md)
>
> Создайте и протестируйте собственный навык с нуля.

> [card] [Мастерская навыков](https://docs2.openclaw.ai/ru/tools/skill-workshop.md)
>
> Проверяйте и утверждайте предложения навыков, подготовленные агентом.

> [card] [Конфигурация навыков](https://docs2.openclaw.ai/ru/tools/skills-config.md)
>
> Полная схема конфигурации `skills.*` и списки разрешённых навыков для агентов.

> [card] [ClawHub](https://docs2.openclaw.ai/ru/clawhub)
>
> Просматривайте и устанавливайте навыки сообщества.

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

OpenClaw загружает навыки из следующих источников, **начиная с источника с наивысшим приоритетом**. Если навык с одним и тем же
именем встречается в нескольких местах, используется источник с наивысшим приоритетом.

| Приоритет | Источник | Путь |
| - | - | - |
| 1 — наивысший | Навыки рабочей области | `<workspace>/skills` |
| 2 | Навыки агента проекта | `<workspace>/.agents/skills` |
| 3 | Личные навыки агента | `~/.agents/skills` |
| 4 | Управляемые / локальные навыки | `~/.openclaw/skills` |
| 5 | Встроенные навыки | поставляются вместе с установкой |
| 6 — наименьший | Дополнительные каталоги | `skills.load.extraDirs` + навыки плагинов |

Корневые каталоги навыков поддерживают сгруппированную структуру. OpenClaw обнаруживает навык, если
`SKILL.md` находится в любом месте внутри настроенного корневого каталога (на глубине до 6 уровней):

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
<workspace>/skills/research/SKILL.md          ✓ найден как "research"
<workspace>/skills/personal/research/SKILL.md ✓ также найден как "research"
```

Путь к папке используется только для организации. Имя навыка и его команда с косой чертой
берутся из поля метаданных `name` (или из имени каталога, если `name`
отсутствует). Списки разрешённых навыков для агентов (см. ниже) также сопоставляются по этому `name`.

> [!NOTE]
>
> Собственный каталог `$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](https://docs2.openclaw.ai/ru/nodes.md#node-hosted-skills).

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

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

| Область | Путь | Кому доступен |
| - | - | - |
| Отдельный агент | `<workspace>/skills` | Только этому агенту |
| Агент проекта | `<workspace>/.agents/skills` | Только агенту этой рабочей области |
| Личный агент | `~/.agents/skills` | Всем агентам на этом компьютере |
| Общие управляемые | `~/.openclaw/skills` | Всем агентам на этом компьютере |
| Дополнительные каталоги | `skills.load.extraDirs` | Всем агентам на этом компьютере |

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

**Расположение** навыка (приоритет) и **видимость** навыка (какой агент может его использовать)
управляются отдельно. Используйте списки разрешённых навыков, чтобы ограничить навыки, доступные агенту,
независимо от источника их загрузки.

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agents: {
    defaults: {
      skills: ["github", "weather"], // общая базовая конфигурация
    },
    list: [
      { id: "writer" }, // наследует github, weather
      { id: "docs", skills: ["docs-search"] }, // полностью заменяет значения по умолчанию
      { id: "locked-down", skills: [] }, // без навыков
    ],
  },
}
```

> [accordion] Правила списков разрешённых навыков
>
> * Не указывайте `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` в его метаданных, как и для любого другого навыка.

Полное описание системы плагинов см. в разделах [Плагины](https://docs2.openclaw.ai/ru/tools/plugin.md) и [Инструменты](https://docs2.openclaw.ai/ru/tools.md).

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

[Мастерская навыков](https://docs2.openclaw.ai/ru/tools/skill-workshop.md) — это очередь предложений между агентом
и активными файлами навыков. Когда агент обнаруживает работу, пригодную для повторного использования, он создаёт
предложение вместо непосредственной записи в `SKILL.md`. Вы проверяете и утверждаете
предложение до внесения каких-либо изменений.

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw skills workshop list
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
```

Полное описание жизненного цикла, справочник CLI
и конфигурацию см. в разделе [Мастерская навыков](https://docs2.openclaw.ai/ru/tools/skill-workshop.md).

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

[ClawHub](https://clawhub.ai) — это общедоступный реестр навыков. Используйте команды
`openclaw skills` для установки и обновления или CLI `clawhub` для
публикации и синхронизации.

| Действие | Команда |
| - | - |
| Установить навык в рабочую область | `openclaw skills install @owner/<slug>` |
| Установить из репозитория Git | `openclaw skills install git:owner/repo@ref` |
| Установить локальный каталог навыка | `openclaw skills install ./path/to/skill --as my-tool` |
| Установить для всех локальных агентов | `openclaw skills install @owner/<slug> --global` |
| Обновить все навыки рабочей области | `openclaw skills update --all` |
| Обновить общий управляемый навык | `openclaw skills update @owner/<slug> --global` |
| Обновить все общие управляемые навыки | `openclaw skills update --all --global` |
| Проверить контур доверия навыка | `openclaw skills verify @owner/<slug>` |
| Вывести созданную карточку навыка | `openclaw skills verify @owner/<slug> --card` |
| Опубликовать / синхронизировать через CLI ClawHub | `clawhub sync --all` |

> [accordion] Сведения об установке
>
> `openclaw skills install` по умолчанию устанавливает навык в каталог `skills/`
> активной рабочей области. Добавьте `--global`, чтобы установить его в общий
> каталог `~/.openclaw/skills`, доступный всем локальным агентам, если их списки
> разрешённых навыков не ограничивают доступ.
>
> При установке из Git и локального источника ожидается наличие `SKILL.md` в корне источника. Идентификатор берётся
> из `name` метаданных `SKILL.md`, если значение допустимо, иначе используется
> имя каталога или репозитория. Для переопределения используйте `--as <slug>`.
> `openclaw skills update` отслеживает только установки из ClawHub — для обновления источников Git или
> локальных источников установите их повторно.

> [accordion] Проверка и сканирование безопасности
>
> `openclaw skills verify @owner/<slug>` запрашивает у ClawHub
> контур доверия `clawhub.skill.verify.v1` навыка. Установленные навыки ClawHub проверяются
> по версии и реестру, записанным в `.clawhub/origin.json`.
> Идентификаторы без имени владельца по-прежнему принимаются для уже установленных или однозначно определяемых навыков, но
> ссылки с указанием владельца устраняют неоднозначность издателя.
>
> Перед установкой на страницах навыков ClawHub отображается состояние последнего сканирования безопасности,
> а отдельные страницы содержат сведения о VirusTotal, ClawScan и статическом анализе. Команда
> завершается с ненулевым кодом, если ClawHub помечает проверку как неуспешную. Издатели
> устраняют ложные срабатывания через панель управления ClawHub или
> `clawhub skill rescan @owner/<slug>`.

> [accordion] Установка из частных архивов
>
> Клиенты Gateway, которым требуется доставка не через ClawHub, могут подготовить ZIP-архив навыка
> с помощью `skills.upload.begin`, `skills.upload.chunk` и `skills.upload.commit`,
> а затем установить его с помощью `skills.install({ source: "upload", ... })`. Этот путь
> по умолчанию отключён и требует `skills.install.allowUploadedArchives: true` в
> `openclaw.json`. Для обычной установки из ClawHub этот параметр не требуется.

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

> [!WARNING]
>
> Считайте сторонние навыки **недоверенным кодом**. Прочитайте их перед включением.
> Для недоверенных входных данных и опасных инструментов предпочитайте запуск в песочнице. Сведения
> о средствах управления на стороне агента см. в разделе [Песочница](https://docs2.openclaw.ai/ru/gateway/sandboxing.md).

> [accordion] Ограничение путей
>
> Обнаружение навыков рабочей области, агента проекта и дополнительных каталогов принимает только корневые каталоги
> навыков, разрешённый реальный путь которых остаётся внутри настроенного корневого каталога, если только
> `skills.load.allowSymlinkTargets` явно не определяет целевой корневой каталог как доверенный.
> Мастерская навыков выполняет запись через такие доверенные цели, только если
> включён `skills.workshop.allowSymlinkTargetWrites`.
> Управляемый каталог `~/.openclaw/skills` и личный каталог `~/.agents/skills` могут содержать
> папки навыков, являющиеся символическими ссылками, но реальный путь каждого `SKILL.md` всё равно должен оставаться
> внутри его разрешённого каталога навыка.

> [accordion] Политика установки оператора
>
> Настройте `security.installPolicy` для выполнения доверенной локальной команды политики
> перед продолжением установки навыка. Политика получает метаданные и путь к подготовленному
> источнику, применяется к ClawHub, загруженным архивам, Git, локальным источникам, обновлениям и
> путям установки зависимостей и запрещает операцию, если команда не может вернуть
> допустимое решение.

> [accordion] Область внедрения секретов
>
> `skills.entries.*.env` и `skills.entries.*.apiKey` внедряют секреты в
> процесс **хоста** только на время текущего хода агента, но не в песочницу. Не включайте
> секреты в промпты и журналы.

Более широкую модель угроз и контрольные списки безопасности см. в разделе
[Безопасность](https://docs2.openclaw.ai/ru/gateway/security.md).

## Формат SKILL.md

Каждый навык должен содержать как минимум `name` и `description` в метаданных:

```markdown theme={"theme":{"light":"min-light","dark":"min-dark"}}
---
name: image-lab
description: Создание или редактирование изображений с помощью процесса обработки изображений, поддерживаемого провайдером
---

Когда пользователь просит создать изображение, используйте инструмент `image_generate`...
```

> [!NOTE]
>
> OpenClaw следует спецификации [AgentSkills](https://agentskills.io). Сначала метаданные
> разбираются как YAML; если это не удаётся, используется резервный анализатор,
> поддерживающий только одну строку. Вложенные блоки `metadata` (включая многострочные сопоставления YAML)
> преобразуются в строку JSON и повторно разбираются как JSON5, поэтому форма блока, показанная
> в разделе [Ограничение доступности](#gating), работает. Используйте `{baseDir}` в теле, чтобы ссылаться на
> путь к папке навыка.

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

**homepage** `string`

URL, отображаемый как "Website" в интерфейсе Skills для macOS. Также поддерживается через
`metadata.openclaw.homepage`.

**user-invocable** `boolean` (default: true)

Когда `true`, навык доступен как вызываемая пользователем команда с косой чертой.

**disable-model-invocation** `boolean` (default: false)

Когда `true`, OpenClaw не включает инструкции навыка в обычный
промпт агента. Навык по-прежнему доступен как команда с косой чертой, если `user-invocable`
также имеет значение `true`.

**command-dispatch** `"tool"`

Если установлено значение `tool`, команда с косой чертой обходит модель и направляется
непосредственно зарегистрированному инструменту.

**command-tool** `string`

Имя инструмента, вызываемого при установленном `command-dispatch: tool`.

**command-arg-mode** `"raw"` (default: raw)

При направлении инструменту передаёт ему исходную строку аргументов без
разбора ядром. Инструмент получает
`{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.

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

OpenClaw фильтрует навыки во время загрузки с помощью `metadata.openclaw` (объекта JSON5,
встроенного во frontmatter; см. примечание о разборе выше). Навык без блока
`metadata.openclaw` всегда доступен, если он не отключён явно.

```markdown theme={"theme":{"light":"min-light","dark":"min-dark"}}
---
name: image-lab
description: Создание или редактирование изображений с помощью процесса обработки изображений на базе провайдера
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
        "primaryEnv": "GEMINI_API_KEY",
      },
  }
---
```

**always** `boolean`

Когда `true`, навык всегда включается, а все остальные условия пропускаются.

**emoji** `string`

Необязательный эмодзи, отображаемый в интерфейсе Skills для macOS.

**homepage** `string`

Необязательный URL-адрес, отображаемый как "Website" в интерфейсе Skills для macOS.

**os** `("darwin" | "linux" | "win32")[]`

Фильтр платформ. Если он задан, навык доступен только в одной из указанных ОС.

**requires.bins** `string[]`

Каждый исполняемый файл должен существовать в `PATH`.

**requires.anyBins** `string[]`

В `PATH` должен существовать хотя бы один исполняемый файл.

**requires.env** `string[]`

Каждая переменная окружения должна существовать в процессе или предоставляться через конфигурацию.

**requires.config** `string[]`

Каждый путь `openclaw.json` должен иметь истинное значение.

**primaryEnv** `string`

Имя переменной окружения, связанной с `skills.entries.<name>.apiKey`.

**install** `object[]`

Необязательные спецификации установщиков, используемые интерфейсом Skills для macOS (brew / node / go / uv / download).

> [!NOTE]
>
> Устаревшие блоки `metadata.clawdbot` по-прежнему принимаются при отсутствии
> `metadata.openclaw`, поэтому ранее установленные навыки сохраняют свои
> условия зависимостей и подсказки установщика. Новые навыки должны использовать
> `metadata.openclaw`.

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

Спецификации установщиков указывают интерфейсу Skills для macOS, как установить зависимость:

```markdown theme={"theme":{"light":"min-light","dark":"min-dark"}}
---
name: gemini
description: Использование Gemini CLI для помощи в программировании и поиска в Google.
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gemini-cli",
              "bins": ["gemini"],
              "label": "Установить Gemini CLI (brew)",
            },
          ],
      },
  }
---
```

> [accordion] Правила выбора установщика
>
> * Если указано несколько установщиков, 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.

> [accordion] Сведения об отдельных установщиках
>
> * **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>`).

> [accordion] Примечания о песочнице
>
> `requires.bins` проверяется на **хосте** во время загрузки навыка. Если агент
> работает в песочнице, исполняемый файл также должен существовать **внутри контейнера**.
> Установите его с помощью `agents.defaults.sandbox.docker.setupCommand` или пользовательского
> образа. `setupCommand` выполняется один раз после создания контейнера и требует
> исходящего сетевого доступа, доступной для записи корневой файловой системы и пользователя root в песочнице.

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

Включайте, отключайте и настраивайте встроенные или управляемые навыки в `skills.entries` файла
`~/.openclaw/openclaw.json`:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  skills: {
    entries: {
      "image-lab": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
        env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" },
        config: {
          endpoint: "https://example.invalid",
          model: "nano-pro",
        },
      },
      peekaboo: { enabled: true },
      sag: { enabled: false },
    },
  },
}
```

**enabled** `boolean`

`false` отключает навык, даже если он встроен или установлен. Встроенный навык `coding-agent`
требует явного включения — установите `skills.entries.coding-agent.enabled: true`
и убедитесь, что один из `claude`, `codex`, `opencode` или другой поддерживаемый CLI
установлен и аутентифицирован.

**apiKey** `string | \{ source, provider, id \}`

Вспомогательное поле для навыков, объявляющих `metadata.openclaw.primaryEnv`.
Поддерживает строку с открытым текстом или объект SecretRef.

**env** `Record\<string, string\>`

Переменные окружения, внедряемые на время выполнения агента. Внедряются только в том случае,
если переменная ещё не задана в процессе.

**config** `object`

Необязательный набор пользовательских полей конфигурации для отдельного навыка.

**allowBundled** `string[]`

Необязательный список разрешённых только для **встроенных** навыков. Если он задан, доступны только
встроенные навыки из списка. Управляемые навыки и навыки рабочей области не затрагиваются.

> [!NOTE]
>
> По умолчанию ключи конфигурации соответствуют **имени навыка**. Если навык определяет
> `metadata.openclaw.skillKey`, вместо этого используйте данный ключ в `skills.entries`.
> Имена с дефисами заключайте в кавычки: JSON5 допускает ключи в кавычках.

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

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

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

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

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

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

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

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

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

После завершения выполнения исходное окружение восстанавливается.

> [!WARNING]
>
> Внедрение переменных окружения относится к выполнению агента на **хосте**, а не в песочнице. Внутри
> песочницы `env` и `apiKey` не действуют. Инструкции
> по передаче секретов в запуски в песочнице см. в разделе
> [Конфигурация навыков](https://docs2.openclaw.ai/ru/tools/skills-config.md#sandboxed-skills-and-env-vars).

Для встроенного бэкенда `claude-cli` OpenClaw также материализует тот же
снимок доступных навыков как временный плагин Claude Code и передаёт его через
`--plugin-dir`. Другие бэкенды CLI используют только каталог промпта.

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

OpenClaw создаёт снимок доступных навыков **при запуске сеанса** и повторно использует этот
список для всех последующих ходов в сеансе. Изменения навыков или конфигурации
вступают в силу в следующем новом сеансе.

Навыки обновляются посреди сеанса в двух случаях:

* Наблюдатель навыков обнаруживает изменение `SKILL.md`.
* Подключается новый доступный удалённый узел.

Обновлённый список используется в следующем ходе агента. Если итоговый список
разрешённых для агента элементов изменяется, OpenClaw обновляет снимок, чтобы видимые навыки
соответствовали ему.

> [accordion] Наблюдатель навыков
>
> По умолчанию OpenClaw отслеживает папки навыков и обновляет снимок при изменении
> файлов `SKILL.md`. Настройка выполняется в `skills.load`:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   skills: {
>     load: {
>       extraDirs: ["~/Projects/agent-scripts/skills"],
>       allowSymlinkTargets: ["~/Projects/manager/skills"],
>       watch: true, // по умолчанию
>       watchDebounceMs: 250, // по умолчанию
>     },
>   },
> }
> ```
>
> Используйте `allowSymlinkTargets` для намеренно созданных структур с символическими ссылками, в которых ссылка
> на корень навыка указывает за пределы настроенного корня, например
> `<workspace>/skills/manager -> ~/Projects/manager/skills`.
> Включайте `skills.workshop.allowSymlinkTargetWrites` только в том случае, если Skill Workshop
> также должен применять предложения через эти доверенные пути с символическими ссылками.

> [accordion] Удалённые узлы macOS (Gateway в Linux)
>
> Если 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`.

Делайте описания краткими и информативными, чтобы минимизировать объём промпта.

## См. также

> [card] [Создание навыков](https://docs2.openclaw.ai/ru/tools/creating-skills.md)
>
> Пошаговое руководство по созданию собственного навыка.

> [card] [Мастерская навыков](https://docs2.openclaw.ai/ru/tools/skill-workshop.md)
>
> Очередь предложений навыков, подготовленных агентами.

> [card] [Конфигурация навыков](https://docs2.openclaw.ai/ru/tools/skills-config.md)
>
> Полная схема конфигурации `skills.*` и списки разрешений агентов.

> [card] [Команды с косой чертой](https://docs2.openclaw.ai/ru/tools/slash-commands.md)
>
> Как регистрируются и маршрутизируются команды навыков с косой чертой.

> [card] [ClawHub](https://docs2.openclaw.ai/ru/clawhub)
>
> Просматривайте и публикуйте навыки в общедоступном реестре.

> [card] [Плагины](https://docs2.openclaw.ai/ru/tools/plugin.md)
>
> Плагины могут поставлять навыки вместе с инструментами, которые они документируют.
