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

Створення Skills

Створіть і протестуйте власний Skills з нуля.

Майстерня Skills

Переглядайте й затверджуйте пропозиції Skills, підготовлені агентом.

Конфігурація Skills

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

ClawHub

Переглядайте й установлюйте Skills спільноти.

Порядок завантаження

OpenClaw завантажує з цих джерел, спершу з найвищим пріоритетом. Коли однакова назва Skills з’являється в кількох місцях, перемагає джерело з найвищим пріоритетом.
ПріоритетДжерелоШлях
1 — найвищийSkills робочої області<workspace>/skills
2Skills агента проєкту<workspace>/.agents/skills
3Особисті Skills агента~/.agents/skills
4Керовані / локальні Skills~/.openclaw/skills
5Вбудовані Skillsпостачаються з інсталяцією
6 — найнижчийДодаткові каталогиskills.load.extraDirs + Skills Plugin
Корені Skills підтримують згруповані макети. OpenClaw виявляє Skills щоразу, коли SKILL.md з’являється будь-де під налаштованим коренем:
<workspace>/skills/research/SKILL.md          ✓ found as "research"
<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"
Шлях до папки призначений лише для організації. Назва Skills, slash-команда та ключ списку дозволів усі беруться з поля frontmatter name (або з назви каталогу, коли name відсутнє).
Рідний каталог Codex CLI $CODEX_HOME/skills не є коренем Skills OpenClaw. Використайте openclaw migrate plan codex, щоб інвентаризувати ці Skills, а потім openclaw migrate codex, щоб скопіювати їх у вашу робочу область OpenClaw.

Skills для окремого агента та спільні Skills

У налаштуваннях із кількома агентами кожен агент має власну робочу область. Використовуйте шлях, який відповідає бажаній видимості:
ОбластьШляхВидимо для
Для окремого агента<workspace>/skillsЛише цього агента
Агент проєкту<workspace>/.agents/skillsЛише агента цієї робочої області
Особистий агент~/.agents/skillsУсі агенти на цій машині
Спільні керовані~/.openclaw/skillsУсі агенти на цій машині
Додаткові каталогиskills.load.extraDirsУсі агенти на цій машині

Списки дозволів агентів

Розташування Skills (пріоритет) і видимість Skills (який агент може його використовувати) є окремими засобами керування. Використовуйте списки дозволів, щоб обмежити, які Skills бачить агент, незалежно від того, звідки вони завантажені.
{
  agents: {
    defaults: {
      skills: ["github", "weather"], // shared baseline
    },
    list: [
      { id: "writer" }, // inherits github, weather
      { id: "docs", skills: ["docs-search"] }, // replaces defaults entirely
      { id: "locked-down", skills: [] }, // no skills
    ],
  },
}
  • Пропустіть agents.defaults.skills, щоб за замовчуванням залишити всі Skills без обмежень.
  • Пропустіть agents.list[].skills, щоб успадкувати agents.defaults.skills.
  • Установіть agents.list[].skills: [], щоб не відкривати жодних Skills для цього агента.
  • Непорожній список agents.list[].skills є остаточним набором — він не об’єднується зі значеннями за замовчуванням.
  • Ефективний список дозволів застосовується до побудови промптів, виявлення slash-команд, синхронізації sandbox і знімків Skills.
  • Це не межа авторизації хостової оболонки. Якщо той самий агент може використовувати exec, обмежте цю оболонку окремо за допомогою sandboxing, ізоляції користувача ОС, списків заборон/дозволів для exec і облікових даних для окремих ресурсів.

Plugin і Skills

Plugin можуть постачати власні Skills, перелічуючи каталоги skills в openclaw.plugin.json (шляхи відносно кореня Plugin). Skills Plugin завантажуються, коли Plugin увімкнено — наприклад, браузерний Plugin постачає Skills browser-automation для багатокрокового керування браузером. Каталоги Skills Plugin об’єднуються на тому самому рівні низького пріоритету, що й skills.load.extraDirs, тому вбудовані, керовані, агентські або робочої області Skills з такою самою назвою перевизначають їх. Обмежуйте їх через metadata.openclaw.requires.config у записі конфігурації Plugin. Див. Plugin і Інструменти, щоб ознайомитися з повною системою Plugin.

Майстерня Skills

Майстерня Skills — це черга пропозицій між агентом і вашими активними файлами Skills. Коли агент помічає роботу, яку можна повторно використати, він створює пропозицію замість прямого запису в SKILL.md. Ви переглядаєте й затверджуєте перед будь-якими змінами.
openclaw skills workshop list
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
Див. Майстерня Skills, щоб ознайомитися з повним життєвим циклом, довідкою CLI та конфігурацією.

Установлення з ClawHub

ClawHub — це публічний реєстр Skills. Використовуйте команди openclaw skills для встановлення та оновлення або CLI clawhub для публікації та синхронізації.
ДіяКоманда
Установити Skills у робочу областьopenclaw skills install @owner/<slug>
Установити з Git-репозиторіюopenclaw skills install git:owner/repo@ref
Установити локальний каталог Skillsopenclaw skills install ./path/to/skill --as my-tool
Установити для всіх локальних агентівopenclaw skills install @owner/<slug> --global
Оновити всі Skills робочої областіopenclaw skills update --all
Оновити спільний керований Skillsopenclaw skills update @owner/<slug> --global
Оновити всі спільні керовані Skillsopenclaw skills update --all --global
Перевірити довірчий конверт Skillsopenclaw skills verify @owner/<slug>
Надрукувати згенеровану картку Skillsopenclaw skills verify @owner/<slug> --card
Опублікувати / синхронізувати через CLI ClawHubclawhub sync --all
openclaw skills install за замовчуванням установлює в каталог активної робочої області skills/. Додайте --global, щоб установити в спільний каталог ~/.openclaw/skills, видимий усім локальним агентам, якщо списки дозволів агентів не звужують доступ.Git- і локальні встановлення очікують SKILL.md у корені джерела. Slug береться з frontmatter SKILL.md name, коли він коректний, а потім використовується назва каталогу або репозиторію як запасний варіант. Використовуйте --as <slug> для перевизначення. openclaw skills update відстежує лише встановлення ClawHub — перевстановіть Git- або локальні джерела, щоб оновити їх.
openclaw skills verify @owner/<slug> запитує в ClawHub довірчий конверт Skills clawhub.skill.verify.v1. Установлені Skills ClawHub перевіряються щодо версії та реєстру, записаних у .clawhub/origin.json. Голі slug залишаються прийнятними для вже встановлених або однозначних Skills, але посилання з власником уникають неоднозначності видавця.Сторінки Skills у ClawHub показують найновіший стан сканування безпеки перед встановленням зі сторінками деталей для VirusTotal, ClawScan і статичного аналізу. Команда завершується з ненульовим кодом, коли ClawHub позначає перевірку як невдалу. Видавці усувають хибнопозитивні результати через панель ClawHub або clawhub skill rescan @owner/<slug>.
Клієнти Gateway, яким потрібне постачання не через ClawHub, можуть підготувати zip-архів Skills за допомогою skills.upload.begin, skills.upload.chunk і skills.upload.commit, а потім установити через skills.install({ source: "upload", ... }). Цей шлях вимкнений за замовчуванням і потребує skills.install.allowUploadedArchives: true в openclaw.json. Звичайні встановлення ClawHub ніколи не потребують цього налаштування.

Безпека

Розглядайте сторонні Skills як ненадійний код. Читайте їх перед увімкненням. Надавайте перевагу запускам у sandbox для ненадійних вхідних даних і ризикованих інструментів. Див. Sandboxing для засобів керування на боці агента.
Виявлення Skills у робочій області, агента проєкту та додаткових каталогах приймає лише корені Skills, чий розв’язаний realpath залишається всередині налаштованого кореня, якщо тільки skills.load.allowSymlinkTargets явно не довіряє цільовому кореню. Майстерня Skills записує через ці довірені цілі лише тоді, коли skills.workshop.allowSymlinkTargetWrites увімкнено. Керований ~/.openclaw/skills і особистий ~/.agents/skills можуть містити символічно зв’язані папки Skills, але кожен realpath SKILL.md усе одно має залишатися всередині свого розв’язаного каталогу Skills.
Налаштуйте security.installPolicy, щоб запускати довірену локальну команду політики перед продовженням установлення Skills. Політика отримує метадані та підготовлений шлях джерела, застосовується до шляхів ClawHub, завантажених архівів, Git, локальних, оновлення та інсталятора залежностей і завершується відмовою, коли команда не може повернути чинне рішення.
skills.entries.*.env і skills.entries.*.apiKey ін’єктують секрети в процес хоста лише для цього ходу агента — не в sandbox. Не додавайте секрети до промптів і журналів.
Ширшу модель загроз і контрольні списки безпеки див. у Безпека.

Формат SKILL.md

Кожному Skills потрібні щонайменше name і description у frontmatter:
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
---

When the user asks to generate an image, use the `image_generate` tool...
OpenClaw дотримується специфікації AgentSkills. Парсер frontmatter підтримує лише однорядкові ключіmetadata має бути однорядковим JSON-об’єктом. Використовуйте {baseDir} у тілі, щоб посилатися на шлях папки Skills.

Необов’язкові ключі frontmatter

homepage
string
URL, який відображається як “Вебсайт” в інтерфейсі Skills macOS. Також підтримується через metadata.openclaw.homepage.
user-invocable
boolean
за замовчуванням:"true"
Коли true, Skills відкривається як доступна користувачу slash-команда.
disable-model-invocation
boolean
за замовчуванням:"false"
Коли true, OpenClaw не включає інструкції Skills у звичайний промпт агента. Skills усе ще доступний як slash-команда, коли user-invocable також має значення true.
command-dispatch
"tool"
Коли встановлено tool, slash-команда обходить модель і спрямовується безпосередньо до зареєстрованого інструмента.
command-tool
string
Назва інструмента для виклику, коли встановлено command-dispatch: tool.
command-arg-mode
"raw"
за замовчуванням:"raw"
Для диспетчеризації інструментів передає сирий рядок аргументів інструменту без парсингу в ядрі. Інструмент отримує { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

Обмеження доступності

OpenClaw фільтрує skills під час завантаження за допомогою metadata.openclaw (однорядковий JSON у frontmatter). Skill без блока metadata.openclaw завжди доступний, якщо його явно не вимкнено.
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
        "primaryEnv": "GEMINI_API_KEY",
      },
  }
---
always
boolean
Коли true, завжди включати skill і пропускати всі інші обмеження.
emoji
string
Необов’язковий emoji, що показується в інтерфейсі macOS Skills.
homepage
string
Необов’язкова URL-адреса, що показується як «Вебсайт» в інтерфейсі macOS Skills.
os
"darwin" | "linux" | "win32"
Фільтр платформи. Якщо задано, skill доступний лише на перелічених ОС.
requires.bins
string[]
Кожен бінарний файл має існувати в PATH.
requires.anyBins
string[]
Принаймні один бінарний файл має існувати в PATH.
requires.env
string[]
Кожна змінна середовища має існувати в процесі або бути надана через конфігурацію.
requires.config
string[]
Кожен шлях openclaw.json має бути truthy.
primaryEnv
string
Ім’я змінної середовища, пов’язане з skills.entries.<name>.apiKey.
install
object[]
Необов’язкові специфікації інсталяторів, які використовує інтерфейс macOS Skills (brew / node / go / uv / download).
Застарілі блоки metadata.clawdbot досі приймаються, коли metadata.openclaw відсутній, тому старіші встановлені skills зберігають свої обмеження залежностей і підказки інсталяторів. Нові skills мають використовувати metadata.openclaw.

Специфікації інсталяторів

Специфікації інсталяторів повідомляють інтерфейсу macOS Skills, як встановити залежність:
---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gemini-cli",
              "bins": ["gemini"],
              "label": "Install Gemini CLI (brew)",
            },
          ],
      },
  }
---
  • Коли перелічено кілька інсталяторів, gateway вибирає один бажаний варіант (brew, якщо доступний, інакше node).
  • Якщо всі інсталятори мають тип download, OpenClaw перелічує кожен запис, щоб ви могли бачити всі доступні артефакти.
  • Специфікації можуть містити os: ["darwin"|"linux"|"win32"] для фільтрації за платформою.
  • Інсталяції Node враховують skills.install.nodeManager у openclaw.json (типово: npm; варіанти: npm / pnpm / yarn / bun). Це впливає лише на інсталяції skills; середовище виконання Gateway все одно має бути Node.
  • Перевага інсталяторів Gateway: Homebrew → uv → налаштований менеджер node → go → download.
  • Homebrew: OpenClaw не встановлює Homebrew автоматично й не перетворює формули brew на команди системного менеджера пакетів. У Linux-контейнерах без brew інсталятори лише для brew приховано; використовуйте власний образ або встановіть залежність вручну.
  • Go: OpenClaw потребує Go 1.21 або новішого для автоматичних інсталяцій skills і зберігає наявні налаштування GOBIN, GOPATH і GOTOOLCHAIN. Якщо налаштований toolchain не може задовольнити потрібну версію Go для модуля, onboarding групує skill з ручними передумовами Go після спроби інсталяції. Якщо go відсутній, а Homebrew доступний, OpenClaw спочатку встановлює Go через Homebrew і встановлює GOBIN у bin Homebrew. У Linux OpenClaw натомість може використати apt-get від root або через безпарольний sudo, коли оновлений кандидат golang-go відповідає мінімальній версії.
  • Download: url (обов’язково), archive (tar.gz | tar.bz2 | zip), extract (типово: auto, коли виявлено архів), stripComponents, targetDir (типово: ~/.openclaw/tools/<skillKey>).
requires.bins перевіряється на host під час завантаження skill. Якщо агент працює в sandbox, бінарний файл також має існувати всередині контейнера. Установіть його через agents.defaults.sandbox.docker.setupCommand або власний образ. setupCommand виконується один раз після створення контейнера й потребує виходу в мережу, кореневої файлової системи з правом запису та користувача root у sandbox.

Перевизначення конфігурації

Перемикайте й налаштовуйте bundled або managed skills у skills.entries в ~/.openclaw/openclaw.json:
{
  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 вимикає skill, навіть якщо він bundled або installed. Bundled skill coding-agent є opt-in — задайте skills.entries.coding-agent.enabled: true і переконайтеся, що один із claude, codex, opencode або інший підтримуваний CLI встановлено й автентифіковано.
apiKey
string | { source, provider, id }
Зручне поле для skills, які оголошують metadata.openclaw.primaryEnv. Підтримує plaintext-рядок або об’єкт SecretRef.
env
Record<string, string>
Змінні середовища, що інжектуються для запуску агента. Інжектуються лише тоді, коли змінну ще не встановлено в процесі.
config
object
Необов’язковий контейнер для власних полів конфігурації для окремого skill.
allowBundled
string[]
Необов’язковий allowlist лише для bundled skills. Якщо задано, доступні лише bundled skills зі списку. Managed і workspace skills не зачіпаються.
Ключі конфігурації типово відповідають імені skill. Якщо skill визначає metadata.openclaw.skillKey, використовуйте цей ключ у skills.entries. Беріть імена з дефісами в лапки: JSON5 дозволяє ключі в лапках.

Інжекція середовища

Коли запуск агента починається, OpenClaw:
1

Читає метадані skill

OpenClaw визначає ефективний список skills для агента, застосовуючи правила обмеження доступності, allowlists і перевизначення конфігурації.
2

Інжектує env і API-ключі

skills.entries.<key>.env і skills.entries.<key>.apiKey застосовуються до process.env на час виконання запуску.
3

Будує system prompt

Доступні skills компілюються в компактний XML-блок і інжектуються в system prompt.
4

Відновлює середовище

Після завершення запуску початкове середовище відновлюється.
Інжекція env обмежена запуском агента на host, а не sandbox. Усередині sandbox env і apiKey не мають ефекту. Див. Конфігурація Skills, щоб дізнатися, як передавати secrets у sandboxed-запуски.
Для bundled backend claude-cli OpenClaw також матеріалізує той самий знімок доступних skills як тимчасовий Claude Code plugin і передає його через --plugin-dir. Інші CLI backends використовують лише каталог prompt.

Знімки й оновлення

OpenClaw робить знімок доступних skills коли починається сесія і повторно використовує цей список для всіх наступних ходів у сесії. Зміни в skills або конфігурації набувають чинності в наступній новій сесії. Skills оновлюються посеред сесії у двох випадках:
  • watcher skills виявляє зміну SKILL.md.
  • Під’єднується новий доступний remote node.
Оновлений список використовується на наступному ході агента. Якщо ефективний allowlist агента змінюється, OpenClaw оновлює знімок, щоб видимі skills залишалися узгодженими.
Типово OpenClaw стежить за папками skills і підвищує версію знімка, коли файли SKILL.md змінюються. Налаштування в skills.load:
{
  skills: {
    load: {
      extraDirs: ["~/Projects/agent-scripts/skills"],
      allowSymlinkTargets: ["~/Projects/manager/skills"],
      watch: true,
      watchDebounceMs: 250,
    },
  },
}
Використовуйте allowSymlinkTargets для навмисних symlinked-layouts, де symlink кореня skill вказує за межі налаштованого кореня, наприклад <workspace>/skills/manager -> ~/Projects/manager/skills. Увімкніть skills.workshop.allowSymlinkTargetWrites лише тоді, коли Skill Workshop також має застосовувати пропозиції через ці довірені symlinked-шляхи.
Якщо Gateway працює на Linux, але під’єднано вузол macOS із дозволеним system.run, OpenClaw може вважати skills лише для macOS доступними, коли потрібні бінарні файли присутні на цьому вузлі. Агент має запускати ці skills через інструмент exec з host=node.Offline-вузли не роблять skills лише для віддалених вузлів видимими. Якщо вузол перестає відповідати на bin probes, OpenClaw очищає його кешовані збіги bin.

Вплив на токени

Коли skills доступні, OpenClaw інжектує компактний XML-блок у system prompt. Вартість детермінована:
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))
  • Базові накладні витрати (лише коли ≥ 1 skill): ~195 символів
  • На skill: ~97 символів + довжини ваших полів name, description і location
  • XML-екранування розгортає & < > " ' в entities, додаючи кілька символів на кожну появу
  • За ~4 символи/токен, 97 символів ≈ 24 токени на skill до врахування довжин полів
Тримайте описи короткими й інформативними, щоб мінімізувати накладні витрати prompt.

Пов’язане

Створення skills

Покроковий посібник зі створення власного skill.

Skill Workshop

Черга пропозицій для skills, підготовлених агентом.

Конфігурація Skills

Повна схема конфігурації skills.* і allowlists агентів.

Slash-команди

Як slash-команди skill реєструються й маршрутизуються.

ClawHub

Переглядайте й публікуйте skills у публічному registry.

Plugins

Plugins можуть постачати skills разом з інструментами, які вони документують.