SKILL.md dengan
frontmatter YAML dan isi markdown. OpenClaw memuat skill bawaan beserta
penggantian lokal, lalu memfilternya saat pemuatan berdasarkan lingkungan,
konfigurasi, dan keberadaan biner.
Membuat skill
Buat dan uji skill khusus dari awal.
Lokakarya Skill
Tinjau dan setujui usulan skill yang disusun agen.
Konfigurasi skill
Skema konfigurasi
skills.* lengkap dan daftar izin agen.ClawHub
Jelajahi dan instal skill komunitas.
Urutan pemuatan
OpenClaw memuat dari sumber berikut, dengan prioritas tertinggi terlebih dahulu. Jika nama skill yang sama muncul di beberapa tempat, sumber dengan prioritas tertinggi yang digunakan.
Akar skill mendukung tata letak berkelompok. OpenClaw menemukan skill setiap kali
SKILL.md muncul di mana pun di bawah akar yang dikonfigurasi (hingga kedalaman 6 tingkat):
name (atau nama direktori jika name
tidak ada). Daftar izin agen (di bawah) juga mencocokkan berdasarkan name ini.
Direktori asli
$CODEX_HOME/skills milik Codex CLI bukan akar skill
OpenClaw. Gunakan openclaw migrate plan codex untuk menginventarisasi skill tersebut, lalu
openclaw migrate codex untuk menyalinnya ke ruang kerja OpenClaw Anda.Skill yang dihoskan Node
Node tanpa antarmuka yang terhubung dapat menerbitkan skill yang terinstal di direktori skill OpenClaw aktifnya (~/.openclaw/skills secara default; penggantian lingkungan profil
berlaku). Skill tersebut muncul dalam daftar skill agen biasa selama Node terhubung
dan menghilang ketika koneksi terputus. Skill lokal atau Gateway mempertahankan namanya jika
terjadi benturan; skill Node menerima nama deterministik dengan prefiks Node.
Skill yang dihoskan Node v1 mengharuskan nama direktori cocok dengan kolom frontmatter
name milik skill.
Entri skill menyertakan pencari lokasi Node. File, referensi relatif, dan
binernya berada di Node, jadi muat dan jalankan dengan
exec host=node node=<node-id>. Mulai ulang hos Node setelah mengubah file
skill-nya. Lihat Node untuk pemasangan dan mekanisme penonaktifan.
Skill per agen dan bersama
Dalam penyiapan multiagen, setiap agen memiliki ruang kerjanya sendiri. Gunakan jalur yang sesuai dengan visibilitas yang Anda inginkan:Daftar izin agen
Lokasi skill (prioritas) dan visibilitas skill (agen mana yang dapat menggunakannya) merupakan kontrol terpisah. Gunakan daftar izin untuk membatasi skill yang dilihat agen, terlepas dari asal pemuatannya.Aturan daftar izin
Aturan daftar izin
- 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 apa pun kepada agen tersebut. - Daftar
agents.list[].skillsyang tidak kosong merupakan kumpulan akhir — daftar ini tidak digabungkan dengan nilai bawaan. - Daftar izin efektif berlaku pada pembuatan prompt, penemuan perintah garis miring, sinkronisasi sandbox, dan rekam jepret skill.
- Ini bukan batas otorisasi shell hos. Jika agen yang sama dapat
menggunakan
exec, batasi shell tersebut secara terpisah dengan sandbox, isolasi pengguna OS, daftar tolak/izin eksekusi, dan kredensial per sumber daya.
Plugin dan skill
Plugin dapat menyertakan skill sendiri dengan mencantumkan direktoriskills dalam
openclaw.plugin.json (jalur relatif terhadap akar plugin). Skill plugin dimuat
ketika plugin diaktifkan — misalnya, plugin peramban menyertakan skill
browser-automation untuk kontrol peramban bertahap.
Direktori skill plugin digabungkan pada tingkat prioritas rendah yang sama dengan
skills.load.extraDirs, sehingga skill bawaan, terkelola, agen, atau ruang kerja
dengan nama yang sama akan menggantikannya. Batasi kelayakan skill plugin itu sendiri melalui
metadata.openclaw.requires dalam frontmatter-nya, sama seperti skill lainnya.
Lihat Plugin dan Alat untuk sistem plugin lengkap.
Lokakarya Skill
Lokakarya Skill adalah antrean usulan antara agen dan file skill aktif Anda. Ketika agen menemukan pekerjaan yang dapat digunakan kembali, agen menyusun usulan alih-alih menulis langsung keSKILL.md. Anda meninjau dan menyetujuinya
sebelum ada perubahan.
Menginstal dari ClawHub
ClawHub adalah registri skill publik. Gunakan perintahopenclaw skills untuk menginstal dan memperbarui, atau CLI clawhub untuk
menerbitkan dan menyinkronkan.
Detail instalasi
Detail instalasi
openclaw skills install menginstal ke direktori skills/ ruang kerja aktif
secara default. Tambahkan --global untuk menginstal ke direktori bersama
~/.openclaw/skills, yang terlihat oleh semua agen lokal kecuali dibatasi oleh
daftar izin agen.Instalasi Git dan lokal mengharapkan SKILL.md di akar sumber. Slug berasal
dari frontmatter name di SKILL.md jika valid, lalu menggunakan nama
direktori atau repositori sebagai alternatif. Gunakan --as <slug> untuk menggantinya.
openclaw skills update hanya melacak instalasi ClawHub — instal ulang sumber Git atau
lokal untuk memperbaruinya.Verifikasi dan pemindaian keamanan
Verifikasi dan pemindaian keamanan
openclaw skills verify @owner/<slug> meminta lingkup kepercayaan
clawhub.skill.verify.v1 milik skill kepada ClawHub. Skill ClawHub yang terinstal diverifikasi
berdasarkan versi dan registri yang tercatat dalam .clawhub/origin.json.
Slug tanpa pemilik tetap diterima untuk skill terinstal yang sudah ada atau tidak ambigu, tetapi
referensi dengan pemilik mencegah ambiguitas penerbit.Halaman skill ClawHub menampilkan status pemindaian keamanan terbaru sebelum instalasi,
dengan halaman detail untuk VirusTotal, ClawScan, dan analisis statis. Perintah
keluar dengan kode bukan nol ketika ClawHub menandai verifikasi sebagai gagal. Penerbit
dapat memulihkan hasil positif palsu melalui dasbor ClawHub atau
clawhub skill rescan @owner/<slug>.Instalasi arsip privat
Instalasi arsip privat
Klien Gateway yang memerlukan pengiriman non-ClawHub dapat menyiapkan arsip skill zip
dengan
skills.upload.begin, skills.upload.chunk, dan skills.upload.commit,
lalu menginstalnya dengan skills.install({ source: "upload", ... }). Jalur ini
dinonaktifkan secara default dan memerlukan skills.install.allowUploadedArchives: true dalam
openclaw.json. Instalasi ClawHub biasa tidak pernah memerlukan pengaturan tersebut.Keamanan
Pembatasan jalur
Pembatasan jalur
Penemuan skill ruang kerja, agen proyek, dan direktori tambahan hanya menerima akar skill
yang realpath terselesaikannya tetap berada di dalam akar yang dikonfigurasi, kecuali
skills.load.allowSymlinkTargets secara eksplisit memercayai akar target.
Lokakarya Skill menulis melalui target tepercaya tersebut hanya ketika
skills.workshop.allowSymlinkTargetWrites diaktifkan.
Direktori terkelola ~/.openclaw/skills dan pribadi ~/.agents/skills dapat berisi
folder skill yang ditautkan secara simbolis, tetapi realpath setiap SKILL.md tetap harus berada
di dalam direktori skill terselesaikannya.Kebijakan instalasi operator
Kebijakan instalasi operator
Konfigurasikan
security.installPolicy untuk menjalankan perintah kebijakan lokal tepercaya
sebelum instalasi skill dilanjutkan. Kebijakan menerima metadata dan jalur sumber
yang telah disiapkan, berlaku untuk jalur ClawHub, unggahan, Git, lokal, pembaruan, dan
penginstal dependensi, serta gagal secara tertutup ketika perintah tidak dapat mengembalikan
keputusan yang valid.Cakupan injeksi rahasia
Cakupan injeksi rahasia
skills.entries.*.env dan skills.entries.*.apiKey menyuntikkan rahasia ke dalam proses
hos hanya untuk giliran agen tersebut — bukan ke dalam sandbox. Jangan sertakan
rahasia dalam prompt dan log.Format SKILL.md
Setiap skill setidaknya memerlukanname dan description dalam frontmatter:
OpenClaw mengikuti spesifikasi AgentSkills. Frontmatter
pertama-tama diuraikan sebagai YAML; jika gagal, sistem beralih ke pengurai
yang hanya mendukung satu baris. Blok
metadata bertingkat (termasuk pemetaan
YAML multibaris) diratakan menjadi string JSON dan diuraikan ulang sebagai
JSON5, sehingga bentuk blok yang ditampilkan pada Pembatasan
berfungsi. Gunakan {baseDir} dalam isi untuk merujuk ke jalur folder skill.Kunci frontmatter opsional
string
URL yang ditampilkan sebagai “Website” di antarmuka Skills macOS. Juga
didukung melalui
metadata.openclaw.homepage.boolean
default:"true"
Jika
true, skill diekspos sebagai perintah garis miring yang dapat dipanggil
pengguna.boolean
default:"false"
Jika
true, OpenClaw tidak menyertakan instruksi skill dalam prompt normal
agen. Skill tetap tersedia sebagai perintah garis miring jika user-invocable
juga bernilai true."tool"
Jika ditetapkan ke
tool, perintah garis miring melewati model dan diteruskan
langsung ke alat yang terdaftar.string
Nama alat yang akan dipanggil ketika
command-dispatch: tool ditetapkan."raw"
default:"raw"
Untuk penerusan ke alat, meneruskan string argumen mentah ke alat tanpa
penguraian inti. Alat menerima
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Pembatasan
OpenClaw memfilter skill pada waktu pemuatan menggunakanmetadata.openclaw
(objek JSON5 yang disematkan dalam frontmatter, lihat catatan penguraian di
atas). Skill tanpa blok metadata.openclaw selalu memenuhi syarat kecuali
dinonaktifkan secara eksplisit.
boolean
Jika
true, selalu sertakan skill dan lewati semua pembatas lainnya.string
Emoji opsional yang ditampilkan di antarmuka Skills macOS.
string
URL opsional yang ditampilkan sebagai “Website” di antarmuka Skills macOS.
("darwin" | "linux" | "win32")[]
Filter platform. Jika ditetapkan, skill hanya memenuhi syarat pada OS yang
tercantum.
string[]
Setiap berkas biner harus tersedia di
PATH.string[]
Setidaknya satu berkas biner harus tersedia di
PATH.string[]
Setiap variabel lingkungan harus tersedia dalam proses atau disediakan
melalui konfigurasi.
string[]
Setiap jalur
openclaw.json harus bernilai benar.string
Nama variabel lingkungan yang terkait dengan
skills.entries.<name>.apiKey.object[]
Spesifikasi penginstal opsional yang digunakan oleh antarmuka Skills macOS
(brew / node / go / uv / download).
Blok lama
metadata.clawdbot masih diterima jika metadata.openclaw tidak
tersedia, sehingga skill lama yang telah terinstal tetap mempertahankan
pembatas dependensi dan petunjuk penginstalnya. Skill baru sebaiknya
menggunakan metadata.openclaw.Spesifikasi penginstal
Spesifikasi penginstal memberi tahu antarmuka Skills macOS cara menginstal dependensi:Aturan pemilihan penginstal
Aturan pemilihan penginstal
- Jika beberapa penginstal dicantumkan, Gateway memilih satu opsi yang diutamakan (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(bawaan: npm; opsi: npm / pnpm / yarn / bun). Ini hanya memengaruhi instalasi skill; runtime Gateway harus tetap menggunakan Node. - Urutan preferensi penginstal Gateway: Homebrew → uv → pengelola node yang dikonfigurasi → go → unduhan.
Detail per penginstal
Detail per penginstal
- Homebrew: OpenClaw tidak menginstal Homebrew secara otomatis atau
menerjemahkan formula brew menjadi perintah paket sistem. Dalam kontainer
Linux tanpa
brew, penginstal yang hanya mendukung brew disembunyikan; gunakan image khusus atau instal dependensinya secara manual. - Go: OpenClaw memerlukan Go 1.21 atau yang lebih baru untuk instalasi
skill otomatis. Jika
gotidak tersedia dan Homebrew tersedia, OpenClaw menginstal Go melalui Homebrew terlebih dahulu; pada Linux tanpa Homebrew, OpenClaw dapat menggunakanapt-getsebagai root atau melaluisudotanpa kata sandi jika kandidatgolang-goyang telah diperbarui memenuhi versi minimum. Perintahgo installsebenarnya untuk dependensi selalu menargetkan direktori bin khusus yang dikelola OpenClaw (binmilik Homebrew pada instalasi baru, jika tidak~/.local/bin), bukanGOBINyang Anda konfigurasikan — variabel lingkunganGOBIN,GOPATH, danGOTOOLCHAINmilik Anda dibaca tetapi tidak pernah ditimpa. - Unduhan:
url(wajib),archive(tar.gz|tar.bz2|zip),extract(bawaan: otomatis ketika arsip terdeteksi),stripComponents,targetDir(bawaan:~/.openclaw/tools/<skillKey>).
Catatan sandbox
Catatan sandbox
requires.bins diperiksa pada host saat skill dimuat. Jika agen
berjalan dalam sandbox, berkas biner juga harus tersedia di dalam
kontainer. Instal melalui agents.defaults.sandbox.docker.setupCommand
atau image khusus. setupCommand dijalankan sekali setelah kontainer dibuat
dan memerlukan akses jaringan keluar, sistem berkas root yang dapat
ditulisi, serta pengguna root di sandbox.Penimpaan konfigurasi
Aktifkan/nonaktifkan dan konfigurasikan skill bawaan atau terkelola di bawahskills.entries dalam ~/.openclaw/openclaw.json:
boolean
false menonaktifkan skill meskipun skill tersebut dibundel atau terinstal.
Skill bawaan coding-agent bersifat ikut-serta — tetapkan
skills.entries.coding-agent.enabled: true dan pastikan salah satu dari
claude, codex, opencode, atau CLI lain yang didukung telah terinstal dan
terautentikasi.string | { source, provider, id }
Kolom praktis untuk skill yang mendeklarasikan
metadata.openclaw.primaryEnv. Mendukung string teks biasa atau objek
SecretRef.Record<string, string>
Variabel lingkungan yang disuntikkan untuk eksekusi agen. Hanya disuntikkan
jika variabel belum ditetapkan dalam proses.
object
Kumpulan opsional untuk kolom konfigurasi khusus per skill.
string[]
Daftar izin opsional yang hanya berlaku untuk skill bawaan. Jika
ditetapkan, hanya skill bawaan dalam daftar yang memenuhi syarat. Skill
terkelola dan ruang kerja tidak terpengaruh.
Secara bawaan, kunci konfigurasi cocok dengan nama skill. Jika skill
mendefinisikan
metadata.openclaw.skillKey, gunakan kunci tersebut di bawah
skills.entries. Apit nama yang mengandung tanda hubung dengan tanda kutip:
JSON5 mengizinkan kunci yang diapit tanda kutip.Penyuntikan lingkungan
Saat eksekusi agen dimulai, OpenClaw:1
Membaca metadata skill
OpenClaw menentukan daftar skill efektif untuk agen dengan menerapkan aturan
pembatasan, daftar izin, dan penimpaan konfigurasi.
2
Menyuntikkan variabel lingkungan dan kunci API
skills.entries.<key>.env dan skills.entries.<key>.apiKey diterapkan ke
process.env selama eksekusi berlangsung.3
Menyusun prompt sistem
Skill yang memenuhi syarat dikompilasi menjadi blok XML ringkas dan
disuntikkan ke prompt sistem.
4
Memulihkan lingkungan
Setelah eksekusi berakhir, lingkungan asli dipulihkan.
claude-cli, OpenClaw juga mewujudkan snapshot skill yang
memenuhi syarat yang sama sebagai plugin Claude Code sementara dan
meneruskannya melalui --plugin-dir. Backend CLI lainnya hanya menggunakan
katalog prompt.
Snapshot dan penyegaran
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 konfigurasi berlaku pada sesi baru berikutnya. Skills disegarkan di tengah sesi dalam dua kasus:- Pemantau skill mendeteksi perubahan
SKILL.md. - Node jarak jauh baru yang memenuhi syarat terhubung.
Pemantau Skills
Pemantau Skills
Secara bawaan, OpenClaw memantau folder skill dan memperbarui snapshot
ketika berkas 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 jika Skill Workshop
juga harus menerapkan usulan melalui jalur symlink tepercaya tersebut.Node macOS jarak jauh (Gateway Linux)
Node macOS jarak jauh (Gateway Linux)
Jika Gateway berjalan di Linux tetapi Node macOS terhubung dengan
system.run yang diizinkan, OpenClaw dapat menganggap skill khusus macOS
memenuhi syarat ketika berkas biner yang diperlukan tersedia pada Node
tersebut. Agen harus menjalankan skill tersebut melalui alat exec dengan
host=node.Node luring tidak membuat skill khusus jarak jauh terlihat. Jika Node
berhenti merespons pemeriksaan berkas biner, OpenClaw menghapus kecocokan
berkas biner yang tersimpan dalam cache.Dampak token
Ketika skill memenuhi syarat, OpenClaw menyuntikkan blok XML ringkas ke dalam prompt sistem. Biayanya deterministik dan meningkat secara linear untuk setiap skill:- Overhead dasar (hanya jika 1+ skill memenuhi syarat): blok tetap berisi
prosa pengantar serta pembungkus
<available_skills>. - Per skill: ~97 karakter + panjang kolom
name,description, danlocationAnda. - Pengalihan XML mengubah
& < > " 'menjadi entitas, sehingga menambahkan beberapa karakter untuk setiap kemunculan. - Dengan ~4 karakter/token, 97 karakter ≈ 24 token per skill sebelum panjang kolom diperhitungkan.
skills.limits.maxSkillsPromptChars), OpenClaw terlebih dahulu mempertahankan sebanyak mungkin
identitas skill (nama, lokasi, dan versi) yang dapat dimuat oleh format ringkas
tanpa deskripsi. Setelah itu, OpenClaw menggunakan sisa anggaran untuk deskripsi yang dipersingkat. Jika tidak ada
anggaran deskripsi yang tersisa, deskripsi dihilangkan. Prompt menyertakan
catatan yang mengarahkan ke openclaw skills check setiap kali pemformatan ringkas atau pemotongan
daftar diperlukan.
Buat deskripsi tetap singkat dan informatif untuk meminimalkan beban tambahan prompt.
Terkait
Membuat skill
Panduan langkah demi langkah untuk membuat skill khusus.
Lokakarya Skill
Antrean proposal untuk skill yang disusun oleh agen.
Konfigurasi Skills
Skema konfigurasi
skills.* lengkap dan daftar izin agen.Perintah garis miring
Cara perintah garis miring skill didaftarkan dan dirutekan.
ClawHub
Jelajahi dan publikasikan skill di registri publik.
Plugin
Plugin dapat menyertakan skill bersama alat yang didokumentasikannya.