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:
mkdir -p ~/.openclaw/workspace/skills/hello-worldAnda dapat mengelompokkan skill dalam subfolder agar lebih teratur — nama skill tetap
ditentukan oleh frontmatter SKILL.md, bukan jalur folder:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# nama skill tetap "hello-world", dipanggil sebagai /hello-worldTulis SKILL.md
Frontmatter menentukan metadata; isi dokumen memberikan instruksi kepada agen.
---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!" 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 listSecara 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:
# Dari obrolan — arsipkan sesi saat ini dan mulai sesi baru/new # Atau mulai ulang Gatewayopenclaw gateway restartUji
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:
Jalankan skrip pembantu di `{baseDir}/scripts/run.sh`.Menambahkan aktivasi bersyarat
Batasi skill Anda agar hanya dimuat ketika dependensinya tersedia:
---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:
{ 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.
# 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:
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:
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
npm i -g clawhubclawhub loginTerbitkan
clawhub skill publish ./path/to/hello-worldTambahkan --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
Urutan pemuatan, pembatasan, daftar izin, dan format SKILL.md.
Antrean proposal untuk skill yang disusun agen.
Skema konfigurasi skills.* lengkap.
Telusuri dan terbitkan skill pada registri publik.
Plugin dapat menyertakan skill bersama alat yang didokumentasikannya.