Skills
Skills oluşturma
Skills, ajana araçları nasıl ve ne zaman kullanacağını öğretir. Her skill, YAML frontmatter ve markdown yönergeleri içeren bir SKILL.md dosyasına sahip bir dizindir.
OpenClaw, skill'leri tanımlı bir öncelik sırasına göre birkaç kökten yükler.
İlk skill'inizi oluşturun
Create the skill directory
Skills, çalışma alanınızdaki skills/ klasöründe bulunur. Yeni
skill'iniz için bir dizin oluşturun:
mkdir -p ~/.openclaw/workspace/skills/hello-worldDüzen için skill'leri alt klasörlerde gruplayabilirsiniz — skill yine
klasör yoluna göre değil, SKILL.md frontmatter'ındaki adla adlandırılır:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldWrite SKILL.md
Dizin içinde SKILL.md oluşturun. Frontmatter metadata'yı tanımlar;
gövde ajana yönergeleri verir.
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" Adlandırma kuralları:- `name` için küçük harfler, rakamlar ve kısa çizgiler kullanın.- Dizin adını ve frontmatter `name` değerini uyumlu tutun.- `description` ajana ve slash-command keşfinde gösterilir — tek satır ve 160 karakterin altında tutun. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills listOpenClaw varsayılan olarak skill kökleri altındaki SKILL.md dosyalarını izler. İzleyici devre dışıysa veya mevcut bir oturuma devam ediyorsanız, ajanın yenilenmiş listeyi alması için yeni bir oturum başlatın:
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartTest it
Skill'i tetiklemesi gereken bir mesaj gönderin:
openclaw agent --message "give me a greeting"Ya da bir sohbet açıp ajana doğrudan sorun. Adıyla açıkça çağırmak için
/skill hello-world kullanın.
SKILL.md başvurusu
Zorunlu alanlar
| Alan | Açıklama |
|---|---|
name |
Küçük harfler, rakamlar ve kısa çizgiler kullanan benzersiz slug |
description |
Ajana ve keşif çıktısında gösterilen tek satırlık açıklama |
İsteğe bağlı frontmatter anahtarları
| Alan | Varsayılan | Açıklama |
|---|---|---|
user-invocable |
true |
Skill'i kullanıcı slash command olarak gösterir |
disable-model-invocation |
false |
Skill'i ajanın system prompt'undan çıkarır (/skill ile yine çalışır) |
command-dispatch |
— | Slash command'ı modeli atlayarak doğrudan bir araca yönlendirmek için tool olarak ayarlayın |
command-tool |
— | command-dispatch: tool ayarlandığında çağrılacak araç adı |
command-arg-mode |
raw |
Araç yönlendirmesi için ham argüman dizesini araca iletir |
homepage |
— | macOS Skills kullanıcı arayüzünde "Website" olarak gösterilen URL |
Geçit alanları (requires.bins, requires.env vb.) için
Skills — Gating bölümüne bakın.
{baseDir} kullanımı
Skill gövdesinde, yolları sabit yazmadan skill dizini içindeki dosyalara
başvurmak için {baseDir} kullanın:
Run the helper script at `{baseDir}/scripts/run.sh`.Koşullu etkinleştirme ekleme
Skill'inizi yalnızca bağımlılıkları mevcut olduğunda yüklenecek şekilde geçide alın:
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Gating options
| Anahtar | Açıklama |
|---|---|
requires.bins |
Tüm ikili dosyalar PATH üzerinde mevcut olmalıdır |
requires.anyBins |
En az bir ikili dosya PATH üzerinde mevcut olmalıdır |
requires.env |
Her env var işlemde veya yapılandırmada mevcut olmalıdır |
requires.config |
Her openclaw.json yolu truthy olmalıdır |
os |
Platform filtresi: ["darwin"], ["linux"], ["win32"] |
always |
Tüm geçitleri atlayıp skill'i her zaman dahil etmek için true olarak ayarlayın |
Tam başvuru: Skills — Gating.
Environment and API keys
openclaw.json içinde bir API anahtarını skill girdisine bağlayın:
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}Anahtar yalnızca o ajan turu için host işlemine enjekte edilir. Sandbox'a ulaşmaz — bkz. sandbox env var'ları.
Skill Workshop üzerinden önerin
Ajan tarafından taslaklanan skill'ler için veya bir skill canlıya alınmadan önce operatör incelemesi istediğinizde, doğrudan SKILL.md yazmak yerine Skill Workshop önerilerini kullanın.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"Öneri destek dosyaları içerdiğinde --proposal-dir kullanın:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal-dir ./hello-world-proposal/Dizin PROPOSAL.md içermelidir. Destek dosyaları assets/,
examples/, references/, scripts/ veya templates/ içine konabilir.
İncelemeden sonra:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Tam öneri yaşam döngüsü için Skill Workshop bölümüne bakın.
ClawHub'a yayımlama
Ensure your SKILL.md is complete
name, description ve varsa metadata.openclaw geçit alanlarının
ayarlandığından emin olun. Bir proje sayfanız varsa homepage URL'si ekleyin.
Install the ClawHub skill
ClawHub skill'i, geçerli yayımlama komutu biçimini ve gerekli metadata'yı belgeler:
openclaw skills install @openclaw/clawhub-publishPublish
clawhub publishTam akış için ClawHub — Publishing bölümüne bakın.
En iyi uygulamalar
İlgili
Yükleme sırası, geçitler, izin listeleri ve SKILL.md biçimi.
Ajan tarafından taslaklanan skill'ler için öneri kuyruğu.
Tam skills.* yapılandırma şeması.
Genel registry'de skill'lere göz atın ve yayımlayın.
Plugins, belgeledikleri araçlarla birlikte skill'ler gönderebilir.