Skills

Создание Skills

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

Создание первого навыка

  • Создайте каталог навыка

    Навыки хранятся в папке skills/ вашей рабочей области:

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

    Для удобства организации навыки можно группировать по вложенным папкам — имя навыка по-прежнему задаётся полем SKILL.md во frontmatter, а не путём к папке:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# имя навыка по-прежнему "hello-world", вызывается как /hello-world
  • Создайте SKILL.md

    Frontmatter определяет метаданные, а основная часть содержит инструкции для агента.

    markdown
    ---name: hello-worlddescription: Простой навык, который выводит приветствие.--- # Привет, мир Когда пользователь просит поприветствовать его, используйте инструмент `exec`, чтобы выполнить: ```bashecho "Привет от вашего пользовательского навыка!"
    Code
     Правила именования:- Для `name` используйте строчные буквы, цифры и дефисы.- Имя каталога должно совпадать со значением `name` во frontmatter.- `description` отображается агенту и при поиске слеш-команд —  оно должно занимать одну строку и содержать менее 160 символов.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLQo9Cx0LXQtNC40YLQtdGB0YwsINGH0YLQviDQvdCw0LLRi9C6INC30LDQs9GA0YPQttC10L0i ```bashopenclaw skills list

    По умолчанию OpenClaw отслеживает файлы SKILL.md в корневых каталогах навыков. Если отслеживание отключено или вы продолжаете существующий сеанс, начните новый, чтобы агент получил обновлённый список:

    bash
    # В чате — архивировать текущий сеанс и начать новый/new # Или перезапустить Gatewayopenclaw gateway restart
  • Протестируйте навык

    bash
    openclaw agent --message "give me a greeting"

    Или откройте чат и обратитесь к агенту напрямую. Используйте /skill hello-world, чтобы явно вызвать навык по имени.

  • Справочник по SKILL.md

    Обязательные поля

    Поле Описание
    name Уникальный идентификатор из строчных букв, цифр и дефисов
    description Однострочное описание, отображаемое агенту и в результатах поиска

    Необязательные ключи frontmatter

    Поле По умолчанию Описание
    user-invocable true Сделать навык доступным как пользовательскую слеш-команду
    disable-model-invocation false Не включать навык в системный промпт агента (он по-прежнему запускается через /skill)
    command-dispatch Установите tool, чтобы направлять слеш-команду непосредственно инструменту в обход модели
    command-tool Имя инструмента, вызываемого при заданном command-dispatch: tool
    command-arg-mode raw При перенаправлении инструменту передаёт исходную строку аргументов
    homepage URL, отображаемый как "Website" в интерфейсе Skills для macOS

    Описание полей условий загрузки (requires.bins, requires.env и других) см. в разделе Skills — условия загрузки.

    Использование {baseDir}

    Ссылайтесь на файлы внутри каталога навыка без жёстко заданных путей — агент разрешает {baseDir} относительно собственного каталога навыка:

    markdown
    Запустите вспомогательный скрипт по адресу `{baseDir}/scripts/run.sh`.

    Добавление условной активации

    Настройте условия, чтобы навык загружался только при наличии его зависимостей:

    markdown
    ---name: gemini-searchdescription: Поиск с помощью Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    Параметры условий загрузки
    Ключ Описание
    requires.bins Все исполняемые файлы должны существовать в PATH
    requires.anyBins В PATH должен существовать хотя бы один исполняемый файл
    requires.env Каждая переменная окружения должна существовать в процессе или конфигурации
    requires.config Каждый путь openclaw.json должен иметь истинное значение
    os Фильтр платформ: ["darwin"], ["linux"], ["win32"]
    always Установите true, чтобы пропустить все проверки и всегда включать навык

    Полный справочник: Skills — условия загрузки.

    Окружение и ключи API

    Свяжите ключ API с записью навыка в openclaw.json:

    json5
    {  skills: {    entries: {      "gemini-search": {        enabled: true,        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },      },    },  },}

    Ключ внедряется в процесс хоста только на время этого хода агента. Он не передаётся в песочницу — см. переменные окружения в песочнице.

    Создание предложения через Skill Workshop

    Для навыков, подготовленных агентом, или когда перед активацией навыка требуется проверка оператором, используйте предложения Skill Workshop, а не записывайте SKILL.md напрямую.

    bash
    # Предложить совершенно новый навыкopenclaw skills workshop propose-create \  --name "hello-world" \  --description "A simple skill that prints a greeting." \  --proposal ./PROPOSAL.md # Предложить обновление существующего навыкаopenclaw 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 и все необходимые поля условий загрузки metadata.openclaw. Добавьте URL homepage, если у вас есть страница проекта.

  • Установите автономный ClawHub CLI и войдите в систему

    bash
    npm i -g clawhubclawhub login
  • Опубликуйте навык

    bash
    clawhub skill publish ./path/to/hello-world

    Добавьте --version <version> или --owner <owner>, чтобы переопределить автоматически определённую версию или опубликовать навык от имени определённого владельца. Полный процесс, область владельца и другие команды обслуживания (clawhub sync, clawhub skill rename, ...) описаны в разделах ClawHub — публикация и ClawHub CLI.

  • Рекомендации

    Связанные разделы

    Was this useful?
    On this page

    On this page