Урок 11 из 14•12 мин
Продвинутые навыки
Цели урока
После прохождения этого урока вы сможете:
- 1Научиться создавать собственные навыки (AgentSkills)
- 2Понять формат skill.yaml
- 3Освоить автоматизацию через цепочки навыков
- 4Настроить расписание для повторяющихся задач
Создание собственных навыков
Мощь OpenClaw — в его расширяемости. Если встроенных навыков недостаточно, вы можете создать свои собственные. Навык описывается в формате YAML и может включать произвольную логику на Python, JavaScript или shell-скриптах.
Структура skill.yaml
yaml
# ~/.openclaw/skills/daily-digest/skill.yaml
name: daily-digest
version: 1.0.0
description: Ежедневный дайджест новостей по заданным темам
author: your-name
# Параметры, которые принимает навык
params:
topics:
type: list
description: Список тем для мониторинга
required: true
sources:
type: list
description: Источники новостей
default: ["techcrunch.com", "theverge.com", "habr.com"]
max_items:
type: number
description: Максимальное количество новостей
default: 10
# Действия навыка
actions:
- type: web_search
query: "{{topic}} news today"
for_each: topics
- type: summarize
max_length: 200
- type: format
template: markdown
- type: send_message
channel: defaultУстановка навыка
bash
# Установить навык из локальной директории
openclaw skill install ./daily-digest
# Установить из GitHub
openclaw skill install github:username/daily-digest-skill
# Список установленных навыков
openclaw skill list
# Протестировать навык
openclaw skill test daily-digest --topics "AI,robotics"Цепочки навыков (Workflows)
Для сложных автоматизаций вы можете объединять навыки в цепочки — workflows. Каждый шаг может использовать результат предыдущего.
yaml
# ~/.openclaw/workflows/morning-routine.yaml
name: morning-routine
schedule: "0 8 * * *" # Каждый день в 8:00
steps:
- skill: daily-digest
params:
topics: ["AI", "startups", "tech"]
max_items: 5
output: digest
- skill: calendar-check
params:
range: today
output: meetings
- skill: weather
params:
city: Moscow
output: weather
- skill: compose-message
params:
template: |
Доброе утро! Вот ваша сводка:
Погода: {{weather.summary}}
Встречи сегодня:
{{meetings.formatted}}
Новости:
{{digest.formatted}}
output: message
- skill: send-telegram
params:
text: "{{message}"Расписание задач
OpenClaw поддерживает cron-синтаксис для запуска задач по расписанию. Это превращает агента в полноценный планировщик.
| Расписание | Cron | Описание |
|---|---|---|
| Каждое утро | 0 8 * * * | Запуск в 8:00 каждый день |
| Каждый час | 0 * * * * | Каждый час, в 0 минут |
| По будням | 0 9 * * 1-5 | В 9:00, пн-пт |
| Раз в неделю | 0 10 * * 1 | Каждый понедельник в 10:00 |
| Дважды в день | 0 8,20 * * * | В 8:00 и 20:00 |
bash
# Запланировать workflow
openclaw schedule add morning-routine
# Список запланированных задач
openclaw schedule list
# Удалить задачу из расписания
openclaw schedule remove morning-routineНачните с простого навыка из 2-3 шагов. Когда убедитесь, что он работает стабильно, расширяйте функциональность. Тестируйте навыки с openclaw skill test перед установкой по расписанию.
