SKILL.md di bawah:
- Memory menyimpan fakta, preferensi, entitas, dan konteks masa lalu.
- Skills menyimpan prosedur yang dapat digunakan ulang yang seharusnya diikuti agen pada tugas masa depan.
- Skill Workshop adalah jembatan dari giliran yang berguna ke skill workspace yang tahan lama, dengan pemeriksaan keamanan dan persetujuan opsional.
- cara memvalidasi aset GIF animasi yang bersumber secara eksternal
- cara mengganti aset tangkapan layar dan memverifikasi dimensinya
- cara menjalankan skenario QA khusus repo
- cara men-debug kegagalan provider yang berulang
- cara memperbaiki catatan alur kerja lokal yang basi
- fakta seperti “pengguna menyukai warna biru”
- memori autobiografis yang luas
- pengarsipan transkrip mentah
- secret, kredensial, atau teks prompt tersembunyi
- instruksi sekali pakai yang tidak akan berulang
State default
Plugin bawaan ini bersifat eksperimental dan nonaktif secara default kecuali diaktifkan secara eksplisit diplugins.entries.skill-workshop.
Manifes Plugin tidak menyetel enabledByDefault: true. Default enabled: true
di dalam skema config Plugin hanya berlaku setelah entri Plugin
sudah dipilih dan dimuat.
Eksperimental berarti:
- Plugin cukup didukung untuk pengujian opt-in dan dogfooding
- penyimpanan proposal, ambang reviewer, dan heuristik capture dapat berkembang
- persetujuan tertunda adalah mode awal yang direkomendasikan
- penerapan otomatis ditujukan untuk penyiapan pribadi/workspace tepercaya, bukan environment bersama atau bermusuhan yang berat input
Aktifkan
Config aman minimal:- alat
skill_workshoptersedia - koreksi eksplisit yang dapat digunakan ulang dimasukkan ke antrean sebagai proposal tertunda
- lintasan reviewer berbasis ambang dapat mengusulkan pembaruan skill
- tidak ada file skill yang ditulis sampai proposal tertunda diterapkan
approvalPolicy: "auto" tetap menggunakan scanner dan jalur karantina yang sama. Kebijakan ini
tidak menerapkan proposal dengan temuan kritis.
Konfigurasi
| Key | Default | Range / values | Meaning |
|---|---|---|---|
enabled | true | boolean | Mengaktifkan Plugin setelah entri Plugin dimuat. |
autoCapture | true | boolean | Mengaktifkan capture/review pasca-giliran pada giliran agen yang berhasil. |
approvalPolicy | "pending" | "pending", "auto" | Masukkan proposal ke antrean atau tulis proposal aman secara otomatis. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Memilih capture koreksi eksplisit, reviewer LLM, keduanya, atau tidak keduanya. |
reviewInterval | 15 | 1..200 | Jalankan reviewer setelah sejumlah giliran berhasil ini. |
reviewMinToolCalls | 8 | 1..500 | Jalankan reviewer setelah sejumlah pemanggilan alat teramati ini. |
reviewTimeoutMs | 45000 | 5000..180000 | Timeout untuk run reviewer tersemat. |
maxPending | 50 | 1..200 | Jumlah maksimum proposal tertunda/dikarantina yang disimpan per workspace. |
maxSkillBytes | 40000 | 1024..200000 | Ukuran maksimum skill/file pendukung yang dihasilkan. |
Jalur capture
Skill Workshop memiliki tiga jalur capture.Saran alat
Model dapat langsung memanggilskill_workshop ketika melihat prosedur yang dapat digunakan ulang
atau ketika pengguna memintanya untuk menyimpan/memperbarui skill.
Ini adalah jalur yang paling eksplisit dan tetap berfungsi bahkan dengan autoCapture: false.
Capture heuristik
SaatautoCapture diaktifkan dan reviewMode adalah heuristic atau hybrid, Plugin
memindai giliran yang berhasil untuk frasa koreksi pengguna yang eksplisit:
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- tugas GIF animasi ->
animated-gif-workflow - tugas tangkapan layar atau aset ->
screenshot-asset-workflow - tugas QA atau skenario ->
qa-scenario-workflow - tugas GitHub PR ->
github-pr-workflow - fallback ->
learned-workflows
Reviewer LLM
SaatautoCapture diaktifkan dan reviewMode adalah llm atau hybrid, Plugin
menjalankan reviewer tersemat yang ringkas setelah ambang tercapai.
Reviewer menerima:
- teks transkrip terbaru, dibatasi hingga 12.000 karakter terakhir
- hingga 12 Skills workspace yang ada
- hingga 2.000 karakter dari setiap skill yang ada
- instruksi hanya-JSON
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" } atau satu proposal. Field action adalah create, append, atau replace — pilih append/replace saat skill yang relevan sudah ada; gunakan create hanya ketika tidak ada skill yang ada yang cocok.
Contoh create:
append menambahkan section + body. replace menukar oldText dengan newText di skill yang disebutkan.
Siklus hidup proposal
Setiap pembaruan yang dihasilkan menjadi proposal dengan:idcreatedAtupdatedAtworkspaceDiragentIdopsionalsessionIdopsionalskillNametitlereasonsource:tool,agent_end, ataureviewerstatuschangescanFindingsopsionalquarantineReasonopsional
pending- menunggu persetujuanapplied- ditulis ke<workspace>/skillsrejected- ditolak oleh operator/modelquarantined- diblokir oleh temuan scanner kritis
maxPending.
Referensi alat
Plugin mendaftarkan satu alat agen:status
Hitung proposal berdasarkan state untuk workspace aktif.
list_pending
Daftarkan proposal pending.
status yang valid:
pendingappliedrejectedquarantined
list_quarantine
Daftarkan proposal yang dikarantina.
skill-workshop: quarantined <skill>.
inspect
Ambil proposal berdasarkan id.
suggest
Buat proposal. Dengan approvalPolicy: "pending" (default), ini mengantrekan alih-alih menulis.
Paksa penulisan aman (apply: true)
Paksa penulisan aman (apply: true)
Paksa pending di bawah kebijakan auto (apply: false)
Paksa pending di bawah kebijakan auto (apply: false)
Tambahkan ke section bernama
Tambahkan ke section bernama
Ganti teks yang persis
Ganti teks yang persis
apply
Terapkan proposal pending.
apply menolak proposal yang dikarantina:
reject
Tandai proposal sebagai ditolak.
write_support_file
Tulis file pendukung di dalam direktori skill yang sudah ada atau yang diusulkan.
Direktori pendukung tingkat atas yang diizinkan:
references/templates/scripts/assets/
maxSkillBytes, dipindai, dan ditulis secara atomik.
Penulisan skill
Skill Workshop menulis hanya di bawah:- huruf kecil semua
- rangkaian non
[a-z0-9_-]menjadi- - non-alfanumerik di awal/akhir dihapus
- panjang maksimum 80 karakter
- nama akhir harus cocok dengan
[a-z0-9][a-z0-9_-]{1,79}
create:
- jika skill belum ada, Skill Workshop menulis
SKILL.mdbaru - jika sudah ada, Skill Workshop menambahkan body ke
## Workflow
append:
- jika skill ada, Skill Workshop menambahkan ke section yang diminta
- jika belum ada, Skill Workshop membuat skill minimal lalu menambahkan
replace:
- skill harus sudah ada
oldTextharus ada persis- hanya kecocokan persis pertama yang diganti
Model keamanan
Skill Workshop memiliki scanner keamanan pada kontenSKILL.md yang dihasilkan dan file
pendukung.
Temuan kritis mengarantina proposal:
| Rule id | Blocks content that… |
|---|---|
prompt-injection-ignore-instructions | menyuruh agen mengabaikan instruksi sebelumnya/lebih tinggi |
prompt-injection-system | merujuk prompt sistem, pesan developer, atau instruksi tersembunyi |
prompt-injection-tool | mendorong bypass izin/persetujuan alat |
shell-pipe-to-shell | menyertakan curl/wget yang dipipe ke sh, bash, atau zsh |
secret-exfiltration | tampak mengirim data env/process env melalui jaringan |
| Rule id | Warns on… |
|---|---|
destructive-delete | perintah gaya rm -rf yang luas |
unsafe-permissions | penggunaan izin gaya chmod 777 |
- mempertahankan
scanFindings - mempertahankan
quarantineReason - muncul di
list_quarantine - tidak dapat diterapkan melalui
apply
Panduan prompt
Saat diaktifkan, Skill Workshop menyuntikkan bagian prompt singkat yang memberi tahu agen untuk menggunakanskill_workshop sebagai memori prosedural yang tahan lama.
Panduan tersebut menekankan:
- prosedur, bukan fakta/preferensi
- koreksi pengguna
- prosedur sukses yang tidak jelas
- jebakan yang berulang
- perbaikan skill yang basi/tipis/salah melalui append/replace
- menyimpan prosedur yang dapat digunakan ulang setelah loop alat yang panjang atau perbaikan sulit
- teks skill imperatif yang singkat
- tidak ada dump transkrip
approvalPolicy:
- mode pending: antrekan saran; terapkan hanya setelah persetujuan eksplisit
- mode auto: terapkan pembaruan skill workspace yang aman saat jelas dapat digunakan ulang
Biaya dan perilaku runtime
Capture heuristik tidak memanggil model. Review LLM menggunakan run tersemat pada model agen aktif/default. Review ini berbasis ambang sehingga secara default tidak berjalan pada setiap giliran. Reviewer:- menggunakan konteks provider/model yang sama saat tersedia
- fallback ke default agen runtime
- memiliki
reviewTimeoutMs - menggunakan konteks bootstrap yang ringan
- tidak memiliki alat
- tidak menulis apa pun secara langsung
- hanya dapat mengeluarkan proposal yang melewati scanner normal dan jalur persetujuan/karantina
Pola operasional
Gunakan Skill Workshop saat pengguna mengatakan:- “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”
- berbentuk transkrip
- tidak imperatif
- menyertakan detail sekali pakai yang berisik
- tidak memberi tahu agen berikutnya apa yang harus dilakukan
Debugging
Periksa apakah Plugin dimuat:| Symptom | Likely cause | Check |
|---|---|---|
| Alat tidak tersedia | Entri Plugin tidak diaktifkan | plugins.entries.skill-workshop.enabled dan openclaw plugins list |
| Tidak ada proposal otomatis muncul | autoCapture: false, reviewMode: "off", atau ambang belum tercapai | Config, status proposal, log Gateway |
| Heuristik tidak menangkap | Kata-kata pengguna tidak cocok dengan pola koreksi | Gunakan skill_workshop.suggest eksplisit atau aktifkan reviewer LLM |
| Reviewer tidak membuat proposal | Reviewer mengembalikan none, JSON tidak valid, atau timeout | Log Gateway, reviewTimeoutMs, ambang |
| Proposal tidak diterapkan | approvalPolicy: "pending" | list_pending, lalu apply |
| Proposal hilang dari pending | Proposal duplikat digunakan ulang, pruning max pending, atau sudah applied/rejected/quarantined | status, list_pending dengan filter status, list_quarantine |
| File skill ada tetapi model melewatkannya | Snapshot skill tidak di-refresh atau gating skill mengecualikannya | status openclaw skills dan kelayakan skill workspace |
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
Skenario QA
Skenario QA berbasis 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" dan menguji lintasan reviewer tersemat.
Kapan tidak mengaktifkan auto apply
HindariapprovalPolicy: "auto" saat:
- workspace berisi prosedur sensitif
- agen bekerja pada input yang tidak tepercaya
- skill dibagikan ke tim yang luas
- Anda masih menyetel prompt atau aturan scanner
- model sering menangani konten web/email yang bermusuhan