Skills
Skills
Skills — це файли інструкцій у форматі Markdown, які навчають агента, як і коли використовувати
інструменти. Кожна навичка міститься в каталозі з файлом SKILL.md, що має YAML
frontmatter і тіло у форматі Markdown. OpenClaw завантажує вбудовані навички разом із локальними
перевизначеннями та фільтрує їх під час завантаження на основі середовища, конфігурації й
наявності бінарних файлів.
Створіть і протестуйте власну навичку з нуля.
Переглядайте та затверджуйте проєкти пропозицій навичок, підготовлені агентом.
Повна схема конфігурації skills.* і списки дозволів агентів.
Переглядайте та встановлюйте навички спільноти.
Порядок завантаження
OpenClaw завантажує дані з наведених нижче джерел, починаючи з найвищого пріоритету. Коли однакова назва навички трапляється в кількох місцях, перемагає джерело з найвищим пріоритетом.
| Пріоритет | Джерело | Шлях |
|---|---|---|
| 1 — найвищий | Навички робочого простору | <workspace>/skills |
| 2 | Навички агента проєкту | <workspace>/.agents/skills |
| 3 | Особисті навички агента | ~/.agents/skills |
| 4 | Керовані / локальні навички | ~/.openclaw/skills |
| 5 | Вбудовані навички | постачаються разом із пакетом інсталяції |
| 6 — найнижчий | Додаткові каталоги | skills.load.extraDirs + навички Plugin |
Кореневі каталоги навичок підтримують згруповану структуру. OpenClaw виявляє навичку, якщо
SKILL.md розташований будь-де в налаштованому кореневому каталозі (до 6 рівнів углиб):
<workspace>/skills/research/SKILL.md ✓ знайдено як "research"<workspace>/skills/personal/research/SKILL.md ✓ також знайдено як "research"Шлях до папки призначений лише для організації. Назва навички та її команда з косою рискою
беруться з поля name у frontmatter (або з назви каталогу, якщо name
відсутнє). Списки дозволів агентів (нижче) також зіставляються за цим name.
Навички, розміщені на Node
Підключений Node без графічного інтерфейсу може публікувати навички, установлені в його активному каталозі
навичок OpenClaw (~/.openclaw/skills за замовчуванням; застосовуються перевизначення
середовища профілю). Вони з’являються у звичайному списку навичок агента, доки Node підключений,
і зникають після його відключення. У разі конфлікту локальна навичка або навичка Gateway зберігає свою назву;
навичка Node отримує детерміновану назву з префіксом Node.
Для версії 1 навичок на Node назва каталогу має збігатися з полем name
у frontmatter навички.
Запис навички містить локатор Node. Її файли, відносні посилання та
бінарні файли розміщені на Node, тому завантажуйте й виконуйте її за допомогою
exec host=node node=<node-id>. Після зміни файлів навички перезапустіть хост Node.
Відомості про сполучення й перемикачі вимкнення див. у розділі Вузли.
Навички окремого агента та спільні навички
У конфігураціях із кількома агентами кожен агент має власний робочий простір. Використовуйте шлях, що відповідає бажаній видимості:
| Область | Шлях | Кому видима |
|---|---|---|
| Окремий агент | <workspace>/skills |
Лише цьому агенту |
| Агент проєкту | <workspace>/.agents/skills |
Лише агенту цього робочого простору |
| Особистий агент | ~/.agents/skills |
Усім агентам на цьому комп’ютері |
| Спільні керовані навички | ~/.openclaw/skills |
Усім агентам на цьому комп’ютері |
| Додаткові каталоги | skills.load.extraDirs |
Усім агентам на цьому комп’ютері |
Списки дозволів агентів
Розташування навички (пріоритет) і видимість навички (який агент може її використовувати) — це окремі механізми керування. Використовуйте списки дозволів, щоб обмежити, які навички бачить агент, незалежно від того, звідки їх завантажено.
{ agents: { defaults: { skills: ["github", "weather"], // спільний базовий набір }, list: [ { id: "writer" }, // успадковує github, weather { id: "docs", skills: ["docs-search"] }, // повністю замінює значення за замовчуванням { id: "locked-down", skills: [] }, // без навичок ], },}Правила списків дозволів
- Не вказуйте
agents.defaults.skills, щоб за замовчуванням не обмежувати жодні навички. - Не вказуйте
agents.list[].skills, щоб успадкуватиagents.defaults.skills. - Установіть
agents.list[].skills: [], щоб не надавати цьому агенту жодних навичок. - Непорожній список
agents.list[].skillsє остаточним набором — він не об’єднується зі значеннями за замовчуванням. - Чинний список дозволів застосовується під час формування промпту, виявлення команд із косою рискою, синхронізації пісочниці та створення знімків навичок.
- Це не межа авторизації оболонки хоста. Якщо той самий агент може
використовувати
exec, окремо обмежте цю оболонку за допомогою пісочниці, ізоляції користувача ОС, списків заборон і дозволів для exec та облікових даних для окремих ресурсів.
Plugins і навички
Plugins можуть постачати власні навички, указуючи каталоги skills у
openclaw.plugin.json (шляхи відносно кореня Plugin). Навички Plugin завантажуються,
коли Plugin увімкнено — наприклад, браузерний Plugin постачає навичку
browser-automation для багатоетапного керування браузером.
Каталоги навичок Plugin об’єднуються на тому самому рівні низького пріоритету, що й
skills.load.extraDirs, тому вбудована, керована навичка, навичка агента або робочого простору
з такою самою назвою перевизначає їх. Умови придатності самої навички Plugin задавайте через
metadata.openclaw.requires у її frontmatter, як і для будь-якої іншої навички.
Повний опис системи Plugin див. у розділах Plugins та Інструменти.
Майстерня навичок
Майстерня навичок — це черга пропозицій між агентом
і вашими активними файлами навичок. Коли агент виявляє роботу, яку можна повторно використовувати, він створює
проєкт пропозиції замість прямого запису до SKILL.md. Ви переглядаєте й затверджуєте його,
перш ніж щось зміниться.
openclaw skills workshop listopenclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Повний життєвий цикл, довідку CLI і конфігурацію див. у розділі Майстерня навичок.
Установлення з ClawHub
ClawHub — це публічний реєстр навичок. Використовуйте
команди 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 |
Відомості про встановлення
openclaw skills install за замовчуванням установлює навички до каталогу skills/
активного робочого простору. Додайте --global, щоб установити їх до спільного каталогу
~/.openclaw/skills, видимого всім локальним агентам, якщо списки дозволів агентів
не звужують цю видимість.
Для встановлення з Git і локальних джерел файл SKILL.md має бути в корені джерела. Ідентифікатор береться
з поля name у frontmatter 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
Кожна навичка має містити у frontmatter щонайменше name і description:
---name: image-labdescription: Генерування або редагування зображень за допомогою робочого процесу зображень, підтримуваного постачальником--- Коли користувач просить згенерувати зображення, використовуйте інструмент `image_generate`...Необов’язкові ключі frontmatter
homepagestringURL-адреса, що відображається як "Website" в інтерфейсі Skills для macOS.
Також підтримується через metadata.openclaw.homepage.
user-invocablebooleandefault: trueЯкщо значення true, Skills доступна як слеш-команда, яку може викликати користувач.
disable-model-invocationbooleandefault: falseЯкщо значення true, OpenClaw не додає інструкції Skills до звичайного
запиту агента. Skills усе одно доступна як слеш-команда, якщо
user-invocable також має значення true.
command-dispatch"tool"Якщо встановлено значення tool, слеш-команда оминає модель і передається
безпосередньо зареєстрованому інструменту.
command-toolstringНазва інструмента, який потрібно викликати, якщо встановлено command-dispatch: tool.
command-arg-mode"raw"default: rawДля передавання інструменту пересилає необроблений рядок аргументів без
аналізу ядром. Інструмент отримує
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
Умови доступності
OpenClaw фільтрує Skills під час завантаження за допомогою metadata.openclaw
(об’єкта JSON5, вбудованого у frontmatter; див. примітку про аналіз вище).
Skills без блоку metadata.openclaw завжди доступна, якщо її явно не вимкнено.
---name: image-labdescription: Generate or edit images via a provider-backed image workflowmetadata: { "openclaw": { "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] }, "primaryEnv": "GEMINI_API_KEY", }, }---alwaysbooleanЯкщо значення true, завжди включати Skills та пропускати всі інші перевірки.
emojistringНеобов’язковий емодзі, що відображається в інтерфейсі Skills для macOS.
homepagestringНеобов’язкова URL-адреса, що відображається як "Website" в інтерфейсі Skills для macOS.
os("darwin" | "linux" | "win32")[]Фільтр платформи. Якщо його задано, Skills доступна лише у вказаних ОС.
requires.binsstring[]Кожен виконуваний файл має існувати в PATH.
requires.anyBinsstring[]Принаймні один виконуваний файл має існувати в PATH.
requires.envstring[]Кожна змінна середовища має існувати в процесі або бути надана через конфігурацію.
requires.configstring[]Кожен шлях openclaw.json повинен мати істинне значення.
primaryEnvstringНазва змінної середовища, пов’язаної з skills.entries.<name>.apiKey.
installobject[]Необов’язкові специфікації інсталяторів, які використовує інтерфейс Skills для macOS (brew / node / go / uv / download).
Специфікації інсталяторів
Специфікації інсталяторів повідомляють інтерфейсу Skills для macOS, як установити залежність:
---name: geminidescription: 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: Для автоматичного встановлення Skills OpenClaw потребує Go 1.21
або новішої версії. Якщо
goвідсутній, а Homebrew доступний, OpenClaw спочатку встановлює Go через Homebrew; у Linux без Homebrew натомість можна використатиapt-getвід імені root або черезsudoбез пароля, якщо оновлений кандидатgolang-goвідповідає вимогам до мінімальної версії. Фактична командаgo installдля залежності завжди використовує окремий каталог виконуваних файлів, яким керує OpenClaw (binHomebrew для нової інсталяції, інакше~/.local/bin), а не налаштований вамиGOBIN— ваші власні змінні середовищаGOBIN,GOPATHіGOTOOLCHAINзчитуються, але ніколи не перезаписуються. - Завантаження:
url(обов’язково),archive(tar.gz|tar.bz2|zip),extract(типове значення: автоматично, якщо виявлено архів),stripComponents,targetDir(типове значення:~/.openclaw/tools/<skillKey>).
Примітки щодо ізоляції
requires.bins перевіряється на хості під час завантаження Skills. Якщо
агент працює в ізольованому середовищі, виконуваний файл також має існувати
всередині контейнера. Установіть його через
agents.defaults.sandbox.docker.setupCommand або власний образ.
setupCommand виконується один раз після створення контейнера й потребує
вихідного доступу до мережі, кореневої файлової системи з правом запису та
користувача root в ізольованому середовищі.
Перевизначення конфігурації
Вмикайте та налаштовуйте вбудовані або керовані 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 }, }, },}enabledbooleanfalse вимикає Skills, навіть якщо вона вбудована або встановлена. Вбудована
Skills coding-agent потребує явного ввімкнення — задайте
skills.entries.coding-agent.enabled: true і переконайтеся, що claude,
codex, opencode або інший підтримуваний CLI встановлено й автентифіковано.
apiKeystring | { source, provider, id }Допоміжне поле для Skills, що оголошують metadata.openclaw.primaryEnv.
Підтримує текстовий рядок або об’єкт SecretRef.
env"Record<string,configobjectНеобов’язковий набір власних полів конфігурації для окремої Skills.
allowBundledstring[]Необов’язковий список дозволених лише для вбудованих Skills. Якщо його задано, доступні лише вбудовані Skills зі списку. На керовані Skills і Skills робочого простору це не впливає.
Додавання змінних середовища
Коли починається запуск агента, OpenClaw:
Зчитує метадані Skills
OpenClaw визначає чинний список Skills для агента, застосовуючи правила доступності, списки дозволених і перевизначення конфігурації.
Додає змінні середовища та ключі API
skills.entries.<key>.env і skills.entries.<key>.apiKey застосовуються до
process.env на час виконання.
Формує системний запит
Доступні Skills компонуються в компактний блок XML і додаються до системного запиту.
Відновлює середовище
Після завершення виконання початкове середовище відновлюється.
Для вбудованого бекенду claude-cli OpenClaw також матеріалізує той самий
знімок доступних Skills як тимчасовий Plugin Claude Code і передає його через
--plugin-dir. Інші бекенди CLI використовують лише каталог у запиті.
Знімки та оновлення
OpenClaw створює знімок доступних Skills на початку сеансу й повторно використовує цей список для всіх наступних ходів у сеансі. Зміни Skills або конфігурації набувають чинності в наступному новому сеансі.
Skills оновлюються посеред сеансу у двох випадках:
- Спостерігач Skills виявляє зміну
SKILL.md. - Підключається новий доступний віддалений вузол.
Оновлений список використовується на наступному ході агента. Якщо чинний список дозволених для агента змінюється, OpenClaw оновлює знімок, щоб видимі Skills відповідали йому.
Спостерігач Skills
Типово OpenClaw стежить за папками Skills і оновлює знімок, коли
змінюються файли SKILL.md. Налаштування містяться в skills.load:
{ skills: { load: { extraDirs: ["~/Projects/agent-scripts/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], watch: true, // default watchDebounceMs: 250, // default }, },}Використовуйте allowSymlinkTargets для навмисних структур із символічними
посиланнями, у яких символічне посилання кореня Skills указує за межі
налаштованого кореня, наприклад
<workspace>/skills/manager -> ~/Projects/manager/skills.
Вмикайте skills.workshop.allowSymlinkTargetWrites лише тоді, коли
Майстерня Skills також має застосовувати пропозиції через ці довірені
шляхи із символічними посиланнями.
Віддалені вузли macOS (Gateway у Linux)
Якщо Gateway працює в Linux, але підключено вузол macOS із дозволеним
system.run, OpenClaw може вважати Skills лише для macOS доступними, коли
потрібні виконувані файли присутні на цьому вузлі. Агент має запускати ці
Skills через інструмент exec із host=node.
Вузли не в мережі не роблять видимими Skills, доступні лише віддалено. Якщо вузол перестає відповідати на перевірки виконуваних файлів, OpenClaw очищає кешовані збіги виконуваних файлів.
Вплив на кількість токенів
Коли Skills доступні, OpenClaw додає компактний блок XML до системного запиту. Вартість детермінована й лінійно зростає для кожної Skills:
- Базові накладні витрати (лише коли доступна принаймні одна Skills):
фіксований блок вступного тексту та обгортка
<available_skills>. - Для кожної Skills: приблизно 97 символів плюс довжина ваших полів
name,descriptionіlocation. - Екранування XML перетворює
& < > " 'на сутності, додаючи кілька символів для кожного входження. - За приблизного співвідношення 4 символи на токен, 97 символів ≈ 24 токени на кожну Skills без урахування довжини полів.
Якщо відтворений блок перевищуватиме налаштований бюджет промпту
(skills.limits.maxSkillsPromptChars), OpenClaw спочатку зберігає стільки
ідентифікаторів Skills (назву, розташування та версію), скільки вміщує
компактний формат без описів. Потім решта бюджету використовується для
скорочених описів. Якщо бюджету для описів не залишилося, їх пропущено. Коли
потрібне компактне форматування або скорочення списку, промпт містить примітку
з посиланням на openclaw skills check.
Робіть описи короткими й інформативними, щоб мінімізувати витрати промпту.
Пов’язане
Покроковий посібник зі створення власної Skills.
Черга пропозицій Skills, підготовлених агентами.
Повна схема конфігурації skills.* і списки дозволів для агентів.
Як реєструються та маршрутизуються команди Skills зі скісною рискою.
Переглядайте й публікуйте Skills у публічному реєстрі.
Плагіни можуть постачати Skills разом з інструментами, які вони документують.