$npx -y skills add AlekseiUL/agentforge-openclaw --skill agentforge-openclawСоздание, улучшение и аудит скиллов и агентов OpenClaw. Три режима: создание скилла (11 шагов), создание агента (9 шагов, с памятью и автоулучшением), улучшение существующего (5 шагов). Triggers: 'создай скилл', 'новый скилл', 'создай агента', 'новый агент', 'улучши скилл', 'skil
| 1 | # AgentForge 🔧 |
| 2 | |
| 3 | Создание и улучшение скиллов и агентов OpenClaw. Лучшие практики + боевой опыт с десятками скиллов и агентов. Агенты: от базового (5 мин) до полноценного рабочего (с памятью, автоулучшением, командой). |
| 4 | |
| 5 | **Шаблоны файлов агента:** `references/agent-templates.md` |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## Быстрый старт |
| 10 | |
| 11 | ### Скилл за 5 минут: |
| 12 | 1. `mkdir skills/<имя>/` → создать `SKILL.md` с frontmatter (name, description) + алгоритм + 2 примера |
| 13 | 2. Готово. Скилл подхватится автоматически (hot-reload) |
| 14 | |
| 15 | ### Агент за 5 минут: |
| 16 | 1. Добавить в `agents.list[]` в openclaw.json (id, name, model, workspace, tools.deny) |
| 17 | 2. `mkdir -p ~/.openclaw/agents/<id>/agent` + `AGENTS.md` с ролью |
| 18 | 3. Перезапустить gateway (через config.patch или `openclaw gateway restart`) |
| 19 | |
| 20 | **Нужно по шагам? Читай дальше.** |
| 21 | |
| 22 | --- |
| 23 | |
| 24 | ## Режим A: СКИЛЛ |
| 25 | |
| 26 | ### Шаг 1. Онбординг (2-4 вопроса, по одному) |
| 27 | |
| 28 | 1. Что скилл должен делать? Конкретный пример использования |
| 29 | 2. Когда активировать? (триггерные фразы) |
| 30 | 3. Нужны ли скрипты, данные, внешние API? |
| 31 | 4. Публичный (для подписчиков) или внутренний? |
| 32 | |
| 33 | ### Шаг 2. Определи тип скилла |
| 34 | |
| 35 | **Workflow** (пошаговый процесс) - если задача = последовательность действий. |
| 36 | → Пример: deep-research-pro (5 шагов: уточнение → поиск → синтез → отчёт) |
| 37 | |
| 38 | **Role** (экспертная роль) - если задача = "отвечай как специалист X". |
| 39 | → Пример: copywriter (пиши как владелец, вот стиль, вот примеры) |
| 40 | |
| 41 | **Data-driven** (работа с данными) - если нужны конкретные факты/профили. |
| 42 | → Пример: auto-mechanic (профиль машины в data/, логика диагностики в SKILL.md) |
| 43 | |
| 44 | **Гибрид** - комбинация. Пример: family-doctor = Role + Data (роль врача + медпрофили в data/). |
| 45 | |
| 46 | ### Шаг 3. Планирование структуры |
| 47 | |
| 48 | **В зависимости от типа (шаг 2):** |
| 49 | - **Workflow** → обычно хватит одного `SKILL.md` (вся логика помещается в core) |
| 50 | - **Role** → `SKILL.md` + `references/` (словарь стиля, примеры голоса, правила) |
| 51 | - **Data-driven** → `SKILL.md` + `data/` (профили, базы, справочники) |
| 52 | - **Гибрид** → `SKILL.md` + `references/` + `data/` (по необходимости) |
| 53 | |
| 54 | Также могут понадобиться: |
| 55 | - `scripts/` - Python/Bash для повторяемых операций |
| 56 | - `assets/` - шаблоны, изображения |
| 57 | |
| 58 | **Пропорции:** |
| 59 | - SKILL.md: 100-300 строк (мета-скиллы и сложные workflow до 350) |
| 60 | - Примеры: 2-3 конкретных |
| 61 | - Данные в `data/`, НЕ в `memory/`! |
| 62 | |
| 63 | ### Шаг 4. Инициализация |
| 64 | |
| 65 | Просто создай папку и SKILL.md вручную: |
| 66 | ```bash |
| 67 | mkdir -p skills/<имя>/ |
| 68 | ``` |
| 69 | Если установлен скилл skill-creator, можно автоматически: `python3 $(npm root -g)/openclaw/skills/skill-creator/scripts/init_skill.py <name> --path ~/skills/` |
| 70 | |
| 71 | ### Шаг 5. Написание SKILL.md |
| 72 | |
| 73 | **Frontmatter (обязательно):** |
| 74 | ```yaml |
| 75 | --- |
| 76 | name: имя-скилла |
| 77 | description: "Что делает + когда использовать. Triggers: 'фраза1', 'фраза2'." |
| 78 | --- |
| 79 | ``` |
| 80 | Допустимые поля: `name`, `description`, `allowed-tools`, `license`, `metadata`. Поле `version` НЕ поддерживается! |
| 81 | |
| 82 | **5 принципов:** |
| 83 | 1. **Только уникальное** - не пиши то, что модель и так знает |
| 84 | 2. **Примеры > теория** - один пример лучше абзаца объяснений |
| 85 | 3. **Детали отдельно** - основное в SKILL.md, подробности в `references/` |
| 86 | 4. **Триггеры в description** - body грузится ПОСЛЕ триггера, "когда использовать" пиши в frontmatter |
| 87 | 5. **Императив** - "Найди", "Отправь", не "Можно найти" |
| 88 | |
| 89 | **Шаблон body (выбери по типу из шага 2):** |
| 90 | |
| 91 | Workflow: |
| 92 | ``` |
| 93 | # Название → Алгоритм (шаги) → Примеры → Ограничения |
| 94 | ``` |
| 95 | |
| 96 | Role: |
| 97 | ``` |
| 98 | # Название → Роль (кто ты) → Правила стиля → Примеры ответов → Чего НЕ делать |
| 99 | ``` |
| 100 | |
| 101 | Data-driven: |
| 102 | ``` |
| 103 | # Название → Где данные → Алгоритм работы с данными → Как обновлять → Примеры |
| 104 | ``` |
| 105 | |
| 106 | ### Шаг 6. Черновик → одобрение |
| 107 | |
| 108 | **Покажи черновик владельцу ПЕРЕД финализацией.** Формат: |
| 109 | |
| 110 | ``` |
| 111 | 📝 Черновик скилла: [имя] |
| 112 | Тип: [workflow/role/data-driven/гибрид] |
| 113 | Что делает: [2-3 предложения] |
| 114 | Структура: SKILL.md + [references/ | data/ | scripts/] |
| 115 | Пример вызова: "[фраза]" → [что получится] |
| 116 | ``` |
| 117 | |
| 118 | Дождись "ок" или правок. Лучше поправить черновик за 2 минуты, чем переделывать готовый скилл. |
| 119 | |
| 120 | ### Шаг 7. Проверка качества |
| 121 | |
| 122 | ```bash |
| 123 | python3 $(npm root -g)/openclaw/skills/skill-creator/scripts/quick_validate.py skills/<имя>/ |
| 124 | ``` |
| 125 | |
| 126 | Ручная проверка: |
| 127 | - [ ] Работает без внешних знаний (self-contained) |
| 128 | - [ ] Примеры реалистичные |
| 129 | - [ ] Нет TODO, заглушек |
| 130 | - [ ] Размер адекватный задаче |
| 131 | - [ ] Триггеры покрывают варианты обращения |
| 132 | |
| 133 | ### Шаг 8. Аудит безопасности (для публичных) |
| 134 | |
| 135 | ```bash |
| 136 | grep -ri "ваше-имя\|ваш-ник\|ваш-город\|ваш-id\|Desktop/ваша-папка" SKILL-public.md |
| 137 | ``` |
| 138 | Результат = 0 строк. |
| 139 | |
| 140 | Чеклист: нет личных данных, нет локальных путей, нет внутренних названий, нет ключей/токенов, model-agnostic. |
| 141 | |
| 142 | ### Шаг 9. Тест |
| 143 | |
| 144 | 1. Вызвать скилл с реальным запросом |
| 145 | 2. Edge cases: пустой ввод, нестандартный запрос |
| 146 | 3. Если контент - проверить стиль |
| 147 | 4. Если команды - пр |