SKILL.md dengan YAML
frontmatter dan isi markdown. OpenClaw memuat skill bawaan beserta override lokal
apa pun, lalu memfilternya saat pemuatan berdasarkan environment, config, dan
keberadaan binary.
Creating skills
Bangun dan uji skill kustom dari awal.
Skill Workshop
Tinjau dan setujui proposal skill yang dirancang agen.
Skills config
Skema config
skills.* lengkap dan allowlist agen.ClawHub
Jelajahi dan instal skill komunitas.
Urutan pemuatan
OpenClaw memuat dari sumber berikut, prioritas tertinggi terlebih dahulu. Ketika nama skill yang sama muncul di beberapa tempat, sumber tertinggi yang menang.| Prioritas | Sumber | Path |
|---|---|---|
| 1 — tertinggi | Skill workspace | <workspace>/skills |
| 2 | Skill agen proyek | <workspace>/.agents/skills |
| 3 | Skill agen pribadi | ~/.agents/skills |
| 4 | Skill terkelola / lokal | ~/.openclaw/skills |
| 5 | Skill bawaan | dikirim bersama instalasi |
| 6 — terendah | Direktori tambahan | skills.load.extraDirs + skill plugin |
SKILL.md muncul di mana saja di bawah root yang dikonfigurasi:
name (atau nama direktori
ketika name tidak ada).
Direktori native
$CODEX_HOME/skills milik Codex CLI bukan root skill
OpenClaw. Gunakan openclaw migrate plan codex untuk menginventarisasi skill tersebut, lalu
openclaw migrate codex untuk menyalinnya ke workspace OpenClaw Anda.Skill per agen vs bersama
Dalam setup multi-agen, setiap agen memiliki workspace sendiri. Gunakan path yang sesuai dengan visibilitas yang Anda inginkan:| Cakupan | Path | Terlihat oleh |
|---|---|---|
| Per agen | <workspace>/skills | Hanya agen tersebut |
| Agen proyek | <workspace>/.agents/skills | Hanya agen workspace tersebut |
| Agen pribadi | ~/.agents/skills | Semua agen di mesin ini |
| Terkelola bersama | ~/.openclaw/skills | Semua agen di mesin ini |
| Direktori tambahan | skills.load.extraDirs | Semua agen di mesin ini |
Allowlist agen
Lokasi skill (prioritas) dan visibilitas skill (agen mana yang dapat menggunakannya) adalah kontrol terpisah. Gunakan allowlist untuk membatasi skill mana yang dilihat agen, terlepas dari mana skill tersebut dimuat.Allowlist rules
Allowlist rules
- Hilangkan
agents.defaults.skillsagar semua skill tidak dibatasi secara default. - Hilangkan
agents.list[].skillsuntuk mewarisiagents.defaults.skills. - Atur
agents.list[].skills: []agar tidak mengekspos skill untuk agen tersebut. - Daftar
agents.list[].skillsyang tidak kosong adalah set final — daftar itu tidak digabung dengan default. - Allowlist efektif berlaku di seluruh pembuatan prompt, penemuan slash-command, sinkronisasi sandbox, dan snapshot skill.
- Ini bukan batas otorisasi shell host. Jika agen yang sama dapat
menggunakan
exec, batasi shell tersebut secara terpisah dengan sandboxing, isolasi pengguna OS, deny/allowlist exec, dan kredensial per resource.
Plugin dan skill
Plugin dapat mengirim skill mereka sendiri dengan mencantumkan direktoriskills di
openclaw.plugin.json (path relatif terhadap root plugin). Skill plugin dimuat
ketika plugin diaktifkan — misalnya, plugin browser mengirim skill
browser-automation untuk kontrol browser multi-langkah.
Direktori skill plugin digabung pada level prioritas rendah yang sama seperti
skills.load.extraDirs, sehingga skill bawaan, terkelola, agen, atau workspace
dengan nama yang sama akan menimpanya. Gate skill tersebut melalui metadata.openclaw.requires.config pada
entri config plugin.
Lihat Plugin dan Alat untuk sistem plugin lengkap.
Skill Workshop
Skill Workshop adalah antrean proposal antara agen dan file skill aktif Anda. Ketika agen melihat pekerjaan yang dapat digunakan ulang, agen membuat draf proposal alih-alih menulis langsung keSKILL.md. Anda meninjau dan menyetujui
sebelum apa pun berubah.
Menginstal dari ClawHub
ClawHub adalah registry skill publik. Gunakan perintahopenclaw skills untuk instalasi dan pembaruan, atau CLI clawhub untuk
publish dan sinkronisasi.
| Tindakan | Perintah |
|---|---|
| Instal skill ke workspace | openclaw skills install @owner/<slug> |
| Instal dari repositori Git | openclaw skills install git:owner/repo@ref |
| Instal direktori skill lokal | openclaw skills install ./path/to/skill --as my-tool |
| Instal untuk semua agen lokal | openclaw skills install @owner/<slug> --global |
| Perbarui semua skill workspace | openclaw skills update --all |
| Perbarui skill terkelola bersama | openclaw skills update @owner/<slug> --global |
| Perbarui semua skill terkelola bersama | openclaw skills update --all --global |
| Verifikasi trust envelope skill | openclaw skills verify @owner/<slug> |
| Cetak Skill Card yang dihasilkan | openclaw skills verify @owner/<slug> --card |
| Publish / sinkronisasi melalui CLI ClawHub | clawhub sync --all |
Install details
Install details
openclaw skills install secara default menginstal ke direktori skills/
workspace aktif. Tambahkan --global untuk menginstal ke direktori bersama
~/.openclaw/skills, terlihat oleh semua agen lokal kecuali allowlist agen
mempersempitnya.Instalasi Git dan lokal mengharapkan SKILL.md di root sumber. Slug berasal
dari frontmatter SKILL.md name saat valid, lalu fallback ke nama
direktori atau repositori. Gunakan --as <slug> untuk mengganti.
openclaw skills update hanya melacak instalasi ClawHub — instal ulang sumber Git atau
lokal untuk menyegarkannya.Verification and security scanning
Verification and security scanning
openclaw skills verify @owner/<slug> meminta trust envelope
clawhub.skill.verify.v1 skill kepada ClawHub. Skill ClawHub yang terinstal diverifikasi
terhadap versi dan registry yang dicatat di .clawhub/origin.json.
Slug polos tetap diterima untuk skill yang sudah terinstal atau tidak ambigu, tetapi
ref berkualifikasi owner menghindari ambiguitas publisher.Halaman skill ClawHub mengekspos status pemindaian keamanan terbaru sebelum instalasi,
dengan halaman detail untuk VirusTotal, ClawScan, dan analisis statis. Perintah
keluar non-zero ketika ClawHub menandai verifikasi sebagai gagal. Publisher
memulihkan false positive melalui dasbor ClawHub atau
clawhub skill rescan @owner/<slug>.Private archive installs
Private archive installs
Klien Gateway yang membutuhkan pengiriman non-ClawHub dapat menyiapkan arsip skill zip
dengan
skills.upload.begin, skills.upload.chunk, dan skills.upload.commit,
lalu menginstal dengan skills.install({ source: "upload", ... }). Path ini
nonaktif secara default dan memerlukan skills.install.allowUploadedArchives: true di
openclaw.json. Instalasi ClawHub normal tidak pernah memerlukan pengaturan tersebut.Keamanan
Path containment
Path containment
Penemuan skill workspace, agen proyek, dan direktori tambahan hanya menerima root skill
yang realpath terselesaikannya tetap berada di dalam root yang dikonfigurasi, kecuali
skills.load.allowSymlinkTargets secara eksplisit memercayai root target.
Skill Workshop menulis melalui target tepercaya tersebut hanya ketika
skills.workshop.allowSymlinkTargetWrites diaktifkan.
~/.openclaw/skills terkelola dan ~/.agents/skills pribadi dapat berisi
folder skill bersymlink, tetapi setiap realpath SKILL.md tetap harus berada
di dalam direktori skill yang terselesaikan.Operator install policy
Operator install policy
Konfigurasikan
security.installPolicy untuk menjalankan perintah kebijakan lokal tepercaya
sebelum instalasi skill berlanjut. Kebijakan menerima metadata dan path sumber
yang telah disiapkan, berlaku untuk path ClawHub, uploaded, Git, local, update, dan
dependency-installer, serta gagal tertutup ketika perintah tidak dapat mengembalikan
keputusan yang valid.Secret injection scope
Secret injection scope
skills.entries.*.env dan skills.entries.*.apiKey menyuntikkan secret ke proses
host hanya untuk giliran agen tersebut — bukan ke sandbox. Jauhkan
secret dari prompt dan log.Format SKILL.md
Setiap skill minimal memerlukanname dan description dalam frontmatter:
OpenClaw mengikuti spesifikasi AgentSkills. Parser
frontmatter mendukung hanya key satu baris —
metadata harus berupa
objek JSON satu baris. Gunakan {baseDir} di body untuk merujuk path folder
skill.Key frontmatter opsional
URL yang ditampilkan sebagai “Website” di UI Skills macOS. Juga didukung melalui
metadata.openclaw.homepage.Ketika
true, skill diekspos sebagai slash command yang dapat dipanggil pengguna.Ketika
true, OpenClaw menjaga instruksi skill di luar prompt normal agen.
Skill tetap tersedia sebagai slash command ketika user-invocable
juga true.Ketika diatur ke
tool, slash command melewati model dan dispatch
langsung ke tool terdaftar.Nama tool yang akan dipanggil ketika
command-dispatch: tool diatur.Untuk dispatch alat, meneruskan string arg mentah ke alat tanpa
parsing inti. Alat menerima
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Gating
OpenClaw memfilter skills saat pemuatan menggunakanmetadata.openclaw (JSON
satu baris di frontmatter). Skill tanpa blok metadata.openclaw selalu
memenuhi syarat kecuali dinonaktifkan secara eksplisit.
Jika
true, selalu sertakan skill dan lewati semua gate lain.Emoji opsional yang ditampilkan di UI Skills macOS.
URL opsional yang ditampilkan sebagai “Website” di UI Skills macOS.
Filter platform. Jika diatur, skill hanya memenuhi syarat pada OS yang tercantum.
Setiap biner harus ada di
PATH.Setidaknya satu biner harus ada di
PATH.Setiap variabel env harus ada di proses atau disediakan melalui config.
Setiap path
openclaw.json harus bernilai truthy.Nama variabel env yang terkait dengan
skills.entries.<name>.apiKey.Spesifikasi penginstal opsional yang digunakan oleh UI Skills macOS (brew / node / go / uv / download).
Blok lama
metadata.clawdbot masih diterima ketika
metadata.openclaw tidak ada, sehingga skill terinstal lama tetap
mempertahankan gate dependensi dan petunjuk penginstalnya. Skill baru harus menggunakan
metadata.openclaw.Spesifikasi penginstal
Spesifikasi penginstal memberi tahu UI Skills macOS cara menginstal dependensi:Installer selection rules
Installer selection rules
- Ketika beberapa penginstal dicantumkan, gateway memilih satu opsi pilihan (brew jika tersedia, jika tidak node).
- Jika semua penginstal adalah
download, OpenClaw mencantumkan setiap entri agar Anda dapat melihat semua artefak yang tersedia. - Spesifikasi dapat menyertakan
os: ["darwin"|"linux"|"win32"]untuk memfilter berdasarkan platform. - Instalasi Node mengikuti
skills.install.nodeManagerdiopenclaw.json(default: npm; opsi: npm / pnpm / yarn / bun). Ini hanya memengaruhi instalasi skill; runtime Gateway tetap harus Node. - Preferensi penginstal Gateway: Homebrew → uv → manajer node yang dikonfigurasi → go → download.
Per-installer details
Per-installer details
- Homebrew: OpenClaw tidak menginstal Homebrew secara otomatis atau menerjemahkan formula brew
menjadi perintah paket sistem. Di kontainer Linux tanpa
brew, penginstal khusus brew disembunyikan; gunakan image kustom atau instal dependensi secara manual. - Go: OpenClaw memerlukan Go 1.21 atau yang lebih baru untuk instalasi skill otomatis dan
mempertahankan pengaturan
GOBIN,GOPATH, danGOTOOLCHAINyang ada. Jika toolchain yang dikonfigurasi tidak dapat memenuhi versi Go yang diwajibkan modul, onboarding mengelompokkan skill dengan prasyarat Go manual setelah percobaan instalasi. Jikagotidak ada dan Homebrew tersedia, OpenClaw menginstal Go melalui Homebrew terlebih dahulu dan mengaturGOBINkebinmilik Homebrew. Di Linux, OpenClaw dapat menggunakanapt-getsebagai root atau melaluisudotanpa sandi ketika kandidatgolang-goyang diperbarui memenuhi versi minimum. - Download:
url(wajib),archive(tar.gz|tar.bz2|zip),extract(default: otomatis ketika arsip terdeteksi),stripComponents,targetDir(default:~/.openclaw/tools/<skillKey>).
Sandboxing notes
Sandboxing notes
requires.bins diperiksa pada host saat skill dimuat. Jika agen
berjalan di sandbox, biner juga harus ada di dalam kontainer.
Instal melalui agents.defaults.sandbox.docker.setupCommand atau image
kustom. setupCommand berjalan sekali setelah pembuatan kontainer dan memerlukan
egress jaringan, root FS yang dapat ditulis, dan pengguna root di sandbox.Override config
Aktifkan/nonaktifkan dan konfigurasi skill bawaan atau terkelola di bawahskills.entries dalam
~/.openclaw/openclaw.json:
false menonaktifkan skill meskipun dibundel atau terinstal. Skill bawaan coding-agent
bersifat opt-in — atur skills.entries.coding-agent.enabled: true
dan pastikan salah satu dari claude, codex, opencode, atau CLI lain yang didukung
sudah terinstal dan terautentikasi.Field praktis untuk skill yang mendeklarasikan
metadata.openclaw.primaryEnv.
Mendukung string teks biasa atau objek SecretRef.Variabel lingkungan yang disuntikkan untuk run agen. Hanya disuntikkan ketika
variabel belum diatur dalam proses.
Bag opsional untuk field konfigurasi per-skill kustom.
Allowlist opsional hanya untuk skill bawaan. Jika diatur, hanya skill bawaan
dalam daftar yang memenuhi syarat. Skill terkelola dan workspace tidak terpengaruh.
Kunci config cocok dengan nama skill secara default. Jika skill mendefinisikan
metadata.openclaw.skillKey, gunakan kunci tersebut di bawah skills.entries. Kutip
nama yang memakai tanda hubung: JSON5 mengizinkan kunci yang dikutip.Injeksi lingkungan
Ketika run agen dimulai, OpenClaw:Reads skill metadata
OpenClaw menyelesaikan daftar skill efektif untuk agen, dengan menerapkan aturan
gating, allowlist, dan override config.
Injects env and API keys
skills.entries.<key>.env dan skills.entries.<key>.apiKey diterapkan ke
process.env selama durasi run.Builds the system prompt
Skill yang memenuhi syarat dikompilasi menjadi blok XML ringkas dan disuntikkan ke
prompt sistem.
claude-cli, OpenClaw juga mewujudkan snapshot skill
yang memenuhi syarat yang sama sebagai Plugin Claude Code sementara dan meneruskannya melalui
--plugin-dir. Backend CLI lain hanya menggunakan katalog prompt.
Snapshot dan refresh
OpenClaw mengambil snapshot skill yang memenuhi syarat ketika sesi dimulai dan menggunakan kembali daftar tersebut untuk semua giliran berikutnya dalam sesi. Perubahan pada skill atau config mulai berlaku pada sesi baru berikutnya. Skill di-refresh di tengah sesi dalam dua kasus:- Watcher skill mendeteksi perubahan
SKILL.md. - Node remote baru yang memenuhi syarat tersambung.
Skills watcher
Skills watcher
Secara default, OpenClaw memantau folder skill dan menaikkan snapshot ketika
file Gunakan
SKILL.md berubah. Konfigurasikan di bawah skills.load:allowSymlinkTargets untuk tata letak symlink yang disengaja ketika symlink
root skill mengarah ke luar root yang dikonfigurasi, misalnya
<workspace>/skills/manager -> ~/Projects/manager/skills.
Aktifkan skills.workshop.allowSymlinkTargetWrites hanya ketika Skill Workshop
juga harus menerapkan proposal melalui path symlink tepercaya tersebut.Remote macOS nodes (Linux gateway)
Remote macOS nodes (Linux gateway)
Jika Gateway berjalan di Linux tetapi node macOS tersambung dengan
system.run diizinkan, OpenClaw dapat menganggap skill khusus macOS memenuhi syarat ketika
biner yang diperlukan ada pada node tersebut. Agen harus menjalankan
skill tersebut melalui alat exec dengan host=node.Node offline tidak membuat skill khusus remote terlihat. Jika sebuah node berhenti
menjawab probe bin, OpenClaw menghapus kecocokan bin yang di-cache.Dampak token
Ketika skill memenuhi syarat, OpenClaw menyuntikkan blok XML ringkas ke prompt sistem. Biayanya deterministik:- Overhead dasar (hanya ketika ≥ 1 skill): ~195 karakter
- Per skill: ~97 karakter + panjang field
name,description, danlocationAnda - Escaping XML memperluas
& < > " 'menjadi entitas, menambahkan beberapa karakter per kemunculan - Pada ~4 karakter/token, 97 karakter ≈ 24 token per skill sebelum panjang field
Terkait
Creating skills
Panduan langkah demi langkah untuk menulis skill kustom.
Skill Workshop
Antrean proposal untuk skill yang dirancang agen.
Skills config
Skema config
skills.* lengkap dan allowlist agen.Slash commands
Cara perintah slash skill didaftarkan dan dirutekan.
ClawHub
Jelajahi dan publikasikan skill di registry publik.
Plugins
Plugin dapat mengirimkan skill bersama alat yang didokumentasikannya.