

























@@ -1,5 +1,5 @@
11---
2-title: "Skill Workshop Plugin"
2+title: "Skill Workshop plugin"
33summary: "Experimental capture of reusable procedures as workspace skills with review, approval, quarantine, and hot skill refresh"
44read_when:
55 - You want agents to turn corrections or reusable procedures into workspace skills
@@ -8,7 +8,7 @@ read_when:
88 - You are deciding whether to enable automatic skill creation
99---
101011-# Skill Workshop Plugin
11+# Skill Workshop plugin
12121313Skill Workshop is **experimental**. It is disabled by default, its capture
1414heuristics and reviewer prompts may change between releases, and automatic
@@ -46,7 +46,7 @@ It is not intended for:
4646- secrets, credentials, or hidden prompt text
4747- one-off instructions that will not repeat
484849-## Default State
49+## Default state
50505151The bundled plugin is **experimental** and **disabled by default** unless it is
5252explicitly enabled in `plugins.entries.skill-workshop`.
@@ -165,18 +165,18 @@ Recommended profiles:
165165}
166166```
167167168-## Capture Paths
168+## Capture paths
169169170170Skill Workshop has three capture paths.
171171172-### Tool Suggestions
172+### Tool suggestions
173173174174The model can call `skill_workshop` directly when it sees a reusable procedure
175175or when the user asks it to save/update a skill.
176176177177This is the most explicit path and works even with `autoCapture: false`.
178178179-### Heuristic Capture
179+### Heuristic capture
180180181181When `autoCapture` is enabled and `reviewMode` is `heuristic` or `hybrid`, the
182182plugin scans successful turns for explicit user correction phrases:
@@ -201,7 +201,7 @@ uses topic hints to choose skill names for common workflows:
201201Heuristic capture is intentionally narrow. It is for clear corrections and
202202repeatable process notes, not for general transcript summarization.
203203204-### LLM Reviewer
204+### LLM reviewer
205205206206When `autoCapture` is enabled and `reviewMode` is `llm` or `hybrid`, the plugin
207207runs a compact embedded reviewer after thresholds are reached.
@@ -219,13 +219,9 @@ The reviewer has no tools:
219219- `toolsAllow: []`
220220- `disableMessageTool: true`
221221222-It can return:
222+The reviewer returns either `{ "action": "none" }` or one proposal. The `action` field is `create`, `append`, or `replace` — prefer `append`/`replace` when a relevant skill already exists; use `create` only when no existing skill fits.
223223224-```json
225-{ "action": "none" }
226-```
227-228-or one skill proposal:
224+Example `create`:
229225230226```json
231227{
@@ -238,37 +234,9 @@ or one skill proposal:
238234}
239235```
240236241-It can also append to an existing skill:
242-243-```json
244-{
245-"action": "append",
246-"skillName": "qa-scenario-workflow",
247-"title": "QA Scenario Workflow",
248-"reason": "Animated media QA needs reusable checks",
249-"description": "QA scenario workflow.",
250-"section": "Workflow",
251-"body": "- For animated GIF tasks, verify frame count and attribution before passing."
252-}
253-```
237+`append` adds `section` + `body`. `replace` swaps `oldText` for `newText` in the named skill.
254238255-Or replace exact text in an existing skill:
256-257-```json
258-{
259-"action": "replace",
260-"skillName": "screenshot-asset-workflow",
261-"title": "Screenshot Asset Workflow",
262-"reason": "Old validation missed image optimization",
263-"oldText": "- Replace the screenshot asset.",
264-"newText": "- Replace the screenshot asset, preserve dimensions, optimize the PNG, and run the relevant validation gate."
265-}
266-```
267-268-Prefer `append` or `replace` when a relevant skill already exists. Use `create`
269-only when no existing skill fits.
270-271-## Proposal Lifecycle
239+## Proposal lifecycle
272240273241Every generated update becomes a proposal with:
274242@@ -304,7 +272,7 @@ Pending and quarantined proposals are deduplicated by skill name and change
304272payload. The store keeps the newest pending/quarantined proposals up to
305273`maxPending`.
306274307-## Tool Reference
275+## Tool reference
308276309277The plugin registers one agent tool:
310278@@ -377,7 +345,7 @@ Fetch a proposal by id.
377345378346### `suggest`
379347380-Create a proposal. With `approvalPolicy: "pending"`, this queues by default.
348+Create a proposal. With `approvalPolicy: "pending"` (default), this queues instead of writing.
381349382350```json
383351{
@@ -390,7 +358,8 @@ Create a proposal. With `approvalPolicy: "pending"`, this queues by default.
390358}
391359```
392360393-Force a safe write:
361+<AccordionGroup>
362+<Accordion title="Force a safe write (apply: true)">
394363395364```json
396365{
@@ -402,7 +371,9 @@ Force a safe write:
402371}
403372```
404373405-Force pending even in `approvalPolicy: "auto"`:
374+</Accordion>
375+376+<Accordion title="Force pending under auto policy (apply: false)">
406377407378```json
408379{
@@ -414,7 +385,9 @@ Force pending even in `approvalPolicy: "auto"`:
414385}
415386```
416387417-Append to a section:
388+</Accordion>
389+390+<Accordion title="Append to a named section">
418391419392```json
420393{
@@ -426,7 +399,9 @@ Append to a section:
426399}
427400```
428401429-Replace exact text:
402+</Accordion>
403+404+<Accordion title="Replace exact text">
430405431406```json
432407{
@@ -437,6 +412,9 @@ Replace exact text:
437412}
438413```
439414415+</Accordion>
416+</AccordionGroup>
417+440418### `apply`
441419442420Apply a pending proposal.
@@ -490,7 +468,7 @@ Example:
490468Support files are workspace-scoped, path-checked, byte-limited by
491469`maxSkillBytes`, scanned, and written atomically.
492470493-## Skill Writes
471+## Skill writes
494472495473Skill Workshop writes only under:
496474@@ -525,7 +503,7 @@ For `replace`:
525503All writes are atomic and refresh the in-memory skills snapshot immediately, so
526504the new or updated skill can become visible without a Gateway restart.
527505528-## Safety Model
506+## Safety model
529507530508Skill Workshop has a safety scanner on generated `SKILL.md` content and support
531509files.
@@ -557,7 +535,7 @@ Quarantined proposals:
557535To recover from a quarantined proposal, create a new safe proposal with the
558536unsafe content removed. Do not edit the store JSON by hand.
559537560-## Prompt Guidance
538+## Prompt guidance
561539562540When enabled, Skill Workshop injects a short prompt section that tells the agent
563541to use `skill_workshop` for durable procedural memory.
@@ -578,7 +556,7 @@ The write mode text changes with `approvalPolicy`:
578556- pending mode: queue suggestions; apply only after explicit approval
579557- auto mode: apply safe workspace-skill updates when clearly reusable
580558581-## Costs and Runtime Behavior
559+## Costs and runtime behavior
582560583561Heuristic capture does not call a model.
584562@@ -599,7 +577,7 @@ The reviewer:
599577If the reviewer fails, times out, or returns invalid JSON, the plugin logs a
600578warning/debug message and skips that review pass.
601579602-## Operating Patterns
580+## Operating patterns
603581604582Use Skill Workshop when the user says:
605583@@ -683,7 +661,7 @@ Relevant logs:
683661- `skill-workshop: reviewer skipped: ...`
684662- `skill-workshop: reviewer found no update`
685663686-## QA Scenarios
664+## QA scenarios
687665688666Repo-backed QA scenarios:
689667@@ -711,7 +689,7 @@ pnpm openclaw qa suite \
711689The reviewer scenario is intentionally separate because it enables
712690`reviewMode: "llm"` and exercises the embedded reviewer pass.
713691714-## When Not To Enable Auto Apply
692+## When not to enable auto apply
715693716694Avoid `approvalPolicy: "auto"` when:
717695@@ -724,7 +702,7 @@ Avoid `approvalPolicy: "auto"` when:
724702Use pending mode first. Switch to auto mode only after reviewing the kind of
725703skills the agent proposes in that workspace.
726704727-## Related Docs
705+## Related docs
728706729707- [Skills](/tools/skills)
730708- [Plugins](/tools/plugin)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。