Skills (OpenClaw)
OpenClaw menggunakan folder skill yang kompatibel dengan AgentSkills untuk mengajarkan agen cara menggunakan tool. Setiap skill adalah direktori yang berisiSKILL.md dengan frontmatter YAML dan instruksi. OpenClaw memuat bundled Skills ditambah override lokal opsional, lalu memfilternya saat waktu muat berdasarkan environment, config, dan keberadaan binary.
Lokasi dan prioritas
OpenClaw memuat skill dari sumber-sumber berikut:- Folder skill tambahan: dikonfigurasi dengan
skills.load.extraDirs - Bundled Skills: dikirim bersama instalasi (paket npm atau OpenClaw.app)
- Skill terkelola/lokal:
~/.openclaw/skills - Skill agen personal:
~/.agents/skills - Skill agen proyek:
<workspace>/.agents/skills - Skill workspace:
<workspace>/skills
<workspace>/skills (tertinggi) → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → bundled skills → skills.load.extraDirs (terendah)
Skill per agen vs bersama
Dalam penyiapan multi-agent, setiap agen memiliki workspace-nya sendiri. Artinya:- Skill per agen berada di
<workspace>/skillshanya untuk agen tersebut. - Skill agen proyek berada di
<workspace>/.agents/skillsdan berlaku untuk workspace tersebut sebelum folderskills/workspace normal. - Skill agen personal berada di
~/.agents/skillsdan berlaku lintas workspace pada mesin tersebut. - Skill bersama berada di
~/.openclaw/skills(terkelola/lokal) dan terlihat oleh semua agen pada mesin yang sama. - Folder bersama juga dapat ditambahkan melalui
skills.load.extraDirs(prioritas terendah) jika Anda ingin satu paket skill umum yang digunakan oleh beberapa agen.
Allowlist skill agen
Lokasi skill dan visibilitas skill adalah dua kontrol yang terpisah.- Lokasi/prioritas menentukan salinan mana dari skill dengan nama yang sama yang menang.
- Allowlist agen menentukan skill yang terlihat mana yang benar-benar dapat digunakan agen.
agents.defaults.skills untuk baseline bersama, lalu override per agen dengan
agents.list[].skills:
- Hilangkan
agents.defaults.skillsuntuk skill tak dibatasi secara default. - Hilangkan
agents.list[].skillsuntuk mewarisiagents.defaults.skills. - Setel
agents.list[].skills: []untuk tanpa skill. - Daftar
agents.list[].skillsyang tidak kosong adalah set akhir untuk agen tersebut; daftar itu tidak digabungkan dengan default.
Plugins + skills
Plugin dapat mengirim skill mereka sendiri dengan mencantumkan direktoriskills di
openclaw.plugin.json (path relatif terhadap root plugin). Skill plugin dimuat
saat plugin diaktifkan. Saat ini direktori tersebut digabungkan ke jalur
berprioritas rendah yang sama dengan skills.load.extraDirs, sehingga bundled,
managed, agent, atau workspace skill dengan nama yang sama akan mengoverride-nya.
Anda dapat mengaturnya dengan metadata.openclaw.requires.config pada entri config plugin.
Lihat Plugins untuk discovery/config dan Tools untuk
permukaan tool yang diajarkan skill tersebut.
ClawHub (instal + sinkronisasi)
ClawHub adalah registry skill publik untuk OpenClaw. Jelajahi di https://clawhub.ai. Gunakan perintah nativeopenclaw skills
untuk menemukan/menginstal/memperbarui skill, atau CLI clawhub terpisah saat
Anda memerlukan alur kerja publish/sinkronisasi.
Panduan lengkap: ClawHub.
Alur umum:
- Instal skill ke workspace Anda:
openclaw skills install <skill-slug>
- Perbarui semua skill yang terinstal:
openclaw skills update --all
- Sinkronkan (pindai + publikasikan pembaruan):
clawhub sync --all
openclaw skills install native menginstal ke direktori skills/ workspace aktif. CLI clawhub terpisah juga menginstal ke ./skills di bawah
direktori kerja Anda saat ini (atau fallback ke workspace OpenClaw yang dikonfigurasi).
OpenClaw akan mengambilnya sebagai <workspace>/skills pada sesi berikutnya.
Catatan keamanan
- Perlakukan skill pihak ketiga sebagai kode tak tepercaya. Baca sebelum mengaktifkannya.
- Pilih proses sandboxed untuk input tak tepercaya dan tool berisiko. Lihat Sandboxing.
- Discovery skill workspace dan extra-dir hanya menerima root skill dan file
SKILL.mdyang realpath hasil resolusinya tetap berada di dalam root yang dikonfigurasi. - Instal dependensi skill yang didukung Gateway (
skills.install, onboarding, dan UI pengaturan Skills) menjalankan pemindai kode berbahaya bawaan sebelum mengeksekusi metadata installer. Temuancriticalmemblokir secara default kecuali pemanggil secara eksplisit menyetel dangerous override; temuan mencurigakan tetap hanya berupa peringatan. openclaw skills install <slug>berbeda: perintah itu mengunduh folder skill ClawHub ke workspace dan tidak menggunakan jalur metadata installer di atas.skills.entries.*.envdanskills.entries.*.apiKeymenyuntikkan rahasia ke proses host untuk giliran agen tersebut (bukan sandbox). Jauhkan rahasia dari prompt dan log.- Untuk threat model dan checklist yang lebih luas, lihat Security.
Format (AgentSkills + kompatibel Pi)
SKILL.md minimal harus menyertakan:
- Kami mengikuti spesifikasi AgentSkills untuk tata letak/tujuan.
- Parser yang digunakan oleh agen tersemat mendukung kunci frontmatter satu baris saja.
metadataharus berupa objek JSON satu baris.- Gunakan
{baseDir}dalam instruksi untuk merujuk ke path folder skill. - Kunci frontmatter opsional:
-
homepage— URL yang ditampilkan sebagai “Website” di UI Skills macOS (juga didukung melaluimetadata.openclaw.homepage). -
user-invocable—true|false(default:true). Saattrue, skill diekspos sebagai slash command pengguna. -
disable-model-invocation—true|false(default:false). Saattrue, skill dikecualikan dari prompt model (tetap tersedia melalui pemanggilan pengguna). -
command-dispatch—tool(opsional). Saat disetel ketool, slash command melewati model dan langsung dikirim ke tool. -
command-tool— nama tool yang dipanggil saatcommand-dispatch: tooldisetel. -
command-arg-mode—raw(default). Untuk dispatch tool, meneruskan string argumen mentah ke tool (tanpa parsing inti). Tool dipanggil dengan params:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
-
Gating (filter saat waktu muat)
OpenClaw memfilter skill saat waktu muat menggunakanmetadata (JSON satu baris):
metadata.openclaw:
always: true— selalu sertakan skill (lewati gate lain).emoji— emoji opsional yang digunakan oleh UI Skills macOS.homepage— URL opsional yang ditampilkan sebagai “Website” di UI Skills macOS.os— daftar platform opsional (darwin,linux,win32). Jika disetel, skill hanya memenuhi syarat pada OS tersebut.requires.bins— daftar; masing-masing harus ada diPATH.requires.anyBins— daftar; setidaknya satu harus ada diPATH.requires.env— daftar; env var harus ada atau disediakan di config.requires.config— daftar pathopenclaw.jsonyang harus truthy.primaryEnv— nama env var yang terkait denganskills.entries.<name>.apiKey.install— array spesifikasi installer opsional yang digunakan oleh UI Skills macOS (brew/node/go/uv/download).
requires.binsdiperiksa pada host saat waktu muat skill.- Jika agen disandbox, binary juga harus ada di dalam container.
Instal melalui
agents.defaults.sandbox.docker.setupCommand(atau image kustom).setupCommandberjalan sekali setelah container dibuat. Instal paket juga memerlukan network egress, root FS yang dapat ditulis, dan pengguna root di sandbox. Contoh: skillsummarize(skills/summarize/SKILL.md) memerlukan CLIsummarizedi container sandbox agar dapat berjalan di sana.
- Jika beberapa installer dicantumkan, gateway memilih satu opsi yang diutamakan (brew bila tersedia, jika tidak node).
- Jika semua installer adalah
download, OpenClaw mencantumkan setiap entri agar Anda dapat melihat artefak yang tersedia. - Spesifikasi installer dapat menyertakan
os: ["darwin"|"linux"|"win32"]untuk memfilter opsi menurut platform. - Instal node menghormati
skills.install.nodeManagerdiopenclaw.json(default: npm; opsi: npm/pnpm/yarn/bun). Ini hanya memengaruhi instalasi skill; runtime Gateway tetap harus Node (Bun tidak direkomendasikan untuk WhatsApp/Telegram). - Pemilihan installer yang didukung Gateway didasarkan pada preferensi, bukan hanya node:
ketika spesifikasi instalasi mencampur beberapa jenis, OpenClaw lebih memilih Homebrew saat
skills.install.preferBrewdiaktifkan danbrewada, laluuv, lalu node manager yang dikonfigurasi, lalu fallback lain sepertigoataudownload. - Jika setiap spesifikasi instal adalah
download, OpenClaw menampilkan semua opsi download alih-alih meringkasnya menjadi satu installer yang diutamakan. - Instal Go: jika
gotidak ada danbrewtersedia, gateway terlebih dahulu menginstal Go melalui Homebrew dan menyetelGOBINkebinmilik Homebrew bila memungkinkan. - Instal download:
url(wajib),archive(tar.gz|tar.bz2|zip),extract(default: otomatis saat arsip terdeteksi),stripComponents,targetDir(default:~/.openclaw/tools/<skillKey>).
metadata.openclaw, skill selalu memenuhi syarat (kecuali
dinonaktifkan di config atau diblokir oleh skills.allowBundled untuk bundled skills).
Override config (~/.openclaw/openclaw.json)
Bundled/managed skills dapat diaktifkan/dinonaktifkan dan diberi nilai env:
image_generate dengan agents.defaults.imageGenerationModel alih-alih
bundled skill. Contoh skill di sini ditujukan untuk alur kerja kustom atau pihak ketiga.
Untuk analisis gambar native, gunakan tool image dengan agents.defaults.imageModel.
Untuk pembuatan/penyuntingan gambar native, gunakan image_generate dengan
agents.defaults.imageGenerationModel. Jika Anda memilih openai/*, google/*,
fal/*, atau model gambar khusus penyedia lainnya, tambahkan juga autentikasi/kunci API penyedia tersebut.
Kunci config cocok dengan nama skill secara default. Jika sebuah skill mendefinisikan
metadata.openclaw.skillKey, gunakan kunci itu di bawah skills.entries.
Aturan:
enabled: falsemenonaktifkan skill meskipun skill itu bundled/terinstal.env: disuntikkan hanya jika variabel tersebut belum disetel dalam proses.apiKey: kemudahan untuk skill yang mendeklarasikanmetadata.openclaw.primaryEnv. Mendukung string plaintext atau objek SecretRef ({ source, provider, id }).config: kantong opsional untuk field kustom per skill; kunci kustom harus berada di sini.allowBundled: allowlist opsional untuk bundled skills saja. Jika disetel, hanya bundled skills dalam daftar yang memenuhi syarat (managed/workspace skills tidak terpengaruh).
Injeksi environment (per proses agen)
Saat proses agen dimulai, OpenClaw:- Membaca metadata skill.
- Menerapkan
skills.entries.<key>.envatauskills.entries.<key>.apiKeykeprocess.env. - Membangun prompt sistem dengan skill yang memenuhi syarat.
- Memulihkan environment asli setelah proses berakhir.
Snapshot sesi (performa)
OpenClaw membuat snapshot skill yang memenuhi syarat saat sesi dimulai dan menggunakan kembali daftar itu untuk giliran berikutnya dalam sesi yang sama. Perubahan pada skill atau config berlaku pada sesi baru berikutnya. Skill juga dapat disegarkan di tengah sesi saat watcher skill diaktifkan atau saat node jarak jauh baru yang memenuhi syarat muncul (lihat di bawah). Anggap ini sebagai hot reload: daftar yang disegarkan diambil pada giliran agen berikutnya. Jika allowlist skill agen efektif berubah untuk sesi itu, OpenClaw menyegarkan snapshot agar skill yang terlihat tetap selaras dengan agen saat ini.Node macOS jarak jauh (gateway Linux)
Jika Gateway berjalan di Linux tetapi node macOS terhubung dengansystem.run diizinkan (keamanan persetujuan Exec tidak disetel ke deny), OpenClaw dapat memperlakukan skill khusus macOS sebagai memenuhi syarat ketika binary yang diperlukan ada pada node tersebut. Agen sebaiknya mengeksekusi skill tersebut melalui tool exec dengan host=node.
Ini bergantung pada node yang melaporkan dukungan perintahnya dan pada probe bin melalui system.run. Jika node macOS kemudian offline, skill tetap terlihat; pemanggilan dapat gagal sampai node tersambung kembali.
Watcher skill (penyegaran otomatis)
Secara default, OpenClaw memantau folder skill dan meningkatkan snapshot skill saat fileSKILL.md berubah. Konfigurasikan ini di bawah skills.load:
Dampak token (daftar skill)
Saat skill memenuhi syarat, OpenClaw menyuntikkan daftar XML ringkas berisi skill yang tersedia ke dalam prompt sistem (melaluiformatSkillsForPrompt di pi-coding-agent). Biayanya deterministik:
- Overhead dasar (hanya saat ≥1 skill): 195 karakter.
- Per skill: 97 karakter + panjang nilai
<name>,<description>, dan<location>yang di-escape XML.
- XML escaping memperluas
& < > " 'menjadi entitas (&,<, dll.), sehingga panjang bertambah. - Jumlah token bervariasi menurut tokenizer model. Perkiraan kasar bergaya OpenAI adalah ~4 karakter/token, jadi 97 karakter ≈ 24 token per skill ditambah panjang field aktual Anda.
Siklus hidup managed skills
OpenClaw mengirim sekumpulan skill baseline sebagai bundled Skills sebagai bagian dari instalasi (paket npm atau OpenClaw.app).~/.openclaw/skills ada untuk
override lokal (misalnya, mem-pin/menambal skill tanpa mengubah salinan bundled).
Skill workspace dimiliki pengguna dan mengoverride keduanya saat nama bertabrakan.
Referensi config
Lihat Config Skills untuk skema konfigurasi lengkap.Mencari lebih banyak skill?
Jelajahi https://clawhub.ai.Terkait
- Membuat Skills — membangun skill kustom
- Config Skills — referensi konfigurasi skill
- Slash Commands — semua slash command yang tersedia
- Plugins — gambaran umum sistem plugin