SKILL.md dosyalarına dönüştürmesine izin verir:
- Bellek, gerçekleri, tercihleri, varlıkları ve geçmiş bağlamı depolar.
- Skills, agent’in gelecekteki görevlerde izlemesi gereken yeniden kullanılabilir prosedürleri depolar.
- Skill Workshop, yararlı bir turdan kalıcı bir çalışma alanı Skill’ine giden köprüdür; güvenlik denetimleri ve isteğe bağlı onay içerir.
- dış kaynaklı hareketli GIF varlıklarını nasıl doğrulaması gerektiği
- ekran görüntüsü varlıklarını nasıl değiştireceği ve boyutları nasıl doğrulayacağı
- repo’ya özgü bir QA senaryosunun nasıl çalıştırılacağı
- tekrarlayan bir sağlayıcı hatasının nasıl hata ayıklanacağı
- eski bir yerel iş akışı notunun nasıl onarılacağı
- “kullanıcı maviyi sever” gibi gerçekler
- geniş otobiyografik bellek
- ham döküm arşivleme
- secret’lar, kimlik bilgileri veya gizli prompt metni
- tekrarlanmayacak tek seferlik talimatlar
Varsayılan durum
Paketli plugin deneyseldir veplugins.entries.skill-workshop içinde
açıkça etkinleştirilmedikçe varsayılan olarak devre dışıdır.
Plugin manifest’i enabledByDefault: true ayarlamaz. Plugin yapılandırma şeması içindeki enabled: true
varsayılanı yalnızca plugin girdisi zaten seçilip yüklendikten sonra geçerlidir.
Deneysel şunlar anlamına gelir:
- plugin, opt-in test ve dogfooding için yeterince desteklenir
- teklif depolama, reviewer eşikleri ve yakalama sezgiselleri gelişebilir
- bekleyen onay önerilen başlangıç modudur
- otomatik uygulama, paylaşılan veya düşmanca girdi ağırlıklı ortamlar için değil, güvenilir kişisel/çalışma alanı kurulumları içindir
Etkinleştirme
Asgari güvenli yapılandırma:skill_workshoparacı kullanılabilir olur- açık yeniden kullanılabilir düzeltmeler bekleyen teklifler olarak kuyruğa alınır
- eşik tabanlı reviewer geçişleri Skill güncellemeleri önerebilir
- bekleyen bir teklif uygulanana kadar hiçbir Skill dosyası yazılmaz
approvalPolicy: "auto" yine aynı tarayıcıyı ve karantina yolunu kullanır. Kritik bulguları olan teklifleri
uygulamaz.
Yapılandırma
| Anahtar | Varsayılan | Aralık / değerler | Anlamı |
|---|---|---|---|
enabled | true | boolean | Plugin girdisi yüklendikten sonra plugin’i etkinleştirir. |
autoCapture | true | boolean | Başarılı agent turlarından sonra otomatik yakalama/değerlendirmeyi etkinleştirir. |
approvalPolicy | "pending" | "pending", "auto" | Teklifleri kuyruğa alır veya güvenli teklifleri otomatik yazar. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Açık düzeltme yakalamayı, LLM reviewer’ı, her ikisini veya hiçbirini seçer. |
reviewInterval | 15 | 1..200 | Bu kadar başarılı turdan sonra reviewer çalıştırılır. |
reviewMinToolCalls | 8 | 1..500 | Bu kadar gözlenen araç çağrısından sonra reviewer çalıştırılır. |
reviewTimeoutMs | 45000 | 5000..180000 | Gömülü reviewer çalıştırması için zaman aşımı. |
maxPending | 50 | 1..200 | Çalışma alanı başına tutulacak en fazla bekleyen/karantinaya alınmış teklif. |
maxSkillBytes | 40000 | 1024..200000 | Üretilmiş Skill/destek dosyası için en büyük boyut. |
Yakalama yolları
Skill Workshop’un üç yakalama yolu vardır.Araç önerileri
Model, yeniden kullanılabilir bir prosedür gördüğünde veya kullanıcı ondan bir Skill kaydetmesini/güncellemesini istediğinde doğrudanskill_workshop çağırabilir.
Bu en açık yoldur ve autoCapture: false ile bile çalışır.
Sezgisel yakalama
autoCapture etkinse ve reviewMode heuristic veya hybrid ise,
plugin başarılı turları açık kullanıcı düzeltme ifadeleri için tarar:
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- hareketli GIF görevleri ->
animated-gif-workflow - ekran görüntüsü veya varlık görevleri ->
screenshot-asset-workflow - QA veya senaryo görevleri ->
qa-scenario-workflow - GitHub PR görevleri ->
github-pr-workflow - fallback ->
learned-workflows
LLM reviewer
autoCapture etkinse ve reviewMode llm veya hybrid ise, plugin
eşiklere ulaşıldığında kompakt bir gömülü reviewer çalıştırır.
Reviewer şunları alır:
- son 12.000 karakterle sınırlı son döküm metni
- en fazla 12 mevcut çalışma alanı Skill’i
- her mevcut Skill’den en fazla 2.000 karakter
- yalnızca JSON talimatları
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" } ya da tek bir teklif döndürür. action alanı create, append veya replace olur — ilgili bir Skill zaten varsa append/replace tercih edin; yalnızca uygun mevcut bir Skill yoksa create kullanın.
Örnek create:
append, section + body ekler. replace, adlandırılmış Skill içinde oldText değerini newText ile değiştirir.
Teklif yaşam döngüsü
Her üretilmiş güncelleme şu alanlara sahip bir teklif olur:idcreatedAtupdatedAtworkspaceDir- isteğe bağlı
agentId - isteğe bağlı
sessionId skillNametitlereasonsource:tool,agent_endveyareviewerstatuschange- isteğe bağlı
scanFindings - isteğe bağlı
quarantineReason
pending- onay bekliyorapplied-<workspace>/skillskonumuna yazıldırejected- operatör/model tarafından reddedildiquarantined- kritik tarayıcı bulguları nedeniyle engellendi
maxPending
üst sınırına kadar en yeni bekleyen/karantinaya alınmış teklifleri tutar.
Araç başvurusu
Plugin tek bir agent aracı kaydeder:status
Etkin çalışma alanı için duruma göre teklifleri sayar.
list_pending
Bekleyen teklifleri listeler.
status değerleri:
pendingappliedrejectedquarantined
list_quarantine
Karantinaya alınmış teklifleri listeler.
skill-workshop: quarantined <skill> geçtiğinde kullanın.
inspect
Bir teklifi kimliğe göre getirir.
suggest
Bir teklif oluşturur. approvalPolicy: "pending" (varsayılan) ile bu, yazmak yerine kuyruğa alır.
Güvenli yazmayı zorla (apply: true)
Güvenli yazmayı zorla (apply: true)
Otomatik ilke altında bekleyen durumu zorla (apply: false)
Otomatik ilke altında bekleyen durumu zorla (apply: false)
Adlandırılmış bir bölüme ekle
Adlandırılmış bir bölüme ekle
Tam metni değiştir
Tam metni değiştir
apply
Bekleyen bir teklifi uygular.
apply, karantinaya alınmış teklifleri reddeder:
reject
Bir teklifi reddedilmiş olarak işaretler.
write_support_file
Mevcut veya teklif edilen bir Skill dizini içinde destekleyici bir dosya yazar.
İzin verilen üst düzey destek dizinleri:
references/templates/scripts/assets/
maxSkillBytes ile bayt sınırına tabi tutulur, taranır ve atomik olarak yazılır.
Skill yazımları
Skill Workshop yalnızca şu konum altında yazar:- küçük harfe çevrilir
[a-z0-9_-]dışındaki ardışık karakterler-olur- baştaki/sondaki alfasayısal olmayan karakterler kaldırılır
- en fazla uzunluk 80 karakterdir
- son ad
[a-z0-9][a-z0-9_-]{1,79}ile eşleşmelidir
create için:
- Skill yoksa Skill Workshop yeni bir
SKILL.mdyazar - zaten varsa gövdeyi
## Workflowaltına ekler
append için:
- Skill varsa Skill Workshop istenen bölüme ekler
- yoksa Skill Workshop minimal bir Skill oluşturur ve sonra ekler
replace için:
- Skill zaten var olmalıdır
oldTexttam olarak mevcut olmalıdır- yalnızca ilk tam eşleşme değiştirilir
Güvenlik modeli
Skill Workshop, üretilenSKILL.md içeriği ve destek
dosyaları üzerinde bir güvenlik tarayıcısına sahiptir.
Kritik bulgular teklifleri karantinaya alır:
| Kural kimliği | Şu içeriği engeller… |
|---|---|
prompt-injection-ignore-instructions | agent’e önceki/daha üst talimatları yok saymasını söylüyorsa |
prompt-injection-system | sistem prompt’larına, geliştirici mesajlarına veya gizli talimatlara atıf yapıyorsa |
prompt-injection-tool | araç izni/onayı atlamayı teşvik ediyorsa |
shell-pipe-to-shell | curl/wget komutlarını sh, bash veya zsh içine pipe ediyorsa |
secret-exfiltration | env/süreç env verilerini ağ üzerinden gönderiyor gibi görünüyorsa |
| Kural kimliği | Şu durumlarda uyarır… |
|---|---|
destructive-delete | geniş rm -rf tarzı komutlar |
unsafe-permissions | chmod 777 tarzı izin kullanımı |
scanFindingsalanını korurquarantineReasonalanını korurlist_quarantineiçinde görünürapplyüzerinden uygulanamaz
Prompt rehberliği
Skill Workshop etkin olduğunda, agent’e kalıcı prosedürel bellek içinskill_workshop kullanmasını söyleyen kısa bir prompt bölümü enjekte eder.
Rehberlik şunları vurgular:
- gerçekler/tercihler değil, prosedürler
- kullanıcı düzeltmeleri
- açık olmayan başarılı prosedürler
- tekrarlayan tuzaklar
- append/replace üzerinden eski/zayıf/yanlış Skill onarımı
- uzun araç döngülerinden veya zor düzeltmelerden sonra yeniden kullanılabilir prosedürü kaydetme
- kısa emir kipinde Skill metni
- döküm yığınları yok
approvalPolicy ile değişir:
- pending modu: önerileri kuyruğa al; yalnızca açık onaydan sonra uygula
- auto modu: açıkça yeniden kullanılabilir olduğunda güvenli çalışma alanı Skill güncellemelerini uygula
Maliyetler ve çalışma zamanı davranışı
Sezgisel yakalama bir model çağırmaz. LLM değerlendirmesi, etkin/varsayılan agent modeli üzerinde gömülü bir çalıştırma kullanır. Eşik tabanlıdır; bu nedenle varsayılan olarak her turda çalışmaz. Reviewer:- mümkün olduğunda aynı yapılandırılmış sağlayıcı/model bağlamını kullanır
- çalışma zamanı agent varsayılanlarına geri düşer
reviewTimeoutMskullanır- hafif bootstrap bağlamı kullanır
- aracı yoktur
- doğrudan hiçbir şey yazmaz
- yalnızca normal tarayıcıdan ve onay/karantina yolundan geçen bir teklif üretebilir
İşletim desenleri
Skill Workshop’u kullanıcı şunları söylediğinde kullanın:- “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”
- döküm şeklindedir
- emir kipinde değildir
- gürültülü tek seferlik ayrıntılar içerir
- sonraki agent’e ne yapacağını söylemez
Hata ayıklama
Plugin’in yüklenip yüklenmediğini kontrol edin:| Belirti | Olası neden | Kontrol |
|---|---|---|
| Araç kullanılamıyor | Plugin girdisi etkin değil | plugins.entries.skill-workshop.enabled ve openclaw plugins list |
| Otomatik teklif görünmüyor | autoCapture: false, reviewMode: "off" veya eşikler karşılanmadı | Yapılandırma, teklif durumu, Gateway günlükleri |
| Sezgisel yakalama yapmadı | Kullanıcı ifadesi düzeltme desenleriyle eşleşmedi | Açık skill_workshop.suggest kullanın veya LLM reviewer’ı etkinleştirin |
| Reviewer teklif oluşturmadı | Reviewer none, geçersiz JSON döndürdü veya zaman aşımına uğradı | Gateway günlükleri, reviewTimeoutMs, eşikler |
| Teklif uygulanmıyor | approvalPolicy: "pending" | list_pending, ardından apply |
| Teklif pending’den kayboldu | Yinelenen teklif yeniden kullanıldı, max pending budaması oldu veya uygulandı/reddedildi/karantinaya alındı | status, durum filtreleriyle list_pending, list_quarantine |
| Skill dosyası var ama model görmüyor | Skill anlık görüntüsü yenilenmedi veya Skill geçitlemesi bunu dışlıyor | openclaw skills durumu ve çalışma alanı Skill uygunluğu |
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 senaryoları
Repo destekli QA senaryoları: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" etkinleştirir ve gömülü reviewer geçişini dener.
Auto apply ne zaman etkinleştirilmemeli
Şu durumlardaapprovalPolicy: "auto" kullanmaktan kaçının:
- çalışma alanı hassas prosedürler içeriyorsa
- agent güvenilmeyen girdi üzerinde çalışıyorsa
- Skills geniş bir ekip arasında paylaşılıyorsa
- prompt’ları veya tarayıcı kurallarını hâlâ ayarlıyorsanız
- model sık sık düşmanca web/e-posta içeriği işliyorsa