Skill Workshop є експериментальним. Він вимкнений за замовчуванням, його евристики захоплення та підказки рецензента можуть змінюватися між випусками, а автоматичні записи слід використовувати лише в довірених робочих просторах після попереднього перегляду виводу режиму очікування. Skill Workshop — це процедурна пам’ять для workspace skills. Він дає змогу агенту перетворювати багаторазові робочі процеси, виправлення користувача, важко здобуті рішення та повторювані помилки на файлиDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
SKILL.md у:
- Пам’ять зберігає факти, уподобання, сутності та минулий контекст.
- Skills зберігають багаторазові процедури, яких агент має дотримуватися в майбутніх завданнях.
- Skill Workshop — це міст від корисного ходу до довготривалої workspace skill із перевірками безпеки та необов’язковим затвердженням.
- як перевіряти анімовані GIF-ресурси, отримані із зовнішніх джерел
- як замінювати ресурси скриншотів і перевіряти розміри
- як запускати специфічний для репозиторію сценарій QA
- як налагоджувати повторюваний збій провайдера
- як виправляти застарілу локальну нотатку робочого процесу
- фактів на кшталт “the user likes blue”
- широкої автобіографічної пам’яті
- архівування необроблених транскриптів
- секретів, облікових даних або прихованого тексту підказок
- одноразових інструкцій, які не повторюватимуться
Стан за замовчуванням
Bundled plugin є експериментальним і вимкненим за замовчуванням, якщо його явно не ввімкнено вplugins.entries.skill-workshop.
Маніфест plugin не встановлює enabledByDefault: true. Значення за замовчуванням enabled: true у схемі конфігурації plugin застосовується лише після того, як запис plugin уже вибрано та завантажено.
Експериментальний означає:
- plugin підтримується достатньо для opt-in тестування та dogfooding
- сховище пропозицій, пороги рецензента та евристики захоплення можуть розвиватися
- очікування затвердження є рекомендованим початковим режимом
- автоматичне застосування призначене для довірених персональних або робочих налаштувань, а не для спільних чи ворожих середовищ із великою кількістю вхідних даних
Увімкнення
Мінімальна безпечна конфігурація:- інструмент
skill_workshopдоступний - явні багаторазові виправлення додаються в чергу як пропозиції, що очікують
- проходи рецензента на основі порогів можуть пропонувати оновлення skill
- жоден файл skill не записується, доки пропозицію, що очікує, не буде застосовано
approvalPolicy: "auto" усе ще використовує той самий сканер і шлях карантину. Він не застосовує пропозиції з критичними знахідками.
Конфігурація
| Ключ | За замовчуванням | Діапазон / значення | Значення |
|---|---|---|---|
enabled | true | boolean | Вмикає plugin після завантаження запису plugin. |
autoCapture | true | boolean | Вмикає захоплення/перегляд після успішних ходів агента. |
approvalPolicy | "pending" | "pending", "auto" | Додає пропозиції в чергу або автоматично записує безпечні пропозиції. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Вибирає захоплення явних виправлень, рецензента LLM, обидва варіанти або жоден. |
reviewInterval | 15 | 1..200 | Запускає рецензента після такої кількості успішних ходів. |
reviewMinToolCalls | 8 | 1..500 | Запускає рецензента після такої кількості спостережених викликів інструментів. |
reviewTimeoutMs | 45000 | 5000..180000 | Тайм-аут для вбудованого запуску рецензента. |
maxPending | 50 | 1..200 | Максимум пропозицій, що очікують або перебувають у карантині, які зберігаються для кожного робочого простору. |
maxSkillBytes | 40000 | 1024..200000 | Максимальний розмір згенерованого skill/support file. |
Шляхи захоплення
Skill Workshop має три шляхи захоплення.Пропозиції інструментів
Модель може викликатиskill_workshop напряму, коли бачить багаторазову процедуру або коли користувач просить її зберегти чи оновити skill.
Це найявніший шлях, і він працює навіть із autoCapture: false.
Евристичне захоплення
КолиautoCapture увімкнено, а reviewMode має значення heuristic або hybrid, plugin сканує успішні ходи на наявність явних фраз виправлення від користувача:
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- завдання з анімованими GIF ->
animated-gif-workflow - завдання зі скриншотами або ресурсами ->
screenshot-asset-workflow - завдання QA або сценаріїв ->
qa-scenario-workflow - завдання GitHub PR ->
github-pr-workflow - запасний варіант ->
learned-workflows
Рецензент LLM
КолиautoCapture увімкнено, а reviewMode має значення llm або hybrid, plugin запускає компактного вбудованого рецензента після досягнення порогів.
Рецензент отримує:
- текст нещодавнього транскрипта, обмежений останніми 12 000 символами
- до 12 наявних workspace skills
- до 2 000 символів із кожної наявної skill
- інструкції лише у форматі JSON
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" }, або одну пропозицію. Поле action має значення create, append або replace - віддавайте перевагу append/replace, коли релевантна skill уже існує; використовуйте create лише коли жодна наявна skill не підходить.
Приклад create:
append додає section + body. replace замінює oldText на newText у вказаній skill.
Життєвий цикл пропозиції
Кожне згенероване оновлення стає пропозицією з:idcreatedAtupdatedAtworkspaceDir- необов’язковим
agentId - необов’язковим
sessionId skillNametitlereasonsource:tool,agent_endабоreviewerstatuschange- необов’язковим
scanFindings - необов’язковим
quarantineReason
pending- очікує затвердженняapplied- записано до<workspace>/skillsrejected- відхилено оператором/моделлюquarantined- заблоковано критичними знахідками сканера
maxPending.
Довідник інструментів
Plugin реєструє один агентський інструмент:status
Підрахувати пропозиції за станом для активного робочого простору.
list_pending
Перелічити очікувані пропозиції.
status:
pendingappliedrejectedquarantined
list_quarantine
Перелічити ізольовані пропозиції.
skill-workshop: quarantined <skill>.
inspect
Отримати пропозицію за id.
suggest
Створити пропозицію. З approvalPolicy: "pending" (стандартно) це ставить її в чергу замість запису.
Request immediate write in auto mode (apply: true)
Request immediate write in auto mode (apply: true)
approvalPolicy: "pending" значення apply: true все одно ставить пропозицію в чергу. Перегляньте її, а потім використайте дію
apply після схвалення.Force pending under auto policy (apply: false)
Force pending under auto policy (apply: false)
Append to a named section
Append to a named section
Replace exact text
Replace exact text
apply
Застосувати очікувану пропозицію.
З approvalPolicy: "pending" ця дія запитує схвалення оператора перед записом
skill робочого простору.
apply відхиляє ізольовані пропозиції:
reject
Позначити пропозицію як відхилену.
write_support_file
Записати допоміжний файл у наявний або запропонований каталог skill.
Дозволені каталоги підтримки верхнього рівня:
references/templates/scripts/assets/
maxSkillBytes, скануються та записуються атомарно.
Записи Skill
Skill Workshop записує лише в:- переводяться в нижній регістр
- послідовності не
[a-z0-9_-]стають- - початкові/кінцеві неалфавітно-цифрові символи видаляються
- максимальна довжина становить 80 символів
- кінцева назва має відповідати
[a-z0-9][a-z0-9_-]{1,79}
create:
- якщо Skill не існує, Skill Workshop записує новий
SKILL.md - якщо він уже існує, Skill Workshop додає тіло до
## Workflow
append:
- якщо Skill існує, Skill Workshop додає текст до запитаного розділу
- якщо він не існує, Skill Workshop створює мінімальний Skill, а потім додає текст
replace:
- Skill уже має існувати
oldTextмає бути присутній точно- замінюється лише перший точний збіг
Модель безпеки
Skill Workshop має сканер безпеки для згенерованого вмістуSKILL.md і файлів
підтримки.
Критичні виявлення ізолюють пропозиції:
| Ідентифікатор правила | Блокує вміст, який… |
|---|---|
prompt-injection-ignore-instructions | каже агенту ігнорувати попередні/вищі інструкції |
prompt-injection-system | посилається на системні промпти, повідомлення розробника або приховані інструкції |
prompt-injection-tool | заохочує обходити дозволи/схвалення інструментів |
shell-pipe-to-shell | містить curl/wget, передані через pipe у sh, bash або zsh |
secret-exfiltration | схоже, надсилає дані env/process env через мережу |
| Ідентифікатор правила | Попереджає про… |
|---|---|
destructive-delete | широкі команди стилю rm -rf |
unsafe-permissions | використання дозволів стилю chmod 777 |
- зберігають
scanFindings - зберігають
quarantineReason - з’являються в
list_quarantine - не можуть бути застосовані через
apply
Настанови щодо промпта
Коли ввімкнено, Skill Workshop вставляє короткий розділ промпта, який каже агенту використовуватиskill_workshop для довготривалої процедурної пам’яті.
Настанови наголошують на:
- процедурах, а не фактах/уподобаннях
- виправленнях користувача
- неочевидних успішних процедурах
- повторюваних пастках
- ремонті застарілих/слабких/неправильних Skill через append/replace
- збереженні повторно використовуваної процедури після довгих циклів інструментів або складних виправлень
- короткому наказовому тексті Skill
- відсутності дампів транскрипту
approvalPolicy:
- режим pending: ставити пропозиції в чергу; використовувати
applyпісля явного схвалення - режим auto: застосовувати безпечні оновлення workspace-skill, якщо
apply: falseнатомість не ставить їх у чергу
Витрати та поведінка під час виконання
Евристичне захоплення не викликає модель. Перевірка LLM використовує вбудований запуск на активній/типовій моделі агента. Вона порогова, тому типово не запускається на кожному ході. Рецензент:- використовує той самий налаштований контекст провайдера/моделі, коли він доступний
- повертається до стандартних значень агента під час виконання
- має
reviewTimeoutMs - використовує полегшений bootstrap-контекст
- не має інструментів
- нічого не записує напряму
- може лише створити пропозицію, яка проходить звичайний шлях сканера та схвалення/ізоляції
Операційні шаблони
Використовуйте Skill Workshop, коли користувач каже:- “next time, do X”
- “from now on, prefer Y”
- “make sure to verify Z”
- “save this as a workflow”
- “this took a while; remember the process”
- “update the local skill for this”
- має форму транскрипту
- не є наказовою
- містить шумні одноразові деталі
- не каже наступному агенту, що робити
Налагодження
Перевірте, чи Plugin завантажено:| Симптом | Імовірна причина | Перевірка |
|---|---|---|
| Інструмент недоступний | Запис Plugin не ввімкнено | plugins.entries.skill-workshop.enabled and openclaw plugins list |
| Автоматична пропозиція не з’являється | autoCapture: false, reviewMode: "off" або пороги не досягнуто | Конфігурація, статус пропозицій, журнали Gateway |
| Евристика не захопила | Формулювання користувача не відповідало шаблонам виправлень | Використайте явний skill_workshop.suggest або ввімкніть LLM-рецензента |
| Рецензент не створив пропозицію | Рецензент повернув none, недійсний JSON або перевищив час очікування | Журнали Gateway, reviewTimeoutMs, пороги |
| Пропозицію не застосовано | approvalPolicy: "pending" | list_pending, потім apply |
| Пропозиція зникла з очікуваних | Повторну пропозицію використано повторно, обрізано максимум очікуваних або її застосовано/відхилено/ізольовано | status, list_pending з фільтрами статусу, list_quarantine |
| Файл Skill існує, але модель його пропускає | Знімок Skill не оновлено або gating Skill його виключає | статус openclaw skills і придатність Skill робочого простору |
skill-workshop: queued <skill>skill-workshop: applied <skill>skill-workshop: quarantined <skill>skill-workshop: heuristic capture skipped: ...skill-workshop: reviewer skipped: ...skill-workshop: reviewer found no update
QA-сценарії
QA-сценарії з repo:qa/scenarios/plugins/skill-workshop-animated-gif-autocreate.mdqa/scenarios/plugins/skill-workshop-pending-approval.mdqa/scenarios/plugins/skill-workshop-reviewer-autonomous.md
reviewMode: "llm" і виконує прохід вбудованого рецензента.
Коли не вмикати автоматичне застосування
УникайтеapprovalPolicy: "auto", коли:
- робочий простір містить чутливі процедури
- агент працює з ненадійним введенням
- Skills спільно використовуються широкою командою
- ви ще налаштовуєте промпти або правила сканера
- модель часто обробляє ворожий веб-/email-вміст