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:

    bash
    mkdir -p ~/.openclaw/workspace/skills/hello-world

    Dü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:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • Write SKILL.md

    Dizin içinde SKILL.md oluşturun. Frontmatter metadata'yı tanımlar; gövde ajana yönergeleri verir.

    markdown
    ---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!"
    Code
     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 list

    OpenClaw 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:

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • Test it

    Skill'i tetiklemesi gereken bir mesaj gönderin:

    bash
    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:

    markdown
    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:

    markdown
    ---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:

    json5
    {  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.

    bash
    # 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:

    bash
    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:

    bash
    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:

    bash
    openclaw skills install @openclaw/clawhub-publish
  • Publish

    bash
    clawhub publish

    Tam akış için ClawHub — Publishing bölümüne bakın.

  • En iyi uygulamalar

    İlgili

    Was this useful?
    On this page

    On this page