Özel OpenClaw Yetenekleri Oluşturma: Uygulamalı Bir Eğitim
Bu adım adım eğitimde, sıfırdan OpenClaw yetenekleri oluşturmayı, harici API’lere bağlanmayı, Docker kum havuzunu yapılandırmayı ve ClawHub’a yayımlamayı öğrenin.
OpenClaw’ın yerleşik yetenekleri yaygın iş akışlarını kapsar ve ClawHub’da çok daha fazlası bulunur. Ancak en önemlileri çoğu zaman kimsenin henüz geliştirmediği, kendi projeleriniz ve araçlarınız etrafında şekillenen otomasyonlardır.
Bu eğitim iki özel yeteneğin nasıl oluşturulacağını gösteriyor. İlki, Jupyter defterlerini Word belgelerine dönüştüren bir Python betiğini sarmalıyor. Not defterlerinde yazıp editörlere veya paydaşlara .docx dosyaları teslim ediyorsanız, bu manuel dışa aktarmayı bir eğik çizgi komutuna dönüştürür. İkincisi, Replicate API aracılığıyla Nano Banana Pro ile görseller üretir; temellerin üzerine kimlik bilgisi yönetimi ve ortam kapsamını ekler.
Yetenekler, OpenClaw ajanına yeni davranışlar eklemenin yoludur. Bir yetenek, kodu yeniden biçimlendiren basit bir eğik çizgi komutu kadar basit, PR’leri inceleyip Jira veya Slack’e yorumlar gönderen çok adımlı bir iş akışı kadar kapsamlı olabilir.
Eğer MCP (Model Context Protocol) sunucularını Claude Code veya benzeri araçlarda kullandıysanız, yetenekler farklı bir rol üstlenir. MCP sunucuları, kalıcı durum veya birden çok araç uç noktası gerektiren tümleştirmeler için uygun, standartlaştırılmış bir protokol üzerinden araçları sunan ayrı işlemlerdir.
Yetenekler bunların hepsini atlar: Çalışma zamanında ajanın okuduğu ve takip ettiği sade dilde talimatlar yazarsınız; böylece yalnızca tek bir şeyi otomatikleştirmeniz gerektiğinde daha hızlı geliştirilirler. OpenClaw ve Claude Code karşılaştırması ödünleşimleri daha derinlemesine ele alır.
Kancalar (Hooks) ise diğer genişletme noktasıdır ve bir olay gerçekleştiğinde (ör. bir araç çağrısı tamamlandığında veya model bir yanıt ürettiğinde) otomatik olarak tetiklenir. Yetenekler ise kullanıcı bir eğik çizgi komutu yazana ya da ajan mevcut görevle ilgili olduğuna karar verene kadar beklemede kalır.
OpenClaw; e-posta, takvim, GitHub, tarayıcı otomasyonu ve daha fazlasını kapsayan 49 yetenekle birlikte gelir. Topluluk ise ClawHub üzerinde binlercesini yayımlamıştır. Platformun nasıl evrildiğine dair arka plan için bkz. MoltBot’tan ClawdBot’a tarihçe.
Ön Koşullar
Gerekenler:
Telegram üzerinden kurulu ve çalışan OpenClaw (kurulum rehberi). Telegram’ın BotFather entegrasyonu, bu eğitim boyunca yetenekleri tetikleyeceğiniz eğik çizgi komutları için en iyi desteğe sahiptir.
uv yüklü (bu eğitimdeki iki yetenek de Python bağımlılıkları için bunu kullanır)
Terminal, YAML ve Markdown ile çalışma rahatlığı
Görsel üretim yeteneği için bir Replicate API belirteci (ücretsiz kayıt, kullanım başına ödeme)
ClawHub’a yayımlamak istiyorsanız en az bir haftalık bir GitHub hesabı
İlk yetenek, Jupyter defterlerini Word belgelerine dönüştüren bir Python betiğini sarmalar; böylece markdown biçimlendirmesi, kod blokları, görseller, tablolar ve köprüler işlenir ve .docx çıktısı özgün defterin yapısını korur. İçeriği düzenli olarak Word ile çalışan kişilere aktarıyorsanız, bu manuel dışa aktarmayı tek bir eğik çizgi komutuna dönüştürür.
~/.openclaw/skills içindeki yetenekler tüm oturumlarınızda kullanılabilir. Bunları bir projeye <project>/skills altına da yerleştirerek yalnızca o çalışma alanına kapsamlayabilirsiniz; bir ad her iki konumda da bulunuyorsa, çalışma alanındaki kopya yönetilen kopyaya, o da aynı adlı paketli bir yeteneğe üstün gelir.
SKILL.md’yi yazma
Her yeteneğin bir dosyaya ihtiyacı vardır: SKILL.md. Üstteki YAML ön bilgisi, OpenClaw’ın yeteneği nasıl yükleyeceğini tanımlar; alttaki markdown gövdesi ise ajanın çalışma zamanında takip ettiği talimatları içerir.
Şununla başlayarak ~/.openclaw/skills/notebook-to-docx/SKILL.md dosyasını oluşturun:
---name: notebook-to-docx
description: Convert Jupyter notebooks to Word documents with proper formatting
user-invocable:truemetadata:{"openclaw":{"requires":{"bins":["uv"]}}}---Altyapı:
name aynı zamanda eğik çizgi komutudur (/notebook-to-docx). description ajanın mevcut görevle ilgisini değerlendirmek için kullandığı tek satırlık bir açıklama verir. user-invocable: true ayarı, Telegram sohbetinize eğik çizgi komutunu kaydeder. metadata JSON’u yükleme zamanında kapı görevi görür: requires.bins, çalıştırma zamanında hataya düşmek yerine sistem PATH’inde uv yoksa bu yeteneği atlamasını söyler.
Tersini isterseniz, yani yetenek yalnızca açıkça eğik çizgi komutunu yazdığınızda çalışsın derseniz, disable-model-invocation: true olarak ayarlayın.
İpucu: YAML ön bilgisi yalnızca tek satırlık değerleri destekler. Çok satırlı dizeler veya blok ölçekleyiciler ayrıştırma hatalarına neden olur; bu nedenle metadata, iç içe YAML yerine tek satırlık bir JSON nesnesidir.
Ön bilginin altına talimat gövdesini ekleyin:
# Notebook to DOCX Converter
Converts Jupyter notebooks (.ipynb) to Word documents (.docx) with proper formatting.
## Usage
Run the conversion script:
uv run --with nbformat --with python-docx --with Pillow python {baseDir}/notebook_to_docx.py <notebook_path> [output_path]
If output_path is not specified, creates a .docx file with the same name as the notebook.
## Features- Markdown formatting preserved as Word styles (bold, italics, headings)
- Backticks preserved around inline code with monospace font
- Code blocks show triple backticks and language name, use Courier New font
- Non-code text uses Poppins font
- Images embedded with alt text
- Hyperlinks preserved and clickable
- Markdown tables converted to Word tables
## Requirements- nbformat
- python-docx
- PillowAltyapı:
{baseDir}, çalışma zamanında yetenek klasör yoluna çözümlenen bir şablon değişkenidir; böylece konumu kalıcı olarak yazmanız gerekmez. Bu, bir başkası sizin yeteneğinizi farklı bir dizine kurduğunda önemlidir.
uv run --with bayrakları, betiğin ihtiyaç duyduğu üç kütüphaneyi çeker; böylece bu paketlerin kullanıcının ortamında mevcut olduğunu varsaymak yerine yetenek kendi içinde kalır.
Destekleyici betik
Python betiği, SKILL.md ile aynı klasöre konur. Yaklaşık 490 satır olduğundan burada tamamını veremiyoruz; bu nedenle bu gist’ten tam betiği alın ve ~/.openclaw/skills/notebook-to-docx/ konumunda notebook_to_docx.py olarak yerleştirin. Yukarıdaki SKILL.md’de Özellikler bölümünde listelenen her şeyi kapsar.
Yüksek seviyede ne yaptığını görmek için giriş noktasını burada bulabilirsiniz:
OpenClaw, oturum başlangıcında yetenek listesinin anlık görüntüsünü alır; ancak yerleşik bir dosya izleyici, yeni SKILL.md dosyalarını yaklaşık 250 ms içinde algılar. Yetenek görünmüyorsa, oturumu yeniden başlatın.
Test için kullanacağımız defter burada:
OpenClaw ile Telegram sohbetinizi açın ve /notebook-to-docx yazın; ardından hangi defterin dönüştürüleceğini belirtin:
Ortaya çıkan Word belgesi:
Başlıklar, kod blokları, satır içi biçimlendirme ve köprüler doğru Word stillerine oturur. Çıktınızda bir şeyler ters görünüyorsa, SKILL.md’nizdeki özellikler listesinin betiğin destekledikleriyle eşleştiğini kontrol edin.
OpenClaw Güvenliği ve Kum Havuzu
OpenClaw, araç yürütmeyi Docker konteynerleri içinde çalıştırabilir; bu da hatalı çalışan veya ele geçirilmiş bir yeteneğin makinenizde erişebileceklerini sınırlar. Ayar, ~/.openclaw/openclaw.json içindeki agents.defaults.sandbox altında yer alır ve seçebileceğiniz üç mod vardır:
"off" varsayılandır; araçlar doğrudan ana makinede, yalıtım katmanı olmadan çalışır.
"non-main" birincil sohbet oturumunuzu ana makinede tutar ancak arka plan ve otomatik oturumları konteynerlere taşır.
"all" ile bağlamdan bağımsız olarak her oturum bir konteyner içinde çalışır.
Moda ek olarak, konteynerin dosya sisteminizin ne kadarını gördüğünü belirleyen bir çalışma alanı erişim düzeyi seçersiniz. Varsayılan "none", ~/.openclaw/sandboxes altında kendi yalıtılmış dizinini verir ve proje dosyalarınıza erişim tanımaz.
"ro" ile çalışma alanınız /agent konumunda salt okunur bağlanır; böylece ajan kodunuzu okuyabilir ama hiçbir şeyi değiştiremez. "rw" daha ileri gider ve /workspace konumunda tam okuma-yazma erişimi verir.
Arka plan oturumlarını kum havuzuna alıp yazma erişimi veren çalışan bir yapılandırma şöyle görünür:
Bu, yetenekleriniz API’leri çağırmaya veya kimlik bilgilerini işlemeye başladığı anda önem kazanır.
Bir yetenek konteyner içinde çalıştığında, ana makinedeki ortam değişkenleri otomatik olarak orada olmaz. .bashrc içinde dışa aktardığınız bir REPLICATE_API_TOKEN kum havuzunda bulunmayacaktır; bu nedenle sırlar bunun yerine OpenClaw’ın yapılandırma sistemi üzerinden geçmelidir; bir sonraki bölümde bunu ayarlayacağız.
İpucu: Yeteneğiniz meta verilerinde bir CLI aracına kapı koymak için requires.bins kullanıyorsa, bu kontrol yükleme zamanında ana makinede çalışır. Ancak ajan kum havuzundaysa, ikili dosyanın konteyner içinde de bulunması gerekir. sandbox.docker.setupCommand aracılığıyla kurun veya özel bir Docker imajına dâhil edin.
Kum havuzu, dosya işlemleri veya kabuk komutları ters gittiğinde etki alanını da sınırlar. Yanlışlıkla rm -rf / çalıştıran bir yetenek, gerçek makineniz yerine konteyner dosya sistemine çarpar; bu da kendi kodunuza güveniyor olsanız bile açmayı düşünmek için fena bir neden değildir.
İkinci yetenek, Replicate API aracılığıyla Google’ın Nano Banana Pro (Gemini 3 Pro Image) modelini kullanarak görseller üretir; bu da SKILL.md temellerinin üzerine kimlik bilgisi yönetimi ve ortam kapılarını bağlamak anlamına gelir.
~/.openclaw/skills/nano-banana-pro/SKILL.md dosyasını ön bilgilerle başlayarak oluşturun:
---name: nano-banana-pro
description: Generate or edit images via Gemini 3 Pro Image on Replicate
user-invocable:truemetadata:{"openclaw":{"emoji":"🎨","requires":{"env":["REPLICATE_API_TOKEN"],"bins":["uv"]},"primaryEnv":"REPLICATE_API_TOKEN"}}---Altyapı:
Yapı ilk yetenekle aynıdır; ancak metadata alanı daha fazlasını yapıyor. Artık iki kapı içeriyor: requires.env, yetenek yüklenmeden önce REPLICATE_API_TOKEN var mı diye kontrol eder; requires.bins ise uv arar. Her ikisinden biri eksikse yetenek sessizce atlanır.
emoji alanı, Telegram eğik çizgi komut listesinde bir simge ayarlar. primaryEnv ise REPLICATE_API_TOKEN değişkenini yapılandırmadaki apiKey kısayoluna eşler (aşağıdaki kimlik bilgisi bölümünde daha fazla bilgi).
macOS Skills arayüzünün gerekli ikililer için tek tıkla kurulum sunmasını istiyorsanız, meta verilere bir install dizisi ekleyin:
Linux’ta kurulumu manuel olarak veya sandbox.docker.setupCommand üzerinden yönetin.
Ön bilginin altına talimat gövdesini ekleyin:
# Nano Banana Pro Image Generator
Generate and edit images using Google's Nano Banana Pro model via the Replicate API.
## Usage
Run the generation script:
uv run --with replicate python {baseDir}/generate.py --prompt "<user prompt>" [--aspect-ratio 1:1] [--output image.png]## Options- --prompt: The image description (required)
- --aspect-ratio: Ratio like 1:1, 4:3, 16:9 (default: 1:1)
- --output: Output file path (default: generated_image.png)
## Tips- For text in images, be specific about fonts, size, and placement
- The model supports resolutions up to 2K
- Safety filtering is on by defaultAltyapı:
Gövde, çoğu karmaşıklığı üretim betiği üstlendiği için ilk yetenekten daha kısadır. {baseDir} şablon değişkeni aynı şekilde çalışır; çalışma zamanında yetenek klasörüne çözümlenir.
Bağımsız değişkenleri ayrıştırır, model adı ve girdi parametreleriyle replicate.run() çağrısı yapar ve ortaya çıkan görseli indirir. replicate kütüphanesi REPLICATE_API_TOKEN değerini ortamdan otomatik olarak okur.
API kimlik bilgisini yapılandırma
Şuraya bir giriş ekleyin: ~/.openclaw/openclaw.json:
Burada kimlik bilgisini sağlamanın iki yolu vardır. apiKey alanı, yetenek meta verilerinde primaryEnv’in bildirdiği şeye karşılık gelen bir kısayoldur. env bloğu ise, yetenek ihtiyaç duyarsa birden çok ortam değişkeni enjekte etmenize imkân tanıyarak daha ince ayar sağlar.
Her iki yaklaşım da değerleri ajan çalışmasına kapsamlar. Çalışma başladığında ayarlanır ve bittiğinde temizlenir; böylece genel kabuk ortamınıza sızmazlar.
Test
Yeni bir OpenClaw oturumu başlatın ve yeteneği çağırın:
/nano_banana_pro generate a beautiful and accurate diagram of how backpropagation worksAltyapı:
İşte yeteneğin Replicate üzerindeki Nano Banana Pro ile ürettiği diyagram:
Görsel geldi ancak buraya ulaşmak bir sapma gerektirdi. Bu SKILL.md’nin ilk sürümünde bir ## Rules bölümü yoktu; bu da ajana doğaçlama alanı bıraktı. Nano Banana Pro, yüksek talep nedeniyle “hizmet kullanılamıyor” hatası döndürdüğünde, ajan kendi başına alternatif olarak google/nano-banana (Pro olmayan varyant) denemeye karar verdi ve görseli o modelle üretti.
Ajanın bakış açısından seçim mantıklıydı: görevi mevcut herhangi bir yolla tamamlamak. Sizin açınızdan ise istenen bu değildi. Düzeltme, talimat gövdesine davranışsal kısıtlar eklemek oldu:
## Rules- Only use the google/nano-banana-pro model. Never fall back to other models like google/nano-banana or any alternative. If the model is unavailable or rate-limited, report the error to the user and stop.
- After generating an image, send the image file directly in the chat. Do not just save it to the workspace silently.Altyapı:
Ajan, SKILL.md talimatlarını katı sınırlar yerine rehber olarak görür ve boşlukları kendi muhakemesiyle doldurur. Yasaklamadığınız her şeyi denemeye karar verebilir.
Bir davranış sizin için önemliyse—hangi modelin kullanılacağı, çıktının nereye gönderileceği veya hatada yeniden deneyip denemeyeceği gibi—bunu bir Kurallar bölümünde açıkça yazın.
Yetenekleri ClawHub’da Yayımlama ve Paylaşma
ClawHub, OpenClaw yetenekleri için herkese açık kayıt defteridir; gezinmek ve kurmak ücretsizdir. Yayımlamak için en az bir haftalık bir GitHub hesabı gerekir.
--slug, ClawHub’daki benzersiz tanımlayıcıdır ve tüm kayıt boyunca benzersiz olmalıdır. Başkası bu slug ile zaten bir yetenek yayımladıysa, komut “sadece sahibi güncelleme yayımlayabilir” hatasıyla başarısız olur. Bu durumda yourname-nano-banana-pro gibi farklı bir slug seçin.
--version anlamsal sürümleme kurallarını izler. Her güncelleme yayımladığınızda sürüm numarasını artırın ve isteğe bağlı olarak bir değişiklik günlüğü ekleyin:
Kurulan yetenekler varsayılan olarak ./skills klasörüne gider ve OpenClaw bunları bir sonraki oturumda çalışma alanı yetenekleri olarak algılar.
Üçüncü taraf yetenekler hakkında bir not
Ocak 2026’da, Koi’deki güvenlik araştırmacıları, daha sonra ClawHavoc olayı olarak anılacak olayda ClawHub’da 341 kötü amaçlı yetenek keşfetti. Saldırganlar, yazım yanlışıyla taklit edilen yetenek adları ve sahte “önkoşul” kurulum adımları kullanarak Atomic macOS Stealer (AMOS), ters kabuklar ve kimlik bilgisi sızdırma yüklerini dağıttı.
Şubat 2026 ortasına gelindiğinde, sayı düzinelerce kategoriye yayılan 824’ün üzerinde işaretli yeteneğe ulaştı.
Herhangi bir topluluk yeteneğini kurmadan önce, SKILL.md ve destekleyici dosyalarını okuyun. Şüpheli “önkoşul” kurulum adımlarına, gizlenmiş koda veya base64 kodlu komutlara dikkat edin. ClawHub, üç veya daha fazla kullanıcı bildirimi olan yetenekleri otomatik olarak gizler; ancak yeni kötü amaçlı yetenekler, moderasyonun yakalamasından daha hızlı görünebilir.
Clawdex gibi araçlar, kurulu yeteneklerinizi bilinen kötü amaçlı paketlerin veritabanına karşı tarayabilir.
Üçüncü taraf yeteneklere, üçüncü taraf herhangi bir koda göstereceğiniz aynı ihtiyatla yaklaşın: çalıştırmadan önce gözden geçirin.
Sonuç
SKILL.md formatı, openclaw.json üzerinden kimlik bilgisi kapsamı ve ClawHub CLI ile, yerel otomasyondan paylaşılan pakete kadar tam yaşam döngüsüne sahipsiniz.
Yeni bir OpenClaw yeteneği oluşturmadaki işin çoğu, markdown gövdesinde net talimatlar yazmak ve meta verilerde neyi kapılayacağınıza karar vermektir. Dönüştürme betiği veya bir API çağrısı olsun, gerçek kod ise bağımsız dosyalarda kalır; böylece onları ayrı ayrı test edip yineleyebilirsiniz.
Bu eğitimin kapsamının ötesine geçmek için, OpenClaw deposundaki paketli yetenekler çekirdek ekibin daha kapsamlı iş akışlarını nasıl yapılandırdığını gösterir. Claude Opus 4.6 genel bakışı, model seçimlerinin ajan davranışını nasıl etkilediğine daha derin iner ve Claude Modellerine Giriş dersi, OpenClaw gibi ajanların arkasındaki modellerle uygulamalı pratik sunar.
OpenClaw Yetenekleri Oluşturma SSS
OpenClaw’da SKILL.md dosyası nedir?⌄
SKILL.md, her OpenClaw yeteneğinin ihtiyaç duyduğu tek dosyadır. Yükleme davranışını tanımlayan YAML ön bilgisi (ad, açıklama, meta veri kapıları) ve çalışma zamanında ajanın takip ettiği talimatları içeren bir markdown gövdesi bulunur.
Özel OpenClaw yeteneklerini nereye koymalıyım?⌄
Onları tüm oturumlarda kullanılabilen yönetilen yetenekler için ~/.openclaw/skills/ konumuna veya çalışma alanı kapsamlı yetenekler için <project>/skills/ konumuna yerleştirin. Çalışma alanı yetenekleri, aynı adda olan yönetilen yeteneklerin; onlar da paketli yeteneklerin üzerinde önceliğe sahiptir.
API anahtarlarını OpenClaw yeteneğine güvenli şekilde nasıl iletirim?⌄
Kimlik bilgisini ~/.openclaw/openclaw.json içindeki yetenek girişine apiKey kısayolunu veya env bloğunu kullanarak ekleyin. Her ikisi de değerleri ajan çalışmasına kapsamlar ve çalışma bittiğinde temizler; böylece kabuk ortamınıza sızmazlar.
Bir OpenClaw yeteneğini ClawHub’a nasıl yayımlarım?⌄
ClawHub CLI’ı npm ile kurun, clawhub login ile kimlik doğrulayın; ardından yetenek yolunuz, küresel olarak benzersiz bir slug ve anlamsal bir sürüm numarasıyla clawhub publish çalıştırın. En az bir haftalık bir GitHub hesabına ihtiyacınız var.
OpenClaw’ın Docker kum havuzu nedir ve ne zaman kullanılmalıdır?⌄
Docker kum havuzu, araç yürütmeyi konteynerler içinde çalıştırarak bir yeteneğin ana makinenizde dokunabileceği şeyleri sınırlar. Üç modu vardır: off, non-main (yalnızca arka plan oturumları) ve all. Yetenekleriniz kimlik bilgileri işler veya kabuk komutları çalıştırırsa açmaya değer.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
OpenClaw’ın yerleşik yetenekleri yaygın iş akışlarını kapsar ve ClawHub’da çok daha fazlası bulunur. Ancak en önemlileri çoğu zaman kimsenin henüz geliştirmediği, kendi projeleriniz ve araçlarınız etrafında şekillenen otomasyonlardır.
Bu eğitim iki özel yeteneğin nasıl oluşturulacağını gösteriyor. İlki, Jupyter defterlerini Word belgelerine dönüştüren bir Python betiğini sarmalıyor. Not defterlerinde yazıp editörlere veya paydaşlara .docx dosyaları teslim ediyorsanız, bu manuel dışa aktarmayı bir eğik çizgi komutuna dönüştürür. İkincisi, Replicate API aracılığıyla Nano Banana Pro ile görseller üretir; temellerin üzerine kimlik bilgisi yönetimi ve ortam kapsamını ekler.
Eğitim ayrıca Docker kum havuzu, meta veri kapıları ve yetenekleri ClawHub’a yayımlamayı da kapsar. OpenClaw platformuna daha geniş bir bakış için bkz. OpenClaw Projeleri: Neler Geliştirebilirsiniz ve en iyi ajan yetenekleri rehberimiz.
OpenClaw Yetenekleri Nedir?
Yetenekler, OpenClaw ajanına yeni davranışlar eklemenin yoludur. Bir yetenek, kodu yeniden biçimlendiren basit bir eğik çizgi komutu kadar basit, PR’leri inceleyip Jira veya Slack’e yorumlar gönderen çok adımlı bir iş akışı kadar kapsamlı olabilir.
Eğer MCP (Model Context Protocol) sunucularını Claude Code veya benzeri araçlarda kullandıysanız, yetenekler farklı bir rol üstlenir. MCP sunucuları, kalıcı durum veya birden çok araç uç noktası gerektiren tümleştirmeler için uygun, standartlaştırılmış bir protokol üzerinden araçları sunan ayrı işlemlerdir.
Yetenekler bunların hepsini atlar: Çalışma zamanında ajanın okuduğu ve takip ettiği sade dilde talimatlar yazarsınız; böylece yalnızca tek bir şeyi otomatikleştirmeniz gerektiğinde daha hızlı geliştirilirler. OpenClaw ve Claude Code karşılaştırması ödünleşimleri daha derinlemesine ele alır.
Kancalar (Hooks) ise diğer genişletme noktasıdır ve bir olay gerçekleştiğinde (ör. bir araç çağrısı tamamlandığında veya model bir yanıt ürettiğinde) otomatik olarak tetiklenir. Yetenekler ise kullanıcı bir eğik çizgi komutu yazana ya da ajan mevcut görevle ilgili olduğuna karar verene kadar beklemede kalır.
OpenClaw; e-posta, takvim, GitHub, tarayıcı otomasyonu ve daha fazlasını kapsayan 49 yetenekle birlikte gelir. Topluluk ise ClawHub üzerinde binlercesini yayımlamıştır. Platformun nasıl evrildiğine dair arka plan için bkz. MoltBot’tan ClawdBot’a tarihçe.
Ön Koşullar
Gerekenler:
OpenClaw’ı yerel modellerle çalıştırmak isterseniz, Ollama ile OpenClaw eğitimi bu kurulumu kapsar.
İlk OpenClaw Yeteneklerinizi Oluşturma
İlk yetenek, Jupyter defterlerini Word belgelerine dönüştüren bir Python betiğini sarmalar; böylece markdown biçimlendirmesi, kod blokları, görseller, tablolar ve köprüler işlenir ve
.docxçıktısı özgün defterin yapısını korur. İçeriği düzenli olarak Word ile çalışan kişilere aktarıyorsanız, bu manuel dışa aktarmayı tek bir eğik çizgi komutuna dönüştürür.OpenClaw’ın yönetilen yetenekler dizininde yetenek klasörünü oluşturun:
~/.openclaw/skillsiçindeki yetenekler tüm oturumlarınızda kullanılabilir. Bunları bir projeye<project>/skillsaltına da yerleştirerek yalnızca o çalışma alanına kapsamlayabilirsiniz; bir ad her iki konumda da bulunuyorsa, çalışma alanındaki kopya yönetilen kopyaya, o da aynı adlı paketli bir yeteneğe üstün gelir.SKILL.md’yi yazma
Her yeteneğin bir dosyaya ihtiyacı vardır:
SKILL.md. Üstteki YAML ön bilgisi, OpenClaw’ın yeteneği nasıl yükleyeceğini tanımlar; alttaki markdown gövdesi ise ajanın çalışma zamanında takip ettiği talimatları içerir.Şununla başlayarak
~/.openclaw/skills/notebook-to-docx/SKILL.mddosyasını oluşturun:nameaynı zamanda eğik çizgi komutudur (/notebook-to-docx).descriptionajanın mevcut görevle ilgisini değerlendirmek için kullandığı tek satırlık bir açıklama verir.user-invocable: trueayarı, Telegram sohbetinize eğik çizgi komutunu kaydeder.metadataJSON’u yükleme zamanında kapı görevi görür:requires.bins, çalıştırma zamanında hataya düşmek yerine sistem PATH’indeuvyoksa bu yeteneği atlamasını söyler.Tersini isterseniz, yani yetenek yalnızca açıkça eğik çizgi komutunu yazdığınızda çalışsın derseniz,
disable-model-invocation: trueolarak ayarlayın.İpucu: YAML ön bilgisi yalnızca tek satırlık değerleri destekler. Çok satırlı dizeler veya blok ölçekleyiciler ayrıştırma hatalarına neden olur; bu nedenle
metadata, iç içe YAML yerine tek satırlık bir JSON nesnesidir.Ön bilginin altına talimat gövdesini ekleyin:
{baseDir}, çalışma zamanında yetenek klasör yoluna çözümlenen bir şablon değişkenidir; böylece konumu kalıcı olarak yazmanız gerekmez. Bu, bir başkası sizin yeteneğinizi farklı bir dizine kurduğunda önemlidir.uv run --withbayrakları, betiğin ihtiyaç duyduğu üç kütüphaneyi çeker; böylece bu paketlerin kullanıcının ortamında mevcut olduğunu varsaymak yerine yetenek kendi içinde kalır.Destekleyici betik
Python betiği,
SKILL.mdile aynı klasöre konur. Yaklaşık 490 satır olduğundan burada tamamını veremiyoruz; bu nedenle bu gist’ten tam betiği alın ve~/.openclaw/skills/notebook-to-docx/konumundanotebook_to_docx.pyolarak yerleştirin. Yukarıdaki SKILL.md’de Özellikler bölümünde listelenen her şeyi kapsar.Yüksek seviyede ne yaptığını görmek için giriş noktasını burada bulabilirsiniz:
Yetenek testi
OpenClaw, oturum başlangıcında yetenek listesinin anlık görüntüsünü alır; ancak yerleşik bir dosya izleyici, yeni
SKILL.mddosyalarını yaklaşık 250 ms içinde algılar. Yetenek görünmüyorsa, oturumu yeniden başlatın.Test için kullanacağımız defter burada:
OpenClaw ile Telegram sohbetinizi açın ve
/notebook-to-docxyazın; ardından hangi defterin dönüştürüleceğini belirtin:Ortaya çıkan Word belgesi:
Başlıklar, kod blokları, satır içi biçimlendirme ve köprüler doğru Word stillerine oturur. Çıktınızda bir şeyler ters görünüyorsa, SKILL.md’nizdeki özellikler listesinin betiğin destekledikleriyle eşleştiğini kontrol edin.
OpenClaw Güvenliği ve Kum Havuzu
OpenClaw, araç yürütmeyi Docker konteynerleri içinde çalıştırabilir; bu da hatalı çalışan veya ele geçirilmiş bir yeteneğin makinenizde erişebileceklerini sınırlar. Ayar,
~/.openclaw/openclaw.jsoniçindekiagents.defaults.sandboxaltında yer alır ve seçebileceğiniz üç mod vardır:"off"varsayılandır; araçlar doğrudan ana makinede, yalıtım katmanı olmadan çalışır."non-main"birincil sohbet oturumunuzu ana makinede tutar ancak arka plan ve otomatik oturumları konteynerlere taşır."all"ile bağlamdan bağımsız olarak her oturum bir konteyner içinde çalışır.Moda ek olarak, konteynerin dosya sisteminizin ne kadarını gördüğünü belirleyen bir çalışma alanı erişim düzeyi seçersiniz. Varsayılan
"none",~/.openclaw/sandboxesaltında kendi yalıtılmış dizinini verir ve proje dosyalarınıza erişim tanımaz."ro"ile çalışma alanınız/agentkonumunda salt okunur bağlanır; böylece ajan kodunuzu okuyabilir ama hiçbir şeyi değiştiremez."rw"daha ileri gider ve/workspacekonumunda tam okuma-yazma erişimi verir.Arka plan oturumlarını kum havuzuna alıp yazma erişimi veren çalışan bir yapılandırma şöyle görünür:
Bu, yetenekleriniz API’leri çağırmaya veya kimlik bilgilerini işlemeye başladığı anda önem kazanır.
Bir yetenek konteyner içinde çalıştığında, ana makinedeki ortam değişkenleri otomatik olarak orada olmaz.
.bashrciçinde dışa aktardığınız birREPLICATE_API_TOKENkum havuzunda bulunmayacaktır; bu nedenle sırlar bunun yerine OpenClaw’ın yapılandırma sistemi üzerinden geçmelidir; bir sonraki bölümde bunu ayarlayacağız.İpucu: Yeteneğiniz meta verilerinde bir CLI aracına kapı koymak için
requires.binskullanıyorsa, bu kontrol yükleme zamanında ana makinede çalışır. Ancak ajan kum havuzundaysa, ikili dosyanın konteyner içinde de bulunması gerekir.sandbox.docker.setupCommandaracılığıyla kurun veya özel bir Docker imajına dâhil edin.Kum havuzu, dosya işlemleri veya kabuk komutları ters gittiğinde etki alanını da sınırlar. Yanlışlıkla
rm -rf /çalıştıran bir yetenek, gerçek makineniz yerine konteyner dosya sistemine çarpar; bu da kendi kodunuza güveniyor olsanız bile açmayı düşünmek için fena bir neden değildir.AI ajan iş akışlarının güvenlik sınırlarını nasıl ele aldığı hakkında daha fazla bilgi için bkz. Claude CoWork ile AI Ajan İş Akışları.
API Bağlantılı Bir Yetenek Oluşturma
İkinci yetenek, Replicate API aracılığıyla Google’ın Nano Banana Pro (Gemini 3 Pro Image) modelini kullanarak görseller üretir; bu da SKILL.md temellerinin üzerine kimlik bilgisi yönetimi ve ortam kapılarını bağlamak anlamına gelir.
Yetenek klasörünü oluşturun:
~/.openclaw/skills/nano-banana-pro/SKILL.mddosyasını ön bilgilerle başlayarak oluşturun:Yapı ilk yetenekle aynıdır; ancak
metadataalanı daha fazlasını yapıyor. Artık iki kapı içeriyor:requires.env, yetenek yüklenmeden önceREPLICATE_API_TOKENvar mı diye kontrol eder;requires.binsiseuvarar. Her ikisinden biri eksikse yetenek sessizce atlanır.emojialanı, Telegram eğik çizgi komut listesinde bir simge ayarlar.primaryEnviseREPLICATE_API_TOKENdeğişkenini yapılandırmadakiapiKeykısayoluna eşler (aşağıdaki kimlik bilgisi bölümünde daha fazla bilgi).macOS Skills arayüzünün gerekli ikililer için tek tıkla kurulum sunmasını istiyorsanız, meta verilere bir
installdizisi ekleyin:Linux’ta kurulumu manuel olarak veya
sandbox.docker.setupCommandüzerinden yönetin.Ön bilginin altına talimat gövdesini ekleyin:
Gövde, çoğu karmaşıklığı üretim betiği üstlendiği için ilk yetenekten daha kısadır.
{baseDir}şablon değişkeni aynı şekilde çalışır; çalışma zamanında yetenek klasörüne çözümlenir.Üretim betiği
Şunu ekleyin:
~/.openclaw/skills/nano-banana-pro/generate.py:Bağımsız değişkenleri ayrıştırır, model adı ve girdi parametreleriyle
replicate.run()çağrısı yapar ve ortaya çıkan görseli indirir.replicatekütüphanesiREPLICATE_API_TOKENdeğerini ortamdan otomatik olarak okur.API kimlik bilgisini yapılandırma
Şuraya bir giriş ekleyin:
~/.openclaw/openclaw.json:Burada kimlik bilgisini sağlamanın iki yolu vardır.
apiKeyalanı, yetenek meta verilerindeprimaryEnv’in bildirdiği şeye karşılık gelen bir kısayoldur.envbloğu ise, yetenek ihtiyaç duyarsa birden çok ortam değişkeni enjekte etmenize imkân tanıyarak daha ince ayar sağlar.Her iki yaklaşım da değerleri ajan çalışmasına kapsamlar. Çalışma başladığında ayarlanır ve bittiğinde temizlenir; böylece genel kabuk ortamınıza sızmazlar.
Test
Yeni bir OpenClaw oturumu başlatın ve yeteneği çağırın:
İşte yeteneğin Replicate üzerindeki Nano Banana Pro ile ürettiği diyagram:
Görsel geldi ancak buraya ulaşmak bir sapma gerektirdi. Bu SKILL.md’nin ilk sürümünde bir
## Rulesbölümü yoktu; bu da ajana doğaçlama alanı bıraktı. Nano Banana Pro, yüksek talep nedeniyle “hizmet kullanılamıyor” hatası döndürdüğünde, ajan kendi başına alternatif olarakgoogle/nano-banana(Pro olmayan varyant) denemeye karar verdi ve görseli o modelle üretti.Ajanın bakış açısından seçim mantıklıydı: görevi mevcut herhangi bir yolla tamamlamak. Sizin açınızdan ise istenen bu değildi. Düzeltme, talimat gövdesine davranışsal kısıtlar eklemek oldu:
Ajan, SKILL.md talimatlarını katı sınırlar yerine rehber olarak görür ve boşlukları kendi muhakemesiyle doldurur. Yasaklamadığınız her şeyi denemeye karar verebilir.
Bir davranış sizin için önemliyse—hangi modelin kullanılacağı, çıktının nereye gönderileceği veya hatada yeniden deneyip denemeyeceği gibi—bunu bir Kurallar bölümünde açıkça yazın.
Yetenekleri ClawHub’da Yayımlama ve Paylaşma
ClawHub, OpenClaw yetenekleri için herkese açık kayıt defteridir; gezinmek ve kurmak ücretsizdir. Yayımlamak için en az bir haftalık bir GitHub hesabı gerekir.
CLI’ı kurma
ClawHub CLI’ı sistem geneline kurun:
Ardından kimlik doğrulaması yapın:
Bu, GitHub kimlik doğrulaması için tarayıcınızı açar. Kimlik doğrulandıktan sonra, terminalden yetenek arayabilir, kurabilir ve yayımlayabilirsiniz.
Yetenek yayımlama
Görsel üretim yeteneğini yayımlamak için:
--slug, ClawHub’daki benzersiz tanımlayıcıdır ve tüm kayıt boyunca benzersiz olmalıdır. Başkası bu slug ile zaten bir yetenek yayımladıysa, komut “sadece sahibi güncelleme yayımlayabilir” hatasıyla başarısız olur. Bu durumdayourname-nano-banana-progibi farklı bir slug seçin.--versionanlamsal sürümleme kurallarını izler. Her güncelleme yayımladığınızda sürüm numarasını artırın ve isteğe bağlı olarak bir değişiklik günlüğü ekleyin:ClawHub sürüm geçmişini tutar; böylece kullanıcılar değişiklikleri denetleyebilir ve gerekirse geri alabilir.
Toplu işlemler için,
clawhub sync --allyetenek dizininizi tarar ve yeni veya güncellenmiş yetenekleri tek seferde yayımlar:Topluluk yeteneklerini kurma
Başkası tarafından yayımlanan bir yeteneği kurmak için:
Kurulan yetenekler varsayılan olarak
./skillsklasörüne gider ve OpenClaw bunları bir sonraki oturumda çalışma alanı yetenekleri olarak algılar.Üçüncü taraf yetenekler hakkında bir not
Ocak 2026’da, Koi’deki güvenlik araştırmacıları, daha sonra ClawHavoc olayı olarak anılacak olayda ClawHub’da 341 kötü amaçlı yetenek keşfetti. Saldırganlar, yazım yanlışıyla taklit edilen yetenek adları ve sahte “önkoşul” kurulum adımları kullanarak Atomic macOS Stealer (AMOS), ters kabuklar ve kimlik bilgisi sızdırma yüklerini dağıttı.
Şubat 2026 ortasına gelindiğinde, sayı düzinelerce kategoriye yayılan 824’ün üzerinde işaretli yeteneğe ulaştı.
Herhangi bir topluluk yeteneğini kurmadan önce,
SKILL.mdve destekleyici dosyalarını okuyun. Şüpheli “önkoşul” kurulum adımlarına, gizlenmiş koda veya base64 kodlu komutlara dikkat edin. ClawHub, üç veya daha fazla kullanıcı bildirimi olan yetenekleri otomatik olarak gizler; ancak yeni kötü amaçlı yetenekler, moderasyonun yakalamasından daha hızlı görünebilir.Clawdex gibi araçlar, kurulu yeteneklerinizi bilinen kötü amaçlı paketlerin veritabanına karşı tarayabilir.
Üçüncü taraf yeteneklere, üçüncü taraf herhangi bir koda göstereceğiniz aynı ihtiyatla yaklaşın: çalıştırmadan önce gözden geçirin.
Sonuç
SKILL.mdformatı,openclaw.jsonüzerinden kimlik bilgisi kapsamı ve ClawHub CLI ile, yerel otomasyondan paylaşılan pakete kadar tam yaşam döngüsüne sahipsiniz.Yeni bir OpenClaw yeteneği oluşturmadaki işin çoğu, markdown gövdesinde net talimatlar yazmak ve meta verilerde neyi kapılayacağınıza karar vermektir. Dönüştürme betiği veya bir API çağrısı olsun, gerçek kod ise bağımsız dosyalarda kalır; böylece onları ayrı ayrı test edip yineleyebilirsiniz.
Bu eğitimin kapsamının ötesine geçmek için, OpenClaw deposundaki paketli yetenekler çekirdek ekibin daha kapsamlı iş akışlarını nasıl yapılandırdığını gösterir. Claude Opus 4.6 genel bakışı, model seçimlerinin ajan davranışını nasıl etkilediğine daha derin iner ve Claude Modellerine Giriş dersi, OpenClaw gibi ajanların arkasındaki modellerle uygulamalı pratik sunar.