Skills
Skills yapılandırması
OpenClaw’da çoğu Skills yapılandırması ~/.openclaw/openclaw.json içindeki
skills altında bulunur. Agent’a özgü görünürlük
agents.defaults.skills ve agents.entries.*.skills altında bulunur.
{ skills: { allowBundled: ["gemini", "peekaboo"], load: { extraDirs: ["~/Projects/agent-scripts/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], watch: true, }, install: { preferBrew: true, nodeManager: "npm", allowUploadedArchives: false, }, workshop: { autonomous: { enabled: false }, allowSymlinkTargetWrites: false, approvalPolicy: "auto", maxPending: 50, maxSkillBytes: 40000, }, entries: { "image-lab": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" }, }, peekaboo: { enabled: true }, sag: { enabled: false }, }, },}Yükleme (skills.load)
skills.load.extraDirsstring[]En düşük öncelikle (paketle gelen ve Plugin Skills öğelerinin altında)
taranacak ek Skills dizinleri. Yollar, ~ desteğiyle genişletilir.
skills.load.allowSymlinkTargetsstring[]Sembolik bağlantılı Skills klasörlerinin, sembolik bağlantı yapılandırılmış
kökün dışında olsa bile çözümleyebileceği güvenilir gerçek hedef dizinler.
Bunu <workspace>/skills/manager -> ~/Projects/manager/skills gibi bilinçli kardeş depo düzenleri için
kullanın. Bu listeyi dar tutun — ~ veya ~/Projects gibi
geniş kökleri göstermeyin.
skills.load.watchbooleandefault: trueSkills klasörlerini izler ve SKILL.md dosyaları değiştiğinde
Skills anlık görüntüsünü yeniler. Gruplandırılmış Skills köklerinin altındaki
iç içe dosyaları kapsar.
Kurulum (skills.install)
skills.install.preferBrewbooleandefault: truebrew kullanılabiliyorsa Homebrew yükleyicilerini tercih eder.
skills.install.nodeManager"npm" | "pnpm" | "yarn" | "bun"default: "npm"Skills kurulumları için Node paket yöneticisi tercihi. Bu yalnızca Skills
kurulumlarını etkiler; standart durum deposu node:sqlite kullandığından
OpenClaw CLI ve Gateway çalışma zamanı Node gerektirir. openclaw setup --node-manager ve
openclaw onboard --node-manager; npm, pnpm veya bun değerlerini
kabul eder. Yarn destekli Skills kurulumları için yapılandırmada
doğrudan "yarn" değerini ayarlayın.
skills.install.allowUploadedArchivesbooleandefault: falseGüvenilir operator.admin Gateway istemcilerinin skills.upload.* üzerinden
hazırlanan özel zip arşivlerini kurmasına izin verir. Normal ClawHub
kurulumları bu ayara ihtiyaç duymaz.
Operatör Kurulum İlkesi (security.installPolicy)
Operatörlerin, Skills ve Plugin kurulumlarını ana makineye özgü bir ilkeyle
onaylamak veya engellemek için güvenilir bir yerel komuta ihtiyaç duyduğu
durumlarda security.installPolicy kullanın. İlke, OpenClaw kaynak materyali
hazırladıktan sonra ve kurulum ya da güncelleme devam etmeden önce çalışır.
ClawHub Skills öğeleri, yüklenen Skills öğeleri, Git/yerel Skills öğeleri,
Skills bağımlılık yükleyicileri ve Plugin kurulum/güncelleme kaynakları için
geçerlidir.
{ security: { installPolicy: { enabled: true, // Desteklenen her hedefi kapsamak için targets alanını atlayın. targets: ["skill", "plugin"], exec: { source: "exec", command: "/usr/local/bin/openclaw-install-policy", args: ["--json"], timeoutMs: 10000, noOutputTimeoutMs: 10000, maxOutputBytes: 1048576, passEnv: ["OPENCLAW_STATE_DIR", "PATH"], env: { POLICY_MODE: "strict" }, trustedDirs: ["/usr/local/bin"], }, }, },}security.installPolicy.enabledbooleandefault: falseOperatöre ait kurulum ilkesini etkinleştirir. Geçerli bir exec
komutu olmadan etkinleştirildiğinde kurulumlar güvenli biçimde başarısız olur.
security.installPolicy.targets("skill" | "plugin")[]İsteğe bağlı hedef filtresi. Atlandığında ilke, yeni kurulumların beklenmedik şekilde açık kalmaması için desteklenen her hedefe uygulanır.
security.installPolicy.exec.commandstringGüvenilir ilke yürütülebilir dosyasının mutlak yolu. OpenClaw bunu kabuk kullanmadan çalıştırır ve kullanmadan önce yolu doğrular.
security.installPolicy.exec.argsstring[]command sonrasında aktarılan statik bağımsız değişkenler.
security.installPolicy.exec.timeoutMsnumberdefault: 10000Tek bir ilke kararı için azami gerçek zaman çalışma süresi.
security.installPolicy.exec.noOutputTimeoutMsnumberdefault: timeoutMsİlkenin güvenli biçimde başarısız olmasından önce stdout veya stderr çıktısı olmadan geçebilecek azami süre.
security.installPolicy.exec.maxOutputBytesnumberdefault: 1048576İlke işleminden kabul edilen stdout ve stderr çıktılarının toplam azami bayt sayısı.
security.installPolicy.exec.env"Record<string,security.installPolicy.exec.passEnvstring[]OpenClaw işleminden ilke işlemine kopyalanan ortam değişkeni adları. Yalnızca adı belirtilen değişkenler aktarılır.
security.installPolicy.exec.trustedDirsstring[]İlke yürütülebilir dosyasını içerebilecek dizinlerin isteğe bağlı izin listesi.
security.installPolicy.exec.allowInsecurePathbooleandefault: falseKomut yolu sahipliği ve izin denetimlerini atlar. Yalnızca yol başka bir mekanizmayla korunuyorsa kullanın.
security.installPolicy.exec.allowSymlinkCommandbooleandefault: falseYapılandırılmış komut yolunun sembolik bağlantı olmasına izin verir. Çözümlenen hedef yine de diğer yol denetimlerini karşılamalıdır. Yorumlayıcı betik bağımsız değişkenleri sembolik bağlantı değil, doğrudan normal dosyalar olmalıdır.
İlke stdin üzerinden protocolVersion: 1, openclawVersion, targetType,
targetName, sourcePath, sourcePathKind, isteğe bağlı yapılandırılmış
source, yapılandırılmış origin ve request içeren tek
bir JSON nesnesi alır. stdout üzerine tek bir JSON nesnesi yazmalıdır:
{ "protocolVersion": 1, "decision": "allow" } veya { "protocolVersion": 1, "decision": "block", "reason": "..." }. Sıfır olmayan çıkış, zaman aşımı,
hatalı biçimlendirilmiş JSON, eksik alanlar veya desteklenmeyen protokol
sürümleri güvenli biçimde başarısız olur.
OpenClaw, normal Gateway başlatma sırasında kurulum ilkesini yürütmez.
İlke etkin ancak kullanılamaz olduğunda kurulumlar ve güncellemeler güvenli
biçimde başarısız olur. openclaw doctor statik doğrulama gerçekleştirir;
openclaw doctor --deep ise yapılandırılmış komuta karşı yapay bir kurulum sınaması
yürütür.
Toplu güncellemeler ilkeyi hedef başına uygular: engellenmiş bir Skills veya Plugin güncellemesi, ilkeyi devre dışı bırakmadan ya da gruptaki sonraki hedefleri atlamadan ilgili hedef için başarısız olur.
Örnek stdin:
{ "protocolVersion": 1, "openclawVersion": "2026.6.1", "targetType": "skill", "targetName": "weather", "sourcePath": "/var/folders/.../openclaw-skill-clawhub/root", "sourcePathKind": "directory", "source": { "kind": "clawhub", "authority": "openclaw", "mutable": false, "network": true }, "origin": { "type": "clawhub", "registry": "https://clawhub.openclaw.ai", "slug": "weather", "version": "1.0.0" }, "request": { "kind": "skill-install", "mode": "install", "requestedSpecifier": "clawhub:weather@1.0.0" }, "skill": { "installId": "clawhub" }}Asgari ilke komutu:
#!/usr/bin/env node let input = "";process.stdin.setEncoding("utf8");process.stdin.on("data", (chunk) => { input += chunk;});process.stdin.on("end", () => { const request = JSON.parse(input); if (request.targetType === "plugin" && request.source?.kind === "local-path") { process.stdout.write( JSON.stringify({ protocolVersion: 1, decision: "block", reason: "yerel Plugin yolları bu ana makinede onaylanmamıştır", }), ); return; } process.stdout.write(JSON.stringify({ protocolVersion: 1, decision: "allow" }));});Paketle gelen Skills izin listesi
skills.allowBundledstring[]Yalnızca paketle gelen Skills öğeleri için isteğe bağlı izin listesi. Ayarlandığında yalnızca listedeki paketle gelen Skills öğeleri uygun olur. Yönetilen, Agent düzeyindeki ve çalışma alanındaki Skills öğeleri etkilenmez.
Skills başına girdiler (skills.entries)
entries altındaki anahtarlar varsayılan olarak Skills
name değeriyle eşleşir. Bir Skills öğesi metadata.openclaw.skillKey
tanımlıyorsa bunun yerine o anahtarı kullanın. Kısa çizgili adları tırnak içine
alın (JSON5, tırnaklı anahtarlara izin verir).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNraWxscy5lbnRyaWVzLjxrZXk
.enabled" type="boolean">
false, paketle gelmiş veya kurulmuş olsa bile Skills öğesini devre
dışı bırakır. Paketle gelen coding-agent Skills öğesi isteğe bağlıdır —
bunu true olarak ayarlayın ve claude,
codex, opencode veya desteklenen başka bir CLI'ın kurulu
ve kimliği doğrulanmış olduğundan emin olun.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNraWxscy5lbnRyaWVzLjxrZXk
.apiKey" type='string | { source, provider, id }'>
metadata.openclaw.primaryEnv bildiren Skills öğeleri için kolaylık alanı.
Düz metin dizesini veya SecretRef değerini destekler: { source: "env", provider: "default", id: "VAR_NAME" }.
"skills.entries.<key�����r�"skills.entries.<key�w₫��ܩAgent izin listeleri (agents)
Aynı makine/çalışma alanı Skills köklerini, ancak Agent başına farklı bir görünür Skills kümesini istediğinizde Agent yapılandırmasını kullanın.
{ agents: { defaults: { skills: ["github", "weather"], // paylaşılan temel }, list: [ { id: "writer" }, // github ve weather devralınır { id: "docs", skills: ["docs-search"] }, // varsayılanların tamamının yerini alır { id: "locked-down", skills: [] }, // Skills yok ], },}agents.defaults.skillsstring[]agents.entries.*.skills alanını atlayan Agent’ların devraldığı paylaşılan temel
izin listesi. Skills öğelerini varsayılan olarak kısıtlamamak için bu alanı
tamamen atlayın.
agents.entries.*.skillsstring[]İlgili Agent için açıkça belirtilmiş nihai Skills kümesi. Açık listeler,
devralınan varsayılanların yerini alır — bunlarla birleştirilmez.
İlgili Agent’a hiçbir Skills öğesi sunmamak için [] olarak
ayarlayın.
Workshop (skills.workshop)
skills.workshop.autonomous.enabledbooleandefault: falsetrue olduğunda OpenClaw, kalıcı düzeltmelerden bekleyen öneriler oluşturabilir
ve sistem boştayken başarıyla tamamlanmış önemli çalışmaları inceleyebilir.
Bu, uygun dönüşlerden sonra arka planda bir model çalıştırması ekleyebilir. Kullanıcı tarafından
istenen skill oluşturma ve /learn, ayar false olduğunda çalışmaya devam eder.
Uygunluk, gizlilik, maliyet, yalnızca öneri izinleri ve sorun giderme için Kendi kendine öğrenme bölümüne bakın.
skills.workshop.approvalPolicy"pending" | "auto"default: "auto"auto, ek bir onay istemi olmadan agent tarafından başlatılan uygulama,
reddetme veya karantinaya alma işlemlerine izin verir. pending operatör onayı gerektirir.
skills.workshop.allowSymlinkTargetWritesbooleandefault: falseSkill Workshop uygulamasının, gerçek hedefi skills.load.allowSymlinkTargets tarafından zaten
güvenilir kabul edilen çalışma alanı skill sembolik bağlantıları üzerinden yazmasına izin verir.
Oluşturulan önerilerin uygulanması bu paylaşılan skill kökünü değiştirmeyecekse
bu ayarı devre dışı tutun.
skills.workshop.maxPendingnumberdefault: 50Çalışma alanı başına saklanan bekleyen ve karantinaya alınmış önerilerin azami sayısı (izin verilen aralık: 1-200).
skills.workshop.maxSkillBytesnumberdefault: 40000Bayt cinsinden azami öneri gövdesi boyutu (izin verilen aralık: 1024-200000). Öneri açıklamaları, keşif ve listeleme çıktısında göründükleri için ayrıca kesin olarak 160 baytla sınırlandırılır.
Bu yapılandırmanın denetlediği öneri yaşam döngüsü, CLI komutları, agent aracı parametreleri ve Gateway yöntemleri için Skill Workshop bölümüne bakın.
Sembolik bağlantılı skill kökleri
Varsayılan olarak çalışma alanı, proje agent'ı, ek dizin ve paketlenmiş skill
kökleri kapsama sınırlarıdır. <workspace>/skills altında bulunan ve kökün
dışına çözümlenen sembolik bağlantılı bir skill klasörü, bir günlük mesajıyla atlanır.
Kasıtlı bir sembolik bağlantı düzenine izin vermek için güvenilir hedefi bildirin:
{ skills: { load: { extraDirs: ["~/Projects/manager/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], }, },}Bu yapılandırmayla <workspace>/skills/manager -> ~/Projects/manager/skills, realpath çözümlemesinden sonra kabul edilir.
extraDirs kardeş depoyu doğrudan tarar; allowSymlinkTargets mevcut
düzenler için sembolik bağlantılı yolu korur.
Skill Workshop uygulaması varsayılan olarak bu sembolik bağlantılar üzerinden yazmaz. Workshop uygulamasının, zaten güvenilir olan sembolik bağlantı hedefleri altındaki skill'leri değiştirmesine izin vermek için ayrıca etkinleştirin:
{ skills: { load: { allowSymlinkTargets: ["~/Projects/manager/skills"], }, workshop: { allowSymlinkTargetWrites: true, }, },}Yönetilen ~/.openclaw/skills ve kişisel ~/.agents/skills dizinleri, skill
dizini sembolik bağlantılarını zaten koşulsuz olarak kabul eder (skill başına
SKILL.md kapsam denetimi yine uygulanır) — allowSymlinkTargets yalnızca
çalışma alanı, ek dizin ve proje agent'ı (<workspace>/.agents/skills) kökleri için gereklidir.
Korumalı alandaki skill'ler ve ortam değişkenleri
Gizli bilgileri bir Docker korumalı alanına şu şekilde aktarın:
{ agents: { defaults: { sandbox: { docker: { env: { GEMINI_API_KEY: "your-key-here" }, }, }, }, },}Yükleme sırası hatırlatması
workspace/skills (en yüksek)workspace/.agents/skills~/.agents/skills~/.openclaw/skillspaketlenmiş skill'lerskills.load.extraDirs (en düşük)İzleyici etkin olduğunda skill ve yapılandırma değişiklikleri bir sonraki yeni oturumda veya izleyici bir değişiklik algıladığında bir sonraki agent dönüşünde geçerli olur.
İlgili konular
Skill'lerin ne olduğu, yükleme sırası, geçit denetimi ve SKILL.md biçimi.
Özel çalışma alanı skill'leri yazma.
Agent tarafından taslak hâline getirilen skill'ler için öneri kuyruğu.
Tamamlanan çalışmalardan oluşturulan temkinli ve isteğe bağlı öneriler.
Yerel eğik çizgi komutları kataloğu ve sohbet yönergeleri.