Skills

Membuat Skills

Skills mengajarkan kepada agen cara dan waktu menggunakan alat. Setiap skill adalah direktori yang berisi file SKILL.md dengan frontmatter YAML dan instruksi markdown. OpenClaw memuat skill dari beberapa root dalam urutan prioritas yang telah ditentukan.

Buat skill pertama Anda

  • Buat direktori skill

    Skills berada di folder skills/ ruang kerja Anda:

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

    Anda dapat mengelompokkan skill dalam subfolder agar lebih teratur — nama skill tetap ditentukan oleh frontmatter SKILL.md, bukan jalur folder:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# nama skill tetap "hello-world", dipanggil sebagai /hello-world
  • Tulis SKILL.md

    Frontmatter menentukan metadata; isi dokumen memberikan instruksi kepada agen.

    markdown
    ---name: hello-worlddescription: Skill sederhana yang mencetak sapaan.--- # Halo Dunia Saat pengguna meminta sapaan, gunakan alat `exec` untuk menjalankan: ```bashecho "Halo dari skill khusus Anda!"
    Code
     Aturan penamaan:- Gunakan huruf kecil, angka, dan tanda hubung untuk `name`.- Pastikan nama direktori dan `name` pada frontmatter selaras.- `description` ditampilkan kepada agen dan dalam penemuan perintah garis miring —  pertahankan dalam satu baris dan kurang dari 160 karakter.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZmlrYXNpIGJhaHdhIHNraWxsIHRlbGFoIGRpbXVhdCI ```bashopenclaw skills list

    Secara default, OpenClaw memantau file SKILL.md di bawah root skill. Jika pemantau dinonaktifkan atau Anda melanjutkan sesi yang sudah ada, mulai sesi baru agar agen menerima daftar yang telah diperbarui:

    bash
    # Dari obrolan — arsipkan sesi saat ini dan mulai sesi baru/new # Atau mulai ulang Gatewayopenclaw gateway restart
  • Uji

    bash
    openclaw agent --message "beri saya sapaan"

    Atau buka obrolan dan tanyakan langsung kepada agen. Gunakan /skill hello-world untuk memanggilnya secara eksplisit berdasarkan nama.

  • Referensi SKILL.md

    Kolom wajib

    Kolom Deskripsi
    name Slug unik yang menggunakan huruf kecil, angka, dan tanda hubung
    description Deskripsi satu baris yang ditampilkan kepada agen dan dalam keluaran penemuan

    Kunci frontmatter opsional

    Kolom Default Deskripsi
    user-invocable true Tampilkan skill sebagai perintah garis miring pengguna
    disable-model-invocation false Jangan sertakan skill dalam prompt sistem agen (tetap berjalan melalui /skill)
    command-dispatch Atur ke tool untuk merutekan perintah garis miring langsung ke alat tanpa melalui model
    command-tool Nama alat yang dipanggil saat command-dispatch: tool ditetapkan
    command-arg-mode raw Untuk pengiriman ke alat, meneruskan string argumen mentah ke alat
    homepage URL yang ditampilkan sebagai "Website" pada UI Skills macOS

    Untuk kolom pembatasan (requires.bins, requires.env, dan sebagainya), lihat Skills — Pembatasan.

    Menggunakan {baseDir}

    Referensikan file di dalam direktori skill tanpa menuliskan jalur secara permanen — agen mencocokkan {baseDir} dengan direktori skill itu sendiri:

    markdown
    Jalankan skrip pembantu di `{baseDir}/scripts/run.sh`.

    Menambahkan aktivasi bersyarat

    Batasi skill Anda agar hanya dimuat ketika dependensinya tersedia:

    markdown
    ---name: gemini-searchdescription: Lakukan pencarian menggunakan Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    Opsi pembatasan
    Kunci Deskripsi
    requires.bins Semua biner harus tersedia di PATH
    requires.anyBins Setidaknya satu biner harus tersedia di PATH
    requires.env Setiap variabel lingkungan harus tersedia dalam proses atau konfigurasi
    requires.config Setiap jalur openclaw.json harus bernilai benar
    os Filter platform: ["darwin"], ["linux"], ["win32"]
    always Atur ke true untuk melewati semua pembatasan dan selalu menyertakan skill

    Referensi lengkap: Skills — Pembatasan.

    Lingkungan dan kunci API

    Hubungkan kunci API ke entri skill dalam openclaw.json:

    json5
    {  skills: {    entries: {      "gemini-search": {        enabled: true,        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },      },    },  },}

    Kunci disuntikkan ke proses host hanya untuk giliran agen tersebut. Kunci tersebut tidak diteruskan ke sandbox — lihat variabel lingkungan dalam sandbox.

    Ajukan melalui Skill Workshop

    Untuk skill yang disusun agen atau ketika Anda menginginkan peninjauan operator sebelum skill diaktifkan, gunakan proposal Skill Workshop, bukan menulis SKILL.md secara langsung.

    bash
    # Ajukan skill yang benar-benar baruopenclaw skills workshop propose-create \  --name "hello-world" \  --description "Skill sederhana yang mencetak sapaan." \  --proposal ./PROPOSAL.md # Ajukan pembaruan untuk skill yang sudah adaopenclaw skills workshop propose-update hello-world \  --proposal ./PROPOSAL.md \  --description "Skill sapaan yang diperbarui"

    Gunakan --proposal-dir ketika proposal menyertakan file pendukung:

    bash
    openclaw skills workshop propose-create \  --name "hello-world" \  --description "Skill sederhana yang mencetak sapaan." \  --proposal-dir ./hello-world-proposal/

    Direktori harus berisi PROPOSAL.md pada root-nya. File pendukung ditempatkan di bawah assets/, examples/, references/, scripts/, atau templates/.

    Setelah peninjauan:

    bash
    openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>

    Lihat Skill Workshop untuk siklus hidup proposal lengkap.

    Menerbitkan ke ClawHub

  • Pastikan SKILL.md Anda lengkap

    Pastikan name, description, dan semua kolom pembatasan metadata.openclaw telah ditetapkan. Tambahkan URL homepage jika Anda memiliki halaman proyek.

  • Instal CLI ClawHub mandiri dan masuk

    bash
    npm i -g clawhubclawhub login
  • Terbitkan

    bash
    clawhub skill publish ./path/to/hello-world

    Tambahkan --version <version> atau --owner <owner> untuk mengganti versi yang disimpulkan atau menerbitkan di bawah pemilik tertentu. Lihat ClawHub — Penerbitan dan CLI ClawHub untuk alur lengkap, cakupan pemilik, dan perintah pemeliharaan lainnya (clawhub sync, clawhub skill rename, ...).

  • Praktik terbaik

    Terkait

    Was this useful?
    On this page

    On this page