Skills
Skill Atölyesi
Skill Workshop, çalışma alanı Skills'lerini oluşturmak ve güncellemek için OpenClaw'ın denetimli yoludur. Agent'lar ve operatörler bu yol üzerinden hiçbir zaman doğrudan SKILL.md yazmaz; yalnızca uygulandığında etkin bir Skill'e dönüşen bir öneri (içerik, hedef bağlama, tarayıcı durumu, karmalar ve geri alma meta verileri içeren bekleyen taslak) oluştururlar.
Skill Workshop yalnızca çalışma alanı Skills'lerini yazar. Paketlenmiş, Plugin, ClawHub, ek kök, yönetilen, kişisel agent veya sistem Skills'lerine hiçbir zaman dokunmaz.
Nasıl çalışır?
- Önce öneri: oluşturulan içerik
SKILL.mdolarak değil,PROPOSAL.mdolarak saklanır. - Tek etkin yazma işlemi uygulamadır: oluşturma, güncelleme ve düzeltme işlemleri etkin Skills'leri hiçbir zaman değiştirmez.
- Çalışma alanıyla sınırlıdır: oluşturma işlemleri çalışma alanının
skills/kökünü hedefler; güncellemelere yalnızca yazılabilir çalışma alanı Skills'leri için izin verilir. - Üzerine yazmaz: hedef Skill zaten varsa oluşturma başarısız olur.
- Karmaya bağlıdır: güncelleme önerileri geçerli hedef karmasına bağlanır ve etkin Skill uygulamadan önce değişirse
staledurumuna geçer. - Tarayıcı denetimlidir: uygulama, yazmadan önce güvenlik tarayıcısını yeniden çalıştırır.
- Kurtarılabilir: uygulama, etkin dosyalara dokunmadan önce geri alma meta verilerini yazar.
- Tutarlı yüzeyler: sohbet, CLI ve Gateway aynı hizmeti çağırır.
Yaşam döngüsü
create/update -> pendingrevise -> pendingapply -> appliedreject -> rejectedquarantine -> quarantinedtarget change -> staleYalnızca pending durumundaki bir öneri düzeltilebilir, uygulanabilir, reddedilebilir veya karantinaya alınabilir.
Yaşam döngüsü düzenlemesi
Gateway, paylaşılan durum veritabanında toplu Skill kullanımını izler. Günde bir kez Skill Workshop tarafından oluşturulup uygulanmış Skills'leri inceler. 30 günden uzun süre kullanılmayan Skills'ler stale, 90 gün sonra ise archived durumuna geçer ve yeni agent Skill anlık görüntülerine dahil edilmez. Arşivlenen Skill dosyaları diskte değiştirilmeden kalır. Elle oluşturulan Skills'ler hiçbir zaman düzenlemeye tabi tutulmaz; yaşam döngüsü düzenlemesine yalnızca Skill Workshop önerileriyle oluşturulan Skills'ler girer.
Sabitlenmiş Skills'ler yaşam döngüsü geçişlerini atlar. Eski bir Skill kullanıldıktan ve sonraki tarama çalıştıktan sonra active durumuna döner. Arşivlenmiş Skills'ler yalnızca açık bir geri yükleme işlemiyle döner:
Yaşam döngüsü geçişleri ve geri yüklemeler yeni oturumlara uygulanır; çalışan oturumlar mevcut Skill anlık görüntülerini korur.
openclaw skills curator statusopenclaw skills curator pin <skill>openclaw skills curator unpin <skill>openclaw skills curator restore <skill>Tüm düzenleyici komutları --json seçeneğini kabul eder. Durum ayrıca belirlenimci çakışma adaylarını yalnızca öneri olarak bildirir; hiçbir zaman Skills'leri birleştirmez veya bir model çağırmaz.
Sohbet
Agent'dan istediğiniz Skill'i talep edin; agent skill_workshop aracını çağırır ve bir öneri kimliği döndürür.
Son çalışmalardan öğrenme
Mevcut konuşmayı veya adlandırılmış kaynakları standartlar rehberliğinde tek bir Skill önerisine dönüştürmek için /learn komutunu kullanın:
/learn/learn docs/runbook.md and https://example.com/guide; focus on recoveryİstek verilmezse /learn, agent'dan mevcut konuşmadaki yeniden kullanılabilir iş akışını damıtmasını ister. İstek verilirse agent; odak, kapsam ve adlandırma gereksinimlerine uyarak yolları, URL'leri, yapıştırılmış notları ve konuşma referanslarını kaynak olarak ele alır. Kaynakları mevcut araçlarıyla toplar, ardından action: "create" ile skill_workshop aracını çağırır.
Oluşan öneri pending durumunda kalır; /learn bunu hiçbir zaman uygulamaz. Öneriyi normal onay akışı üzerinden veya openclaw skills workshop ile inceleyip uygulayın.
Oluşturma:
Pazartesi gelen kutusu rutinimi çalıştıran morning-catchup adlı bir Skill oluştur.Mevcut bir çalışma alanı Skill'ini güncelleme:
trip-planning Skill'ini rezervasyondan önce koltuk haritalarını da kontrol edecek şekilde güncelle.Bekleyen bir öneriyi yineleme:
morning-catchup önerisini göster.Acil olarak işaretlenmiş her şeyi de belirtecek şekilde düzelt.morning-catchup önerisini uygula.Agent tarafından başlatılan apply, reject ve quarantine işlemleri varsayılan olarak bir onay istemi gösterir. Güvenilir ortamlarda bunu atlamak için skills.workshop.approvalPolicy değerini "auto" olarak ayarlayın.
İstem, öneri kimliğini ve hedef Skill'i tanımlar; öneri açıklamasını, destek dosyası sayısını ve gövde boyutunu gösterir. Onay istekleri, agent aracı izleme süresi dolmadan tamamlanacak şekilde sınırlandırılır. İstem sona ermeden karar verilmezse yaşam döngüsü işlemi çalışmaz: öneri beklemede ve değiştirilmeden kalır. Daha sonra Skill Workshop kullanıcı arayüzünde karar verin veya openclaw skills workshop apply|reject|quarantine <proposal-id> komutunu çalıştırın. Agent'lar süresi dolmuş bir yaşam döngüsü işlemini döngü içinde yeniden denememelidir.
CLI
# Oluşturmaopenclaw skills workshop propose-create \ --name morning-catchup \ --description "Günlük gelen kutusu takibi: önceliklendir, arşivle, öne çıkar, taslak hazırla, planla" \ --proposal ./PROPOSAL.md # Mevcut bir çalışma alanı Skill'ini güncellemeopenclaw skills workshop propose-update trip-planning --proposal ./PROPOSAL.md # Listeleme ve incelemeopenclaw skills workshop listopenclaw skills workshop inspect <proposal-id> # Onaydan önce düzeltmeopenclaw skills workshop revise <proposal-id> --proposal ./PROPOSAL.md # Sonuçlandırmaopenclaw skills workshop apply <proposal-id>openclaw skills workshop reject <proposal-id> --reason "Yinelenen"openclaw skills workshop quarantine <proposal-id> --reason "Güvenlik incelemesi gerekiyor"Her alt komut --agent <id> (hedef çalışma alanı; varsayılan olarak önce mevcut çalışma dizininden çıkarılan, ardından varsayılan agent) ve --json (yapılandırılmış çıktı) seçeneklerini kabul eder. propose-create, propose-update ve revise ayrıca öneri bağlamını --proposal ile birlikte kaydetmek için --goal <text> ve --evidence <text> seçeneklerini kabul eder.
Öneri içeriği
Öneri beklemedeyken yalnızca öneriye özgü ön maddeyle birlikte PROPOSAL.md olarak saklanır:
---name: "morning-catchup"description: "Günlük gelen kutusu takibi: önceliklendir, arşivle, öne çıkar, taslak hazırla, planla"status: proposalversion: "v1"date: "2026-05-30T00:00:00.000Z"---Uygulama sırasında Skill Workshop etkin SKILL.md dosyasını yazar ve yalnızca öneriye özgü alanları kaldırır: status, öneri version değeri ve öneri date değeri.
Destek dosyaları
Önerilen Skill'in PROPOSAL.md yanında dosyalara ihtiyacı olduğunda --proposal-dir seçeneğini kullanın:
openclaw skills workshop propose-create \ --name weekly-update \ --description "Cuma özeti: istatistikler, öne çıkanlar, gelecek haftanın en önemli üç işi" \ --proposal-dir ./weekly-update-proposalDizin PROPOSAL.md içermelidir. Destek dosyaları assets/, examples/, references/, scripts/ veya templates/ altında bulunmalıdır. Skill Workshop bunları tarar, karmalarını hesaplar ve öneriyle birlikte saklar; yalnızca uygulama sırasında etkin SKILL.md dosyasının yanına yazar.
Reddedilen destek dosyası yolları: mutlak yollar, gizli yol bölümleri, yol geçişi, çakışan yollar, çalıştırılabilir dosyalar, UTF-8 olmayan metinler, boş baytlar ve standart destek klasörlerinin dışındaki yollar.
Agent aracı
Model, gerekli bir action ile skill_workshop aracını kullanır:
create | update | revise | list | inspect | apply | reject | quarantine.
Diğer parametreler işleme göre uygulanır:
| Parametre | Kullanan işlemler | Notlar |
|---|---|---|
name |
create, inspect, revise |
create için zorunludur; diğer durumlarda bekleyen öneriyi ada göre çözümler |
description |
create, update, revise |
En fazla 160 bayt |
skill_name |
update |
Mevcut Skill adı veya anahtarı |
proposal_content |
create, update, revise |
PROPOSAL.md olarak saklanır; skills.workshop.maxSkillBytes ile sınırlandırılır |
support_files |
create, update, revise |
{ path, content } dizisi |
goal, evidence |
create, update, revise |
Serbest metin bağlamı |
proposal_id |
inspect, revise, apply, reject, quarantine |
Hedef öneri |
reason |
apply, reject, quarantine |
İsteğe bağlı |
query, status, limit |
list |
Filtreleme/sayfalama; limit en fazla 50, varsayılan 20 |
Agent'lar oluşturulan Skill çalışmaları için skill_workshop kullanmalıdır. Öneri dosyalarını write, edit, exec, kabuk komutları veya doğrudan dosya sistemi işlemleriyle oluşturmamalı ya da değiştirmemelidir.
Önerilen Skills
OpenClaw, başarısız işlemler dahil olmak üzere etkileşimli bir işlem sona erdiğinde “bir dahaki sefere”, “şunu yapmayı unutma” gibi kalıcı talimatları ve tepkisel düzeltmeleri algılar. Sonraki işlemde agent, en son algılanan iş akışını skill_workshop üzerinden kaydetmeyi teklif eder; öneri oluşturulup oluşturulmayacağına kullanıcı karar verir. Bu yerleşik öneri kendi başına bir Skill oluşturmaz veya değiştirmez. Bunun yerine doğrudan bekleyen öneriler oluşturmak için skills.workshop.autonomous.enabled ayarını etkinleştirin.
Onay ve özerklik
{ skills: { workshop: { autonomous: { enabled: false, }, allowSymlinkTargetWrites: false, approvalPolicy: "pending", maxPending: 50, maxSkillBytes: 40000, }, },}| Ayar | Varsayılan | Etki |
|---|---|---|
autonomous.enabled |
false |
Sonraki işlemde en son algılanan iş akışını önermek yerine doğrudan bekleyen öneriler oluşturur. |
allowSymlinkTargetWrites |
false |
Uygulamanın, gerçek hedefi skills.load.allowSymlinkTargets içinde listelenen çalışma alanı Skill sembolik bağlantıları üzerinden yazmasına izin verir. |
approvalPolicy |
"pending" |
"pending", agent tarafından başlatılan apply, reject veya quarantine öncesinde onay istemi gerektirir. "auto" istemi atlar (agent yine de işlemi çağırmalıdır). |
maxPending |
50 |
Çalışma alanı başına bekleyen ve karantinaya alınmış öneri sayısını sınırlar (1-200). |
maxSkillBytes |
40000 |
Öneri gövdesi boyutunu bayt cinsinden sınırlar (1024-200000). |
Özerk yakalama, ileriye dönük kuralları (örneğin “bundan sonra”) ve tepkisel düzeltmeleri (örneğin “istediğim bu değildi”) tanır. Yeni talimatları konuya göre işlem başına en fazla üç öneri halinde gruplandırır, söz dağarcığı eşleşmelerini mevcut yazılabilir çalışma alanı Skills'lerine yönlendirir ve aynı Skill'i hedefleyen başka bir düzeltme olduğunda kendi bekleyen önerisini düzeltir.
Öneri açıklamaları, maxSkillBytes değerinden bağımsız olarak her zaman 160 baytla sınırlandırılır.
Gateway yöntemleri
| Yöntem | Kapsam |
|---|---|
skills.proposals.list |
operator.read |
skills.proposals.inspect |
operator.read |
skills.proposals.create |
operator.admin |
skills.proposals.update |
operator.admin |
skills.proposals.revise |
operator.admin |
skills.proposals.requestRevision |
operator.admin |
skills.proposals.apply |
operator.admin |
skills.proposals.reject |
operator.admin |
skills.proposals.quarantine |
operator.admin |
skills.curator.status |
operator.read |
skills.curator.pin |
operator.admin |
skills.curator.unpin |
operator.admin |
skills.curator.restore |
operator.admin |
requestRevision yalnızca Gateway üzerinden kullanılabilir (CLI veya ajan aracı eşdeğeri yoktur): ajandan doğrudan yeni içerik göndermesini istemek yerine düzeltme yapmasını isteyen kullanıcı arayüzleri için, PROPOSAL.md dosyasını doğrudan değiştirmek yerine serbest metin biçimindeki düzeltme talimatlarını sahibi olan ajanın sohbet oturumuna iletir.
Depolama
<OPENCLAW_STATE_DIR>/skill-workshop/ proposals.json proposals/<proposal-id>/ proposal.json PROPOSAL.md rollback.json assets/ examples/ references/ scripts/ templates/Varsayılan durum dizini: ~/.openclaw.
proposal.json: standart teklif kaydı.proposals.json: teklif klasörlerinden yeniden oluşturulabilen hızlı listeleme dizini.PROPOSAL.md: bekleyen Skills teklifi.rollback.json: değişiklikler canlı dosyalara uygulanmadan önce yazılan kurtarma meta verileri.
Sınırlar
| Sınır | Değer |
|---|---|
| Açıklama | 160 bayt |
| Teklif gövdesi | skills.workshop.maxSkillBytes (varsayılan 40.000; kesin üst sınır 1 MiB) |
| Destek dosyaları | Teklif başına 64 |
| Destek dosyası boyutu | Her biri 256 KiB, toplam 2 MiB |
| Bekleyen + karantinaya alınmış teklifler | Çalışma alanı başına skills.workshop.maxPending (varsayılan 50) |
Sorun giderme
| Sorun | Çözüm |
|---|---|
Skill proposal description is too large |
description değerini 160 bayta veya daha azına kısaltın. |
Skill proposal content is too large |
Teklif gövdesini kısaltın veya skills.workshop.maxSkillBytes değerini artırın. |
Target skill changed after proposal creation |
Teklifi mevcut hedefe göre düzeltin veya yeni bir teklif oluşturun. |
Proposal scan failed |
Tarayıcı bulgularını inceleyin, ardından teklifi düzeltin veya karantinaya alın. |
untrusted symlink target |
skills.load.allowSymlinkTargets seçeneğini yapılandırın ve skills.workshop.allowSymlinkTargetWrites seçeneğini yalnızca bilinçli olarak paylaşılan Skills kökleri için etkinleştirin. |
Support file paths must be under one of... |
Destek dosyalarını assets/, examples/, references/, scripts/ veya templates/ altına taşıyın. |
| Teklif listede görünmüyor | Seçilen --agent çalışma alanını ve OPENCLAW_STATE_DIR değerini kontrol edin. |
Ajan skill_workshop aracını çağıramıyor |
Etkin araç politikasını ve çalıştırma modunu kontrol edin. coding aracı içerir; kısıtlayıcı tools.allow politikaları aracı açıkça listelemeli, korumalı alan çalıştırmaları ise normal bir ana makine tarafı ajan oturumunu veya CLI'yi kullanmalıdır. |
Araç politikası tanılaması
Otonom yakalama etkinleştirildiğinde openclaw doctor, varsayılan ajan için core/doctor/skill-workshop-tool-policy denetimini çalıştırır. Politika skill_workshop aracını gizliyorsa uyarı, aracı dışlayan ilk yapılandırma katmanını ve yapılması gereken tam allow veya alsoAllow değişikliğini belirtir. Eski çalışma kılavuzları hâlâ openclaw plugins inspect skill-workshop komutunu kullanabilir; bu komut artık Skill Workshop'un yerleşik olduğunu açıklar ve geçerli olduğunda aynı politika ipucunu yazdırır.
İlgili konular
- Yükleme sırası, öncelik ve görünürlük için Skills
- Elle yazılan
SKILL.mddosyalarının temelleri için Skills oluşturma - Tam
skills.workshopşeması için Skills yapılandırması openclaw skillskomutları için Skills CLI