Skills

Створення Skills

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

Створіть свою першу навичку

  • Створіть каталог навички

    Skills зберігаються у папці skills/ вашого робочого простору. Створіть каталог для своєї нової навички:

    bash
    mkdir -p ~/.openclaw/workspace/skills/hello-world

    Для організації можна групувати Skills у підпапках — назву навички все одно визначає frontmatter у SKILL.md, а не шлях до папки:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • Напишіть SKILL.md

    Створіть SKILL.md усередині каталогу. Frontmatter визначає метадані; тіло надає агенту інструкції.

    markdown
    ---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!"
    Code
     Правила іменування:- Використовуйте малі літери, цифри та дефіси для `name`.- Узгоджуйте назву каталогу та `name` у frontmatter.- `description` показується агенту та у виявленні slash-команд —  тримайте його в один рядок і до 160 символів.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLQn9C10YDQtdCy0ZbRgNGC0LUsINGJ0L4g0L3QsNCy0LjRh9C60YMg0LfQsNCy0LDQvdGC0LDQttC10L3QviI ```bashopenclaw skills list

    OpenClaw типово відстежує файли SKILL.md під коренями Skills. Якщо спостерігач вимкнений або ви продовжуєте наявну сесію, почніть нову, щоб агент отримав оновлений список:

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • Протестуйте її

    Надішліть повідомлення, яке має активувати навичку:

    bash
    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} у тілі навички, щоб посилатися на файли всередині каталогу навички без жорстко заданих шляхів:

    markdown
    Run the helper script at `{baseDir}/scripts/run.sh`.

    Додавання умовної активації

    Обмежте навичку так, щоб вона завантажувалася лише тоді, коли доступні її залежності:

    markdown
    ---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:

    json5
    {  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.

    bash
    # 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, коли пропозиція містить допоміжні файли:

    bash
    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/.

    Після перегляду:

    bash
    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 документує поточну форму команди публікації та потрібні метадані:

    bash
    openclaw skills install @openclaw/clawhub-publish
  • Опублікуйте

    bash
    clawhub publish

    Див. ClawHub — Публікація, щоб ознайомитися з повним процесом.

  • Найкращі практики

    Пов’язане

    Was this useful?
    On this page

    On this page