Beceriler (OpenClaw)
OpenClaw, ajana araçları nasıl kullanacağını öğretmek için AgentSkills-uyumlu skill klasörlerini kullanır. Her skill, YAML frontmatter ve talimatlar içeren birSKILL.md barındıran bir dizindir. OpenClaw, paketlenmiş skills ile isteğe bağlı yerel geçersiz kılmaları yükler ve bunları yükleme sırasında ortam, yapılandırma ve ikili (binary) varlığına göre filtreler.
Konumlar ve öncelik
Skills üç yerden yüklenir:- Paketlenmiş skills: kurulumla birlikte gelir (npm paketi veya OpenClaw.app)
- Yönetilen/yerel skills:
~/.openclaw/skills - Çalışma alanı skills:
<workspace>/skills
<workspace>/skills (en yüksek) → ~/.openclaw/skills → paketlenmiş skills (en düşük)
Ayrıca, ~/.openclaw/openclaw.json içindeki skills.load.extraDirs aracılığıyla ek skill klasörleri (en düşük öncelik) yapılandırabilirsiniz.
Ajan başına vs paylaşılan skills
Çok ajanlı kurulumlarda her ajanın kendi çalışma alanı vardır. Bu şu anlama gelir:- Ajan başına skills, yalnızca o ajan için
<workspace>/skillsiçinde bulunur. - Paylaşılan skills,
~/.openclaw/skills(yönetilen/yerel) içinde bulunur ve aynı makinedeki tüm ajanlar tarafından görülebilir. - Paylaşılan klasörler, birden fazla ajanın kullandığı ortak bir skills paketi istiyorsanız
skills.load.extraDirsaracılığıyla (en düşük öncelik) da eklenebilir.
Eklentiler + skills
Eklentiler, eklenti köküne göre göreli yollar olanopenclaw.plugin.json içinde skills dizinlerini listeleyerek kendi skills’lerini sunabilir. Eklenti etkinleştirildiğinde eklenti skills’leri yüklenir ve normal skill öncelik kurallarına katılır.
Bunları eklentinin yapılandırma girdisindeki metadata.openclaw.requires.config ile geçitleyebilirsiniz. Keşif/yapılandırma için Plugins ve bu skills’lerin öğrettiği araç yüzeyi için Tools sayfalarına bakın.
ClawHub (kurulum + senkronizasyon)
ClawHub, OpenClaw için herkese açık skills kayıt defteridir. https://clawhub.com adresinden göz atın. Skills keşfetmek, kurmak, güncellemek ve yedeklemek için kullanın. Tam kılavuz: ClawHub. Yaygın akışlar:- Çalışma alanınıza bir skill kurma:
clawhub install <skill-slug>
- Kurulu tüm skills’leri güncelleme:
clawhub update --all
- Senkronizasyon (tara + güncellemeleri yayınla):
clawhub sync --all
clawhub mevcut çalışma dizininiz altında ./skills içine kurar (ya da yapılandırılmış OpenClaw çalışma alanına geri döner). OpenClaw bunu bir sonraki oturumda <workspace>/skills olarak algılar.
Güvenlik notları
- Üçüncü taraf skills’leri güvenilmeyen kod olarak ele alın. Etkinleştirmeden önce inceleyin.
- Güvenilmeyen girdiler ve riskli araçlar için sandbox’lı çalıştırmaları tercih edin. Sandboxing bölümüne bakın.
skills.entries.*.envveskills.entries.*.apiKey, o ajan turu için sırları ana makine sürecine enjekte eder (sandbox’a değil). Sırları istemlerden ve günlüklerden uzak tutun.- Daha geniş bir tehdit modeli ve kontrol listeleri için Security bölümüne bakın.
Biçim (AgentSkills + Pi-uyumlu)
SKILL.md en azından şunları içermelidir:
- Düzen/amaç için AgentSkills belirtimini izleriz.
- Gömülü ajan tarafından kullanılan ayrıştırıcı yalnızca tek satırlı frontmatter anahtarlarını destekler.
metadatatek satırlı bir JSON nesnesi olmalıdır.- Skill klasör yoluna referans vermek için talimatlarda
{baseDir}kullanın. - İsteğe bağlı frontmatter anahtarları:
-
homepage— macOS Skills UI’da “Website” olarak gösterilen URL (ayrıcametadata.openclaw.homepageüzerinden de desteklenir). -
user-invocable—true|false(varsayılan:true).trueolduğunda, skill kullanıcı eğik çizgi komutu olarak sunulur. -
disable-model-invocation—true|false(varsayılan:false).trueolduğunda, skill model isteminden hariç tutulur (kullanıcı çağrısı ile hâlâ kullanılabilir). -
command-dispatch—tool(isteğe bağlı).toololarak ayarlandığında, eğik çizgi komutu modeli atlar ve doğrudan bir araca yönlendirir. -
command-tool—command-dispatch: toolayarlandığında çağrılacak araç adı. -
command-arg-mode—raw(varsayılan). Araç yönlendirmesi için ham argüman dizgesini araca iletir (çekirdek ayrıştırma yok). Araç şu parametrelerle çağrılır:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
-
Geçitleme (yükleme zamanı filtreleri)
OpenClaw,metadata (tek satırlı JSON) kullanarak skills’leri yükleme zamanında filtreler:
metadata.openclaw altındaki alanlar:
always: true— skill’i her zaman dahil et (diğer geçitleri atla).emoji— macOS Skills UI tarafından kullanılan isteğe bağlı emoji.homepage— macOS Skills UI’da “Website” olarak gösterilen isteğe bağlı URL.os— isteğe bağlı platform listesi (darwin,linux,win32). Ayarlanırsa, skill yalnızca bu işletim sistemlerinde uygun olur.requires.bins— liste; her birininPATHüzerinde mevcut olması gerekir.requires.anyBins— liste; en az birininPATHüzerinde mevcut olması gerekir.requires.env— liste; ortam değişkeni mevcut olmalı ya da yapılandırmada sağlanmış olmalıdır.requires.config— doğru (truthy) olması gerekenopenclaw.jsonyollarının listesi.primaryEnv—skills.entries.<name>.apiKeyile ilişkili ortam değişkeni adı.install— macOS Skills UI tarafından kullanılan isteğe bağlı yükleyici belirtimleri dizisi (brew/node/go/uv/download).
requires.bins, skill yükleme zamanında ana makinede kontrol edilir.- Bir ajan sandbox’lıysa, ikili konteyner içinde de mevcut olmalıdır.
Bunu
agents.defaults.sandbox.docker.setupCommand(veya özel bir imaj) ile kurun.setupCommand, konteyner oluşturulduktan sonra bir kez çalışır. Paket kurulumları ayrıca ağ çıkışı, yazılabilir bir kök FS ve sandbox’ta root kullanıcı gerektirir. Örnek:summarizeskill’i (skills/summarize/SKILL.md), orada çalışmak için sandbox konteynerindesummarizeCLI’sine ihtiyaç duyar.
- Birden fazla yükleyici listelenmişse, gateway tek bir tercih edilen seçenek seçer (varsa brew, aksi halde node).
- Tüm yükleyiciler
downloadise, OpenClaw mevcut yapıtları görebilmeniz için her girdiyi listeler. - Yükleyici belirtimleri, seçenekleri platforma göre filtrelemek için
os: ["darwin"|"linux"|"win32"]içerebilir. - Node kurulumları,
openclaw.jsoniçindekiskills.install.nodeManager’e uyar (varsayılan: npm; seçenekler: npm/pnpm/yarn/bun). Bu yalnızca skill kurulumlarını etkiler; Gateway çalışma zamanı yine Node olmalıdır (Bun, WhatsApp/Telegram için önerilmez). - Go kurulumları:
goyoksa vebrewmevcutsa, gateway önce Homebrew üzerinden Go’yu kurar ve mümkün olduğundaGOBIN’u Homebrew’unbin’ine ayarlar. - Download kurulumları:
url(gerekli),archive(tar.gz|tar.bz2|zip),extract(varsayılan: arşiv algılandığında auto),stripComponents,targetDir(varsayılan:~/.openclaw/tools/<skillKey>).
metadata.openclaw yoksa, skill her zaman uygundur (yapılandırmada devre dışı bırakılmadıkça veya paketlenmiş skills için skills.allowBundled tarafından engellenmedikçe).
Yapılandırma geçersiz kılmaları (~/.openclaw/openclaw.json)
Paketlenmiş/yönetilen skills açılıp kapatılabilir ve ortam değerleri sağlanabilir:
metadata.openclaw.skillKey tanımlıyorsa, skills.entries altında o anahtarı kullanın.
Kurallar:
enabled: false— paketlenmiş/kurulu olsa bile skill’i devre dışı bırakır.env— değişken süreçte zaten ayarlı değilse enjekte edilir.apiKey—metadata.openclaw.primaryEnvbildiren skills için kolaylık sağlar.config— özel skill başına alanlar için isteğe bağlı torba; özel anahtarlar burada olmalıdır.allowBundled— yalnızca paketlenmiş skills için isteğe bağlı izin listesi. Ayarlanırsa, yalnızca listedeki paketlenmiş skills uygundur (yönetilen/çalışma alanı skills etkilenmez).
Ortam enjeksiyonu (ajan başına çalıştırma)
Bir ajan çalıştırması başladığında OpenClaw:- Skill meta verilerini okur.
skills.entries.<key>.envveyaskills.entries.<key>.apiKey’yiprocess.env’e uygular.- Uygun skills ile sistem istemini oluşturur.
- Çalıştırma bittiğinde özgün ortamı geri yükler.
Oturum anlık görüntüsü (performans)
OpenClaw, bir oturum başladığında uygun skills’in anlık görüntüsünü alır ve aynı oturumdaki sonraki turlar için bu listeyi yeniden kullanır. Skills veya yapılandırmadaki değişiklikler bir sonraki yeni oturumda etkili olur. Skills, skills izleyici etkinleştirildiğinde veya yeni bir uygun uzak düğüm göründüğünde oturum ortasında da yenilenebilir (aşağıya bakın). Bunu bir hot reload olarak düşünün: yenilenen liste bir sonraki ajan turunda alınır.Uzak macOS düğümleri (Linux gateway)
Gateway Linux üzerinde çalışıyor ancak macOS düğümüsystem.run izinli olarak bağlıysa (Exec approvals güvenliği deny olarak ayarlı değilse), OpenClaw gerekli ikililer o düğümde mevcut olduğunda macOS’a özgü skills’i uygun olarak değerlendirebilir. Ajan bu skills’i nodes aracıyla (genellikle nodes.run) çalıştırmalıdır.
Bu, düğümün komut desteğini bildirmesine ve system.run üzerinden bir bin yoklamasına dayanır. macOS düğümü daha sonra çevrimdışı olursa, skills görünür kalır; düğüm yeniden bağlanana kadar çağrılar başarısız olabilir.
Skills izleyici (otomatik yenileme)
Varsayılan olarak OpenClaw, skill klasörlerini izler veSKILL.md dosyaları değiştiğinde skills anlık görüntüsünü günceller. Bunu skills.load altında yapılandırın:
Token etkisi (skills listesi)
Skills uygun olduğunda OpenClaw, sistem istemine kullanılabilir skills’in kompakt bir XML listesini enjekte eder (pi-coding-agent içindeki formatSkillsForPrompt aracılığıyla). Maliyet deterministiktir:
- Temel ek yük (yalnızca ≥1 skill olduğunda): 195 karakter.
- Skill başına: 97 karakter + XML-kaçışlı
<name>,<description>ve<location>değerlerinin uzunluğu.
- XML kaçışlama,
& < > " '’yı varlıklara (&,<, vb.) genişleterek uzunluğu artırır. - Token sayıları model tokenleştiricisine göre değişir. Kabaca OpenAI tarzı bir tahmin ~4 karakter/token’dır; dolayısıyla skill başına 97 karakter ≈ 24 token artı gerçek alan uzunluklarınız.
Yönetilen skills yaşam döngüsü
OpenClaw, kurulumun bir parçası olarak (npm paketi veya OpenClaw.app) paketlenmiş skills şeklinde temel bir skills seti sunar.~/.openclaw/skills, yerel geçersiz kılmalar için vardır (örneğin, paketlenmiş kopyayı değiştirmeden bir skill’i sabitlemek/yamalamak). Çalışma alanı skills’leri kullanıcıya aittir ve ad çakışmalarında her ikisini de geçersiz kılar.