Skills
Skills
Skills, araca araçları nasıl ve ne zaman kullanacağını öğreten markdown yönerge dosyalarıdır. Her skill, YAML frontmatter ve markdown gövdesi içeren bir SKILL.md dosyasının bulunduğu bir dizinde yaşar. OpenClaw, paketle gelen skills ile yerel geçersiz kılmaları yükler ve bunları yükleme sırasında ortama, yapılandırmaya ve ikili dosya varlığına göre filtreler.
Sıfırdan özel bir skill oluşturup test edin.
Aracının taslak olarak hazırladığı skill önerilerini inceleyip onaylayın.
Tam skills.* yapılandırma şeması ve aracı izin listeleri.
Topluluk skills'lerine göz atın ve kurun.
Yükleme sırası
OpenClaw şu kaynaklardan, önce en yüksek öncelik olacak şekilde yükler. Aynı skill adı birden fazla yerde göründüğünde, en yüksek kaynak kazanır.
| Öncelik | Kaynak | Yol |
|---|---|---|
| 1 — en yüksek | Çalışma alanı skills'leri | <workspace>/skills |
| 2 | Proje aracı skills'leri | <workspace>/.agents/skills |
| 3 | Kişisel aracı skills'leri | ~/.agents/skills |
| 4 | Yönetilen / yerel skills | ~/.openclaw/skills |
| 5 | Paketle gelen skills | kurulumla birlikte gelir |
| 6 — en düşük | Ek dizinler | skills.load.extraDirs + plugin skills |
Skill kökleri gruplanmış düzenleri destekler. OpenClaw, yapılandırılmış bir
kökün altında herhangi bir yerde SKILL.md göründüğünde bir skill keşfeder:
<workspace>/skills/research/SKILL.md ✓ found as "research"<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"Klasör yolu yalnızca düzenleme içindir. Skill'in adı, slash komutu ve izin
listesi anahtarı hep name frontmatter alanından gelir (name eksikse dizin
adından gelir).
Aracı başına ve paylaşılan skills
Çok aracılı kurulumlarda her aracının kendi çalışma alanı vardır. İstediğiniz görünürlüğe uyan yolu kullanın:
| Kapsam | Yol | Görüneceği yer |
|---|---|---|
| Aracı başına | <workspace>/skills |
Yalnızca o aracı |
| Proje-aracısı | <workspace>/.agents/skills |
Yalnızca o çalışma alanının aracısı |
| Kişisel-aracı | ~/.agents/skills |
Bu makinedeki tüm aracılar |
| Paylaşılan yönetilen | ~/.openclaw/skills |
Bu makinedeki tüm aracılar |
| Ek dizinler | skills.load.extraDirs |
Bu makinedeki tüm aracılar |
Aracı izin listeleri
Skill konumu (öncelik) ve skill görünürlüğü (hangi aracının kullanabileceği) ayrı denetimlerdir. Bir aracının hangi skills'leri gördüğünü, nereden yüklendiklerinden bağımsız olarak kısıtlamak için izin listelerini kullanın.
{ agents: { defaults: { skills: ["github", "weather"], // shared baseline }, list: [ { id: "writer" }, // inherits github, weather { id: "docs", skills: ["docs-search"] }, // replaces defaults entirely { id: "locked-down", skills: [] }, // no skills ], },}Allowlist rules
- Varsayılan olarak tüm skills'leri kısıtsız bırakmak için
agents.defaults.skillsöğesini atlayın. agents.defaults.skillsdeğerini devralmak içinagents.list[].skillsöğesini atlayın.- O aracıya hiçbir skill göstermemek için
agents.list[].skills: []ayarlayın. - Boş olmayan bir
agents.list[].skillslistesi son kümedir — varsayılanlarla birleştirilmez. - Etkin izin listesi prompt oluşturma, slash komutu keşfi, sandbox senkronizasyonu ve skill anlık görüntüleri genelinde uygulanır.
- Bu, bir host shell yetkilendirme sınırı değildir. Aynı aracı
execkullanabiliyorsa, o shell'i sandboxing, işletim sistemi kullanıcısı yalıtımı, exec engelleme/izin listeleri ve kaynak başına kimlik bilgileriyle ayrıca kısıtlayın.
Plugins ve skills
Plugins, openclaw.plugin.json içinde skills dizinlerini listeleyerek kendi
skills'leriyle gelebilir (yollar plugin köküne görelidir). Plugin skills,
plugin etkinleştirildiğinde yüklenir — örneğin browser plugin, çok adımlı
tarayıcı denetimi için bir browser-automation skill'iyle gelir.
Plugin skill dizinleri, skills.load.extraDirs ile aynı düşük öncelikli düzeyde
birleşir; bu nedenle aynı ada sahip paketle gelen, yönetilen, aracı veya çalışma
alanı skill'i bunları geçersiz kılar. Bunları plugin'in yapılandırma girdisinde
metadata.openclaw.requires.config üzerinden kapılayın.
Tam plugin sistemi için Plugins ve Tools sayfalarına bakın.
Skill Workshop
Skill Workshop, aracı ile etkin skill dosyalarınız
arasında bir öneri kuyruğudur. Aracı yeniden kullanılabilir iş yakaladığında,
doğrudan SKILL.md dosyasına yazmak yerine bir öneri taslağı hazırlar. Herhangi
bir şey değişmeden önce inceleyip onaylarsınız.
openclaw skills workshop listopenclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Tam yaşam döngüsü, CLI başvurusu ve yapılandırma için Skill Workshop sayfasına bakın.
ClawHub'dan kurma
ClawHub, herkese açık skills kayıt defteridir. Kurulum ve
güncelleme için openclaw skills komutlarını, yayımlama ve senkronizasyon için
ise clawhub CLI'yi kullanın.
| Eylem | Komut |
|---|---|
| Çalışma alanına bir skill kur | openclaw skills install @owner/<slug> |
| Bir Git deposundan kur | openclaw skills install git:owner/repo@ref |
| Yerel bir skill dizini kur | openclaw skills install ./path/to/skill --as my-tool |
| Tüm yerel aracılar için kur | openclaw skills install @owner/<slug> --global |
| Tüm çalışma alanı skills'lerini güncelle | openclaw skills update --all |
| Paylaşılan yönetilen bir skill'i güncelle | openclaw skills update @owner/<slug> --global |
| Tüm paylaşılan yönetilen skills'leri güncelle | openclaw skills update --all --global |
| Bir skill'in güven zarfını doğrula | openclaw skills verify @owner/<slug> |
| Üretilen Skill Card'ı yazdır | openclaw skills verify @owner/<slug> --card |
| ClawHub CLI üzerinden yayımla / senkronize et | clawhub sync --all |
Install details
openclaw skills install varsayılan olarak etkin çalışma alanındaki
skills/ dizinine kurar. Tüm yerel aracılara görünür olan paylaşılan
~/.openclaw/skills dizinine kurmak için --global ekleyin; aracı izin
listeleri bunu daraltmadığı sürece görünür olur.
Git ve yerel kurulumlar kaynak kökte SKILL.md bekler. Slug, geçerliyse
SKILL.md frontmatter name alanından gelir, ardından dizin veya depo adına
geri düşer. Geçersiz kılmak için --as <slug> kullanın.
openclaw skills update yalnızca ClawHub kurulumlarını izler — Git veya
yerel kaynakları yenilemek için yeniden kurun.
Verification and security scanning
openclaw skills verify @owner/<slug>, ClawHub'dan skill'in
clawhub.skill.verify.v1 güven zarfını ister. Kurulu ClawHub skills,
.clawhub/origin.json içinde kaydedilen sürüme ve kayıt defterine göre
doğrulanır. Yalın slug'lar mevcut kurulu veya belirsiz olmayan skills için
kabul edilmeye devam eder, ancak sahip nitelikli ref'ler yayımlayıcı
belirsizliğini önler.
ClawHub skill sayfaları, kurulumdan önce en son güvenlik taraması durumunu
VirusTotal, ClawScan ve statik analiz ayrıntı sayfalarıyla birlikte gösterir.
ClawHub doğrulamayı başarısız olarak işaretlediğinde komut sıfır olmayan
kodla çıkar. Yayımcılar yanlış pozitifleri ClawHub panosu veya
clawhub skill rescan @owner/<slug> üzerinden düzeltebilir.
Private archive installs
ClawHub dışı teslimata ihtiyaç duyan Gateway istemcileri,
skills.upload.begin, skills.upload.chunk ve skills.upload.commit ile
bir zip skill arşivi hazırlayıp ardından skills.install({ source: "upload", ... })
ile kurabilir. Bu yol varsayılan olarak kapalıdır ve openclaw.json içinde
skills.install.allowUploadedArchives: true gerektirir. Normal ClawHub
kurulumları bu ayara asla ihtiyaç duymaz.
Güvenlik
Path containment
Çalışma alanı, proje-aracısı ve ek-dizin skill keşfi, çözülmüş realpath'i
yapılandırılmış kökün içinde kalan skill köklerini kabul eder; bunun istisnası,
skills.load.allowSymlinkTargets ayarının bir hedef köke açıkça güvenmesidir.
Skill Workshop, yalnızca skills.workshop.allowSymlinkTargetWrites
etkinleştirildiğinde bu güvenilir hedefler üzerinden yazar.
Yönetilen ~/.openclaw/skills ve kişisel ~/.agents/skills, symlink'li
skill klasörleri içerebilir; ancak her SKILL.md realpath'i yine de
çözülmüş skill dizininin içinde kalmalıdır.
Operator install policy
Skill kurulumları devam etmeden önce güvenilir bir yerel ilke komutu
çalıştırmak için security.installPolicy yapılandırın. İlke, metadata ve
hazırlanmış kaynak yolunu alır; ClawHub, yüklenen, Git, yerel, güncelleme ve
bağımlılık-kurucu yollarına uygulanır ve komut geçerli bir karar döndüremezse
kapalı başarısız olur.
Secret injection scope
skills.entries.*.env ve skills.entries.*.apiKey, gizli değerleri yalnızca
o aracı turu için host sürecine enjekte eder — sandbox'a değil. Gizli
değerleri prompt'lardan ve günlüklerden uzak tutun.
Daha geniş tehdit modeli ve güvenlik kontrol listeleri için Security sayfasına bakın.
SKILL.md biçimi
Her skill için frontmatter içinde en az bir name ve description gerekir:
---name: image-labdescription: Generate or edit images via a provider-backed image workflow--- When the user asks to generate an image, use the `image_generate` tool...İsteğe bağlı frontmatter anahtarları
homepagestringmacOS Skills arayüzünde "Website" olarak gösterilen URL. Ayrıca
metadata.openclaw.homepage üzerinden de desteklenir.
user-invocablebooleandefault: truetrue olduğunda skill, kullanıcı tarafından çağrılabilir bir slash komutu
olarak sunulur.
disable-model-invocationbooleandefault: falsetrue olduğunda OpenClaw, skill yönergelerini aracının normal prompt'unun
dışında tutar. user-invocable da true olduğunda skill yine de slash komutu
olarak kullanılabilir.
command-dispatch"tool"tool olarak ayarlandığında slash komutu modeli atlar ve doğrudan kayıtlı
bir araca gönderilir.
command-toolstringcommand-dispatch: tool ayarlandığında çağrılacak araç adı.
command-arg-mode"raw"default: rawAraç yönlendirmesi için ham args dizesini çekirdek ayrıştırması olmadan
araca iletir. Araç
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" } alır.
Kapılama
OpenClaw, yükleme sırasında Skills'i metadata.openclaw kullanarak filtreler
(frontmatter içinde tek satırlık JSON). metadata.openclaw bloğu olmayan bir Skill,
açıkça devre dışı bırakılmadığı sürece her zaman uygundur.
---name: image-labdescription: Generate or edit images via a provider-backed image workflowmetadata: { "openclaw": { "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] }, "primaryEnv": "GEMINI_API_KEY", }, }---alwaysbooleantrue olduğunda, Skill'i her zaman dahil eder ve diğer tüm kapıları atlar.
emojistringmacOS Skills UI'da gösterilen isteğe bağlı emoji.
homepagestringmacOS Skills UI'da "Website" olarak gösterilen isteğe bağlı URL.
os"darwin" | "linux" | "win32"Platform filtresi. Ayarlandığında Skill yalnızca listelenen işletim sistemlerinde uygundur.
requires.binsstring[]Her ikili dosya PATH üzerinde bulunmalıdır.
requires.anyBinsstring[]En az bir ikili dosya PATH üzerinde bulunmalıdır.
requires.envstring[]Her env var süreçte bulunmalı veya config aracılığıyla sağlanmalıdır.
requires.configstring[]Her openclaw.json yolu truthy olmalıdır.
primaryEnvstringskills.entries.<name>.apiKey ile ilişkili env var adı.
installobject[]macOS Skills UI tarafından kullanılan isteğe bağlı yükleyici belirtimleri (brew / node / go / uv / download).
Yükleyici belirtimleri
Yükleyici belirtimleri, macOS Skills UI'a bir bağımlılığın nasıl yükleneceğini söyler:
---name: geminidescription: Use Gemini CLI for coding assistance and Google search lookups.metadata: { "openclaw": { "emoji": "♊️", "requires": { "bins": ["gemini"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "gemini-cli", "bins": ["gemini"], "label": "Install Gemini CLI (brew)", }, ], }, }---Yükleyici seçim kuralları
- Birden fazla yükleyici listelendiğinde gateway tercih edilen tek bir seçenek seçer (varsa brew, aksi halde node).
- Tüm yükleyiciler
downloadise OpenClaw her girdiyi listeler; böylece kullanılabilir tüm artifact'leri görebilirsiniz. - Belirtimler platforma göre filtrelemek için
os: ["darwin"|"linux"|"win32"]içerebilir. - Node yüklemeleri
openclaw.jsoniçindekiskills.install.nodeManagerayarına uyar (varsayılan: npm; seçenekler: npm / pnpm / yarn / bun). Bu yalnızca Skill yüklemelerini etkiler; Gateway runtime yine Node olmalıdır. - Gateway yükleyici tercihi: Homebrew → uv → yapılandırılmış node yöneticisi → go → download.
Yükleyici başına ayrıntılar
- Homebrew: OpenClaw, Homebrew'u otomatik olarak yüklemez veya brew
formüllerini sistem paketi komutlarına çevirmez.
brewolmayan Linux container'larında yalnızca brew yükleyicileri gizlenir; özel bir image kullanın veya bağımlılığı elle yükleyin. - Go: OpenClaw, otomatik Skill yüklemeleri için Go 1.21 veya daha yenisini gerektirir ve
mevcut
GOBIN,GOPATHveGOTOOLCHAINayarlarını korur. Yapılandırılmış toolchain bir modülün gerekli Go sürümünü karşılayamazsa onboarding, yükleme denemesinden sonra Skill'i manuel Go önkoşullarıyla gruplar.goeksikse ve Homebrew kullanılabiliyorsa OpenClaw önce Go'yu Homebrew üzerinden yükler veGOBINdeğerini Homebrew'unbindizinine ayarlar. Linux'ta OpenClaw bunun yerine, yenilenengolang-goadayı minimum sürümü karşılıyorsa root olarak veya parolasızsudoüzerindenapt-getkullanabilir. - Download:
url(zorunlu),archive(tar.gz|tar.bz2|zip),extract(varsayılan: arşiv algılandığında otomatik),stripComponents,targetDir(varsayılan:~/.openclaw/tools/<skillKey>).
Sandboxing notları
requires.bins, Skill yükleme sırasında host üzerinde denetlenir. Bir agent
sandbox içinde çalışıyorsa ikili dosya container içinde de bulunmalıdır.
agents.defaults.sandbox.docker.setupCommand veya özel bir image üzerinden
yükleyin. setupCommand, container oluşturulduktan sonra bir kez çalışır ve
ağ çıkışı, yazılabilir root FS ve sandbox içinde root kullanıcı gerektirir.
Config geçersiz kılmaları
Paketlenmiş veya yönetilen Skills'i ~/.openclaw/openclaw.json içindeki
skills.entries altında açıp kapatın ve yapılandırın:
{ skills: { entries: { "image-lab": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" }, config: { endpoint: "https://example.invalid", model: "nano-pro", }, }, peekaboo: { enabled: true }, sag: { enabled: false }, }, },}enabledbooleanfalse, paketlenmiş veya yüklü olsa bile Skill'i devre dışı bırakır. Paketlenmiş
coding-agent Skill'i isteğe bağlıdır — skills.entries.coding-agent.enabled: true
ayarını yapın ve claude, codex, opencode veya desteklenen başka bir CLI'ın
yüklü ve kimlik doğrulamasının yapılmış olduğundan emin olun.
apiKeystring | { source, provider, id }metadata.openclaw.primaryEnv bildiren Skills için kolaylık alanı.
Düz metin dizesini veya SecretRef nesnesini destekler.
env"Record<string,configobjectSkill'e özel yapılandırma alanları için isteğe bağlı torba.
allowBundledstring[]Yalnızca paketlenmiş Skills için isteğe bağlı izin listesi. Ayarlandığında yalnızca listedeki paketlenmiş Skills uygundur. Yönetilen ve workspace Skills etkilenmez.
Ortam enjeksiyonu
Bir agent çalıştırması başladığında OpenClaw:
Skill metadata'sını okur
OpenClaw, kapılama kurallarını, izin listelerini ve config geçersiz kılmalarını uygulayarak agent için etkili Skill listesini çözer.
Env ve API anahtarlarını enjekte eder
skills.entries.<key>.env ve skills.entries.<key>.apiKey, çalıştırma süresi boyunca
process.env üzerine uygulanır.
Sistem prompt'unu oluşturur
Uygun Skills kompakt bir XML bloğu halinde derlenir ve sistem prompt'una enjekte edilir.
Ortamı geri yükler
Çalıştırma bittikten sonra özgün ortam geri yüklenir.
Paketlenmiş claude-cli backend'i için OpenClaw aynı uygun Skill snapshot'ını
geçici bir Claude Code plugin'i olarak da oluşturur ve --plugin-dir üzerinden
geçirir. Diğer CLI backend'leri yalnızca prompt kataloğunu kullanır.
Snapshot'lar ve yenileme
OpenClaw uygun Skills'in snapshot'ını bir session başladığında alır ve bu listeyi session içindeki sonraki tüm turn'ler için yeniden kullanır. Skills veya config değişiklikleri bir sonraki yeni session'da etkili olur.
Skills iki durumda session ortasında yenilenir:
- Skills watcher bir
SKILL.mddeğişikliği algılar. - Yeni bir uygun uzak node bağlanır.
Yenilenmiş liste bir sonraki agent turn'ünde alınır. Etkili agent izin listesi değişirse OpenClaw, görünür Skills'i hizalı tutmak için snapshot'ı yeniler.
Skills watcher
Varsayılan olarak OpenClaw, Skill klasörlerini izler ve SKILL.md dosyaları
değiştiğinde snapshot'ı artırır. skills.load altında yapılandırın:
{ skills: { load: { extraDirs: ["~/Projects/agent-scripts/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], watch: true, watchDebounceMs: 250, }, },}Skill root symlink'inin yapılandırılmış root dışına işaret ettiği bilinçli
symlink'li yerleşimler için allowSymlinkTargets kullanın; örneğin
<workspace>/skills/manager -> ~/Projects/manager/skills.
skills.workshop.allowSymlinkTargetWrites ayarını yalnızca Skill Workshop'un
teklifleri bu güvenilen symlink'li yollar üzerinden de uygulaması gerektiğinde etkinleştirin.
Uzak macOS node'ları (Linux gateway)
Gateway Linux üzerinde çalışıyor ancak system.run izni olan bir macOS node
bağlıysa OpenClaw, gerekli ikili dosyalar o node üzerinde mevcut olduğunda
yalnızca macOS Skills'i uygun kabul edebilir. Agent bu Skills'i exec aracıyla
host=node kullanarak çalıştırmalıdır.
Çevrimdışı node'lar, yalnızca uzak Skills'i görünür yapmaz. Bir node bin probe'larına yanıt vermeyi bırakırsa OpenClaw önbelleğe alınmış bin eşleşmelerini temizler.
Token etkisi
Skills uygun olduğunda OpenClaw sistem prompt'una kompakt bir XML bloğu enjekte eder. Maliyet deterministiktir:
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))- Temel ek yük (yalnızca ≥ 1 Skill olduğunda): ~195 karakter
- Skill başına: ~97 karakter +
name,descriptionvelocationalan uzunluklarınız - XML kaçışlama
& < > " 'karakterlerini entity'lere genişletir ve her oluşum başına birkaç karakter ekler - ~4 karakter/token varsayımıyla, 97 karakter alan uzunlukları öncesinde Skill başına ≈ 24 token eder
Prompt ek yükünü en aza indirmek için açıklamaları kısa ve açıklayıcı tutun.
İlgili
Özel bir Skill yazmak için adım adım kılavuz.
Agent taslaklı Skills için teklif kuyruğu.
Tam skills.* config şeması ve agent izin listeleri.
Skill slash commands'ın nasıl kaydedildiği ve yönlendirildiği.
Herkese açık kayıt üzerinde Skills'e göz atın ve yayınlayın.
Plugins, belgeledikleri araçlarla birlikte Skills gönderebilir.