Skills
Створення Skills
Skills навчають агента, як і коли використовувати інструменти. Кожна навичка — це каталог,
що містить файл SKILL.md із YAML frontmatter та інструкціями markdown.
OpenClaw завантажує Skills із кількох коренів у визначеному порядку пріоритету.
Створіть свою першу навичку
Створіть каталог навички
Skills зберігаються у папці skills/ вашого робочого простору. Створіть каталог для своєї
нової навички:
mkdir -p ~/.openclaw/workspace/skills/hello-worldДля організації можна групувати Skills у підпапках — назву навички все одно
визначає frontmatter у SKILL.md, а не шлях до папки:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldНапишіть SKILL.md
Створіть SKILL.md усередині каталогу. Frontmatter визначає метадані;
тіло надає агенту інструкції.
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" Правила іменування:- Використовуйте малі літери, цифри та дефіси для `name`.- Узгоджуйте назву каталогу та `name` у frontmatter.- `description` показується агенту та у виявленні slash-команд — тримайте його в один рядок і до 160 символів. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLQn9C10YDQtdCy0ZbRgNGC0LUsINGJ0L4g0L3QsNCy0LjRh9C60YMg0LfQsNCy0LDQvdGC0LDQttC10L3QviI ```bashopenclaw skills listOpenClaw типово відстежує файли SKILL.md під коренями Skills. Якщо
спостерігач вимкнений або ви продовжуєте наявну сесію, почніть нову,
щоб агент отримав оновлений список:
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartПротестуйте її
Надішліть повідомлення, яке має активувати навичку:
openclaw agent --message "give me a greeting"Або відкрийте чат і зверніться до агента напряму. Використовуйте /skill hello-world,
щоб явно викликати її за назвою.
Довідник SKILL.md
Обов’язкові поля
| Поле | Опис |
|---|---|
name |
Унікальний slug із малих літер, цифр і дефісів |
description |
Однорядковий опис, який показується агенту та у виводі виявлення |
Необов’язкові ключі frontmatter
| Поле | Типово | Опис |
|---|---|---|
user-invocable |
true |
Показувати навичку як користувацьку slash-команду |
disable-model-invocation |
false |
Не включати навичку до системного prompt агента (вона все ще запускається через /skill) |
command-dispatch |
— | Встановіть tool, щоб спрямувати slash-команду безпосередньо до інструмента, оминаючи модель |
command-tool |
— | Назва інструмента для виклику, коли встановлено command-dispatch: tool |
command-arg-mode |
raw |
Для dispatch до інструмента передає сирий рядок аргументів інструменту |
homepage |
— | URL, що показується як "Вебсайт" в інтерфейсі Skills macOS |
Для полів gating (requires.bins, requires.env тощо) див.
Skills — Gating.
Використання {baseDir}
Використовуйте {baseDir} у тілі навички, щоб посилатися на файли всередині каталогу
навички без жорстко заданих шляхів:
Run the helper script at `{baseDir}/scripts/run.sh`.Додавання умовної активації
Обмежте навичку так, щоб вона завантажувалася лише тоді, коли доступні її залежності:
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Параметри gating
| Ключ | Опис |
|---|---|
requires.bins |
Усі виконувані файли мають існувати в PATH |
requires.anyBins |
Принаймні один виконуваний файл має існувати в PATH |
requires.env |
Кожна змінна env має існувати в процесі або конфігурації |
requires.config |
Кожен шлях openclaw.json має бути truthy |
os |
Фільтр платформи: ["darwin"], ["linux"], ["win32"] |
always |
Встановіть true, щоб пропустити всі gates і завжди включати навичку |
Повний довідник: Skills — Gating.
Середовище та ключі API
Прив’яжіть ключ API до запису навички в openclaw.json:
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}Ключ вводиться в процес host лише для цього ходу агента. Він не потрапляє до sandbox — див. sandboxed env vars.
Запропонуйте через Skill Workshop
Для Skills, підготовлених агентом, або коли потрібен перегляд оператором перед тим, як навичка стане
активною, використовуйте пропозиції Skill Workshop замість безпосереднього написання
SKILL.md.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"Використовуйте --proposal-dir, коли пропозиція містить допоміжні файли:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal-dir ./hello-world-proposal/Каталог має містити PROPOSAL.md. Допоміжні файли можна розміщувати в assets/,
examples/, references/, scripts/ або templates/.
Після перегляду:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Див. Skill Workshop, щоб ознайомитися з повним життєвим циклом пропозиції.
Публікація в ClawHub
Переконайтеся, що ваш SKILL.md повний
Переконайтеся, що name, description і будь-які поля gating metadata.openclaw
задані. Додайте URL homepage, якщо у вас є сторінка проєкту.
Встановіть навичку ClawHub
Навичка ClawHub документує поточну форму команди публікації та потрібні метадані:
openclaw skills install @openclaw/clawhub-publishОпублікуйте
clawhub publishДив. ClawHub — Публікація, щоб ознайомитися з повним процесом.
Найкращі практики
Пов’язане
Порядок завантаження, gating, allowlists і формат SKILL.md.
Черга пропозицій для Skills, підготовлених агентом.
Повна схема конфігурації skills.*.
Переглядайте та публікуйте Skills у публічному реєстрі.
Plugins можуть постачати Skills разом з інструментами, які вони документують.