Home » Artikel Indonesia » Cara Buat Custom Skills di OpenClaw: Otomatisasi Task Spesifik dengan Plugin Buatan Sendiri
Artikel Indonesia

Cara Buat Custom Skills di OpenClaw: Otomatisasi Task Spesifik dengan Plugin Buatan Sendiri

March 14, 2026 oleh Marga Bagus 17 menit baca
Developer membuat custom skills di OpenClaw dari file SKILL.md dan struktur plugin.

Cara buat custom skills di OpenClaw menjadi topik yang makin relevan pada 2026, ketika OpenClaw tumbuh sangat cepat sebagai proyek open source dan ekosistem skillnya ikut melebar, dari otomasi inbox sampai alur kerja lintas chat app dan file lokal.[12][2] Di tengah laju adopsi itu, pertanyaan yang paling sering muncul justru sangat praktis, bagaimana menanam task spesifik ke dalam OpenClaw agar ia tidak hanya terdengar pintar, tetapi benar benar konsisten menjalankan pola kerja yang kita butuhkan.[1][3] Artikel ini membahas titik yang sering membingungkan pengguna baru, yaitu beda skill, tool, dan plugin, lalu membawa Anda ke jalur yang lebih operasional, mulai dari membuat SKILL.md sederhana sampai membungkus otomasi tersebut ke dalam plugin buatan sendiri yang lebih rapi dan lebih layak dipakai dalam workflow harian.[4][6]

Ringkasan singkat Skill OpenClaw

Aspek Ringkasan
Fokus pembahasan Cara membuat custom skill OpenClaw, kapan cukup memakai skill, dan kapan harus naik ke plugin
Format paling dasar Satu folder skill yang berisi SKILL.md, lalu ditemukan dari workspace, folder lokal, atau lokasi lain yang diizinkan
Fungsi skill Mengajari agen bagaimana memakai tool untuk tugas tertentu, bukan menambah izin baru
Fungsi plugin Menambah kemampuan runtime seperti tool, command, hook, route, service, dan juga dapat mengirim skill bawaan
Nilai praktis Cocok untuk otomasi task spesifik seperti ringkasan, klasifikasi, respons terstruktur, atau alur kerja yang berulang
Risiko utama Skill dan plugin pihak ketiga harus diperlakukan sebagai kode tepercaya, bukan konten yang aman secara default
Rekomendasi cepat Mulai dari skill sederhana, lalu pindah ke plugin jika Anda butuh command khusus, tool baru, atau integrasi yang lebih deterministik

Apa itu Skill OpenClaw, dan kenapa sering disamakan dengan plugin

Visual perbedaan skill, tool, dan plugin di OpenClaw.
Skill, tool, dan plugin di OpenClaw memiliki peran berbeda, dan memahami perbedaannya adalah kunci sebelum membuat otomasi.

OpenClaw sejak awal diposisikan sebagai personal AI assistant yang berjalan di perangkat milik pengguna sendiri, terhubung ke kanal seperti WhatsApp, Telegram, Slack, Discord, Signal, dan sejumlah permukaan lain yang sudah dipakai sehari hari.[2] Karena ia terasa seperti agen yang bisa benar benar bekerja, banyak orang mengira semua ekstensi di dalamnya itu sama. Padahal secara arsitektur, skill, tool, dan plugin adalah tiga lapisan yang berbeda, dan mencampuradukkannya sering membuat orang salah memilih pendekatan.[3][5][6]

Skill pada dasarnya adalah paket pengetahuan prosedural. Dokumentasi resmi OpenClaw menjelaskan bahwa skill adalah direktori yang berisi SKILL.md, kadang ditemani script atau resource tambahan, untuk memberi instruksi yang relevan kepada model saat mengerjakan tugas tertentu.[4] Dalam bahasa yang lebih sederhana, skill mengajari agen bagaimana berpikir dan bertindak untuk konteks yang spesifik. Ia mirip playbook yang mengemas konteks, aturan, dan alur kerja ke dalam format yang bisa ditemukan dan dipanggil ulang.

Plugin bekerja di level yang lebih dalam. Dokumentasi tools OpenClaw juga menegaskan bahwa browser, canvas, nodes, cron, dan beberapa kemampuan inti lain sekarang hadir sebagai first class tools, menggantikan pola openclaw-* skills lama, sehingga lapisan skill hari ini lebih tepat dipahami sebagai pengajar penggunaan tool, bukan sumber kemampuan eksekusi itu sendiri.[5] Plugin di OpenClaw dapat mendaftarkan tool, command, hook, HTTP route, background service, context engine, sampai kemampuan channel tertentu, lalu skill dapat ikut dibundel di dalam plugin itu.[6] Jadi kalau skill adalah lapisan pengetahuan, plugin adalah lapisan runtime extension. Inilah alasan utama kenapa pengguna yang ingin membuat otomasi task spesifik sebaiknya tidak langsung melompat ke plugin. Banyak kasus justru selesai dengan skill yang baik, selama tool yang diperlukan sudah tersedia.[5]

Bagaimana Skill OpenClaw bekerja di balik layar

Arsitektur pemuatan dan prioritas skill OpenClaw dari beberapa lokasi.
OpenClaw memuat skill dari beberapa lokasi dengan prioritas yang menentukan versi mana yang dipakai agen.

Kalau dilihat dari dokumentasi resminya, Skill OpenClaw mengikuti format AgentSkills compatible, sehingga fondasinya tidak berdiri di udara kosong, tetapi mengikuti ekosistem spesifikasi skill yang lebih luas.[3][15] Ini penting karena artinya skill bukan fitur eksperimental yang sepenuhnya tertutup, melainkan bagian dari pola yang makin umum di dunia agentic AI. Dari sudut pandang jangka panjang, ini juga membuat skill lebih mudah dipahami oleh developer yang sudah pernah menyentuh ekosistem agent skills lain.

Secara lokasi, OpenClaw memuat skill dari tiga tempat utama, yaitu skill bawaan, skill lokal di ~/.openclaw/skills, dan skill di workspace pada <workspace>/skills.[3] Jika ada nama skill yang sama, prioritas tertinggi diberikan ke workspace, lalu skill lokal pengguna, lalu skill bawaan. Dengan kata lain, OpenClaw memang dirancang agar Anda bisa meng override perilaku tertentu secara lokal tanpa harus memodifikasi paket inti.[3]

Di titik ini, banyak orang baru sadar bahwa skill sebenarnya sangat cocok untuk eksperimen cepat. Anda tidak harus membangun distribusi npm, tidak harus membuat channel plugin, dan tidak harus menyiapkan route tambahan hanya untuk mengajar agen melakukan satu tugas yang berulang. Selama problemnya masih berupa pengetahuan prosedural, misalnya cara merangkum, cara menata output, cara membaca konteks dari folder tertentu, atau cara menjalankan alur kerja yang memakai tool yang sudah ada, skill adalah jalur paling ringan.[4][5]

Ada detail yang sering terlewat tetapi sangat penting untuk otomasi task spesifik. OpenClaw mendukung skill yang user invocable, artinya ia dapat muncul sebagai slash command, dan nama command itu akan disanitasi ke format yang aman untuk sistem command bawaan.[3][16] Selain itu, skill juga bisa memakai command-dispatch: tool, sehingga slash command dapat langsung memanggil tool secara deterministik, tanpa melewati interpretasi model biasa.[3][16] Di sinilah skill mulai terasa lebih serius dari sekadar prompt template, karena ia bisa berubah dari instruksi kontekstual menjadi antarmuka kerja yang sangat operasional.

Satu detail teknis lain yang sangat berguna untuk workflow nyata adalah soal environment variable. Dokumentasi Skills Config menjelaskan bahwa ketika sesi dijalankan di dalam sandbox, proses skill berjalan di container Docker dan tidak otomatis mewarisi process.env dari host, sehingga variabel penting perlu dimasukkan ke konfigurasi sandbox atau dibangun ke image yang Anda pakai.[7][9] Bagi pengguna yang menguji skill lokal lalu tiba tiba bingung kenapa ia gagal saat dipindah ke mode sandbox, inilah salah satu penyebab yang paling sering tidak disadari.

Cara buat custom skills di OpenClaw dengan metode paling sederhana

Developer menulis file SKILL.md untuk custom skill OpenClaw.
Membuat custom skill OpenClaw bisa dimulai dari satu folder dan satu file SKILL.md yang jelas dan fokus.

Dokumentasi resmi OpenClaw sengaja membuat jalur awal ini sesederhana mungkin. Untuk membuat skill pertama, Anda cukup membuat folder di workspace skill, lalu menaruh file SKILL.md di dalamnya.[4] Setelah itu, skill dapat ditemukan ulang ketika Anda me refresh skill atau me restart gateway. Tidak ada ritual panjang yang wajib dilakukan untuk sekadar menguji apakah ide otomasi Anda masuk akal atau tidak.[4]

Jalur ini cocok ketika Anda ingin membangun sesuatu yang fokus, misalnya skill untuk merangkum bahan rapat, mengubah gaya respons menjadi lebih formal, memaksa output menjadi tabel keputusan, atau membaca pola tertentu dari file yang sudah tersedia. Dalam tahap ini, tujuan Anda bukan membangun produk ekstensi yang sempurna, tetapi memastikan bahwa problem yang hendak diotomasi memang bisa dinyatakan dengan jelas. Itu sebabnya banyak skill yang baik justru lahir dari observasi sederhana, tugas mana yang berulang, membuat lelah, dan selalu punya pola yang mirip.

Contoh SKILL.md minimal yang masuk akal untuk awal uji coba

Contoh paling sederhana di dokumentasi resmi memakai pola hello_world, dan itu menunjukkan bahwa yang paling wajib dari sebuah skill sebenarnya hanya frontmatter dan instruksi yang jelas.[4] Untuk kebutuhan yang lebih realistis, Anda bisa langsung memakai pola yang sedikit lebih operasional, asalkan tetap jujur tentang tool yang memang tersedia di runtime Anda. Jangan menulis kemampuan yang sebenarnya belum ada, karena itu hanya membuat agen terdengar percaya diri tetapi gagal saat dieksekusi.

Di bawah ini adalah contoh minimal yang mengikuti struktur resmi SKILL.md, namun diarahkan ke use case yang lebih relevan untuk pekerjaan sehari hari. Contoh ini bukan template sakral, melainkan batu loncatan untuk memahami cara berpikir skill yang efektif.

---
name: quick_recap
description: Merangkum halaman web atau bahan kerja menjadi ringkasan singkat berbahasa Indonesia.
user-invocable: true
---

# Quick Recap

Gunakan skill ini saat pengguna meminta ringkasan cepat dari URL atau bahan kerja.
Jika tersedia, pakai tool `web_fetch` untuk membaca halaman yang diberikan.
Tuliskan ringkasan dalam bahasa Indonesia yang padat, jelas, dan tidak bertele tele.
Jika sumber tidak bisa diakses, jelaskan kendalanya secara jujur dan jangan mengarang isi.

Kekuatan contoh sederhana seperti ini ada pada kejelasan tugasnya. Ia tidak berusaha menjadi serba bisa. Ia mengunci konteks, memperjelas gaya keluaran, dan memberi agen batas yang tegas tentang apa yang harus dilakukan ketika sumber gagal diakses. Untuk banyak workflow konten, riset, atau dokumentasi internal, level seperti ini sudah cukup menghasilkan efisiensi yang nyata.[4][5]

Kapan skill saja sudah cukup, dan kapan Anda perlu plugin

Inilah bagian yang menentukan apakah arsitektur Anda akan tetap ringan atau malah jadi berat sejak awal. Skill saja sudah cukup ketika masalah Anda sesungguhnya adalah pengetahuan prosedural, bukan kekurangan kapabilitas runtime. Kalau agen sudah punya tool yang diperlukan, lalu yang Anda butuhkan hanyalah aturan, urutan langkah, format keluaran, atau command yang lebih mudah diulang, skill adalah pilihan yang tepat.[4][5]

Plugin dibutuhkan ketika OpenClaw harus benar benar memiliki permukaan kemampuan baru. Dokumentasi plugin menjelaskan bahwa plugin dapat mendaftarkan tool, hook, route, CLI command, auto reply command, service, context engine, dan komponen runtime lain yang tidak tersedia di core secara default.[6] Dalam praktiknya, plugin relevan saat Anda ingin menghubungkan API internal, membuat command khusus yang berjalan tanpa LLM, menambahkan status checker, menyiapkan integrasi channel, atau membungkus sebuah sistem otomatis yang harus hidup stabil di level gateway.

Cara termudah membedakannya adalah ini. Jika pertanyaan Anda berbunyi, “Bagaimana agar agen tahu cara menjalankan workflow ini,” maka kemungkinan besar Anda butuh skill. Tetapi jika pertanyaannya berubah menjadi, “Bagaimana agar OpenClaw punya command, tool, atau layanan baru untuk workflow ini,” maka Anda sudah berada di wilayah plugin. Pergeseran kecil dalam kalimat itu biasanya sudah cukup untuk menghindari banyak keputusan arsitektur yang salah.

Cara membungkus skill ke dalam plugin OpenClaw buatan sendiri

Ketika skill Anda mulai dipakai terus menerus, dibutuhkan tim kecil, atau harus dibagikan dengan cara yang lebih tertata, plugin menjadi lapisan yang masuk akal. Dokumentasi resmi menegaskan bahwa plugin harus memiliki openclaw.plugin.json di root, lalu dapat didistribusikan dari path lokal, file arsip, atau paket npm.[6] Plugin juga bisa membawa folder skills/<name>/SKILL.md, sehingga satu paket ekstensi dapat memuat runtime behavior sekaligus skill yang mengajarkan cara menggunakan runtime itu.[3][6]

Newsletter WhatsApp & Telegram

Dapatkan update artikel via WhatsApp & Telegram

Pilih kanal favorit Anda: WhatsApp untuk notifikasi singkat langsung ke ponsel, Telegram untuk arsip lengkap & DM Bot pilih topik.

Pendekatan ini sangat menarik untuk otomasi task spesifik. Anda bisa menaruh tool atau command yang deterministik di plugin, lalu menaruh pengetahuan penggunaan dan gaya kerja di skill. Hasilnya, OpenClaw tidak hanya memiliki tangan untuk melakukan tindakan, tetapi juga memiliki manual kerja yang menjelaskan kapan dan bagaimana tangan itu harus dipakai. Kombinasi ini jauh lebih kuat daripada sekadar membuat prompt panjang di satu tempat.[5][6]

Susunan folder yang paling masuk akal

Berdasarkan dokumentasi plugin dan skill, susunan dasar plugin yang membawa skill biasanya akan mengikuti pola seperti ini. Yang penting bukan sekadar rapi, tetapi membuat discovery, distribusi, dan debugging menjadi lebih masuk akal.[6] Dengan struktur seperti ini, Anda menjaga batas antara kode runtime, manifest plugin, dan pengetahuan skill tetap bersih.

my-custom-plugin/
├── package.json
├── openclaw.plugin.json
├── index.ts
└── skills/
    └── quick-recap/
        └── SKILL.md

Untuk package.json, dokumentasi resmi menyebut bahwa plugin package harus menyertakan openclaw.extensions yang menunjuk ke satu atau lebih file entry plugin.[6] Potongan minimalnya dapat dimulai seperti ini.

{
  "name": "@marga/quick-recap-plugin",
  "openclaw": {
    "extensions": ["./index.ts"]
  }
}

Lalu pada index.ts, Anda dapat mulai dari sesuatu yang sangat kecil. Misalnya, mendaftarkan command status agar Anda punya titik observasi yang cepat saat plugin dipakai. Contoh berikut mengikuti pola registerCommand yang ada di dokumentasi resmi plugin.[6]

export default function (api) {
  api.registerCommand({
    name: "recapmode",
    description: "Menampilkan status plugin recap",
    acceptsArgs: true,
    requireAuth: true,
    handler: (ctx) => ({
      text: `Plugin recap aktif. Mode: ${ctx.args?.trim() || "default"}`,
    }),
  });
}

Yang perlu dicatat, saya sengaja tidak menebak nebak isi lengkap openclaw.plugin.json di artikel ini. Dokumentasi resmi memang mewajibkan file manifest itu ada di root plugin, dan discovery serta validasi config memakainya lebih dulu sebelum runtime plugin dieksekusi.[6] Karena itu, praktik terbaiknya adalah merujuk schema manifest resmi OpenClaw saat implementasi, bukan menyalin template acak dari forum atau blog pihak ketiga. Untuk konteks artikel yang berbasis fakta, kejujuran seperti ini justru lebih penting daripada memberi contoh yang tampak lengkap tetapi berpotensi salah.

Alur instalasi dan aktivasi plugin tanpa menebak nebak

Setelah struktur dasarnya siap, OpenClaw menyediakan alur CLI yang cukup jelas. Anda bisa melihat plugin yang aktif dengan openclaw plugins list, memasang plugin dari path lokal, link development, file arsip, atau npm, lalu mengaktifkannya di konfigurasi plugin yang sesuai.[6] Di titik ini, dokumentasi juga menekankan bahwa konfigurasi plugin yang spesifik ditempatkan di plugins.entries.<id>.config, sehingga sisi distribusi dan sisi konfigurasi tetap terpisah dengan baik.[6]

Jika plugin Anda juga mengirim skill, maka skill tersebut ikut bermain dalam sistem precedence skill normal OpenClaw.[3] Itu artinya, skill bawaan plugin masih bisa di override oleh workspace atau skill lokal jika memang diperlukan. Buat saya, ini salah satu desain yang paling berguna di OpenClaw, karena ia memberi fleksibilitas eksperimen tanpa memaksa Anda melakukan fork besar setiap kali ingin menyesuaikan perilaku untuk tim atau proyek tertentu.

Risiko keamanan skill OpenClaw yang tidak boleh diremehkan

Ilustrasi audit keamanan skill OpenClaw dan sandboxing.
Skill dan plugin pihak ketiga di OpenClaw perlu diaudit dengan serius, terutama ketika menyentuh file lokal, command, dan jaringan.

Di sinilah artikel seperti ini harus jujur, karena justru banyak konten promosi yang melompati sisi ini. Dokumentasi resmi OpenClaw secara eksplisit meminta pengguna memperlakukan skill pihak ketiga sebagai kode yang tidak tepercaya sampai benar benar diperiksa, dan plugin juga dijalankan in process bersama gateway tanpa sandbox bawaan.[3][6] Dengan kata lain, skill dan plugin bukan aksesoris lucu. Mereka bisa menjadi permukaan risiko yang nyata.

Risikonya bukan sekadar teori. Pada awal 2026, laporan keamanan menemukan gelombang skill berbahaya di ClawHub yang menyamar sebagai alat kripto dan mendorong korban menjalankan perintah terminal tersamarkan untuk mengambil malware.[13][14] OpenSourceMalware yang dikutip media keamanan menemukan setidaknya 14 skill berbahaya dalam satu gelombang unggahan, sementara laporan lain menunjukkan skala add on berbahaya yang lebih besar di marketplace tersebut.[13][14] Ini penting karena ClawHub sendiri memang dirancang sebagai registry publik untuk mempublikasikan, memberi versi, dan mencari skill, sehingga kemudahan distribusinya harus diimbangi dengan disiplin audit dari sisi pengguna.[11]

OpenClaw memang menyediakan mitigasi, tetapi mitigasi itu harus benar benar diaktifkan dan dipahami. Dokumentasi sandboxing menjelaskan bahwa OpenClaw bisa menjalankan tool di dalam container Docker untuk mengurangi blast radius, walau sistem ini sendiri tidak diklaim sebagai batas keamanan yang sempurna.[9] Dokumentasi security juga menekankan bahwa OpenClaw pada dasarnya memakai model personal assistant, bukan model multi tenant yang aman untuk pihak yang saling tidak percaya, sehingga pemisahan trust boundary lewat host, user OS, atau gateway terpisah tetap penting.[8]

Ada satu fakta tambahan yang tidak boleh dilewatkan jika Anda berniat serius membangun plugin sendiri. Advisory GitHub resmi untuk OpenClaw menyebut adanya celah workspace plugin auto discovery yang memungkinkan repository berbahaya mengeksekusi plugin ketika OpenClaw dijalankan dari direktori tersebut, dan patch resminya tersedia di versi 2026.3.12.[10] Jadi, kalau Anda sedang bereksperimen membuat custom plugin, gunakan versi yang sudah dipatch, hindari membuka repository yang tidak tepercaya, dan jangan menjadikan mesin personal dengan data sensitif sebagai tempat uji coba sembarangan.[10][8]

Ulasan jujur, apakah Skill OpenClaw layak dipakai untuk otomasi task spesifik

Kalau pertanyaannya soal kelayakan, jawaban paling jujurnya adalah, ya, sangat layak, tetapi hanya jika Anda memahami batasnya. Sebagai lapisan pengetahuan prosedural, skill OpenClaw terasa cepat, fleksibel, dan murah secara kompleksitas. Anda bisa memulai dari file Markdown sederhana, mengujinya langsung di workspace, lalu mengembangkan detailnya sedikit demi sedikit tanpa harus membangun ekstensi berat sejak hari pertama.[4][3]

Di sisi lain, skill bukan sihir. Ia tidak otomatis memberi kemampuan baru, tidak otomatis membuat sistem lebih aman, dan tidak otomatis membuat alur menjadi deterministik. Untuk itulah plugin, tool policy, dan mode command dispatch dibutuhkan.[5][6][16] Banyak kegagalan implementasi bukan terjadi karena modelnya buruk, melainkan karena arsitekturnya kabur. Orang berharap skill menyelesaikan persoalan yang sebenarnya milik plugin, atau sebaliknya, mereka membangun plugin penuh padahal yang dibutuhkan hanya instruksi yang lebih disiplin.

Kalau saya menilainya dari sudut praktik, Skill OpenClaw paling kuat ketika dipakai untuk mengemas pola kerja yang sudah jelas, berulang, dan punya definisi sukses yang spesifik. Misalnya, merangkum dengan format tertentu, menyiapkan draf awal yang mengikuti struktur baku, melakukan klasifikasi internal, atau menjadi antarmuka slash command untuk aksi yang ruang geraknya sudah dibatasi.[3][16] Begitu kebutuhan Anda menyentuh tool baru, command khusus, state runtime, atau layanan latar belakang, barulah plugin menjadi langkah berikutnya yang masuk akal.[6]

Saat skill yang baik membuat agen terasa benar benar berguna

Pengguna merasakan manfaat nyata dari skill OpenClaw yang dirancang dengan baik.
Skill yang dirancang sempit tetapi jelas sering kali memberi dampak paling nyata pada workflow sehari hari.

Skill OpenClaw bukan sekadar fitur tempelan di proyek yang sedang populer. Ia adalah jembatan antara model yang generik dengan kebutuhan kerja yang sangat spesifik, dan itulah alasan kenapa custom skill terasa penting justru ketika hype mulai mereda dan orang masuk ke fase penggunaan nyata.[1][12] Semakin jelas tugas yang ingin Anda otomasi, semakin terlihat bahwa nilai terbesar skill bukan pada kecanggihannya, melainkan pada kemampuannya mengurangi ambigu, menambah konsistensi, dan menjaga agen tetap bekerja dalam pagar yang masuk akal.[3][4]

Kalau Anda baru mulai, jangan terburu buru membuat plugin besar. Mulailah dari satu skill yang sempit tetapi berguna, uji sampai benar benar terasa membantu, lalu naikkan ke plugin ketika kebutuhan runtime Anda memang menuntutnya. Kalau Anda punya pengalaman membuat skill OpenClaw sendiri, atau masih bingung memilih antara skill dan plugin untuk workflow tertentu, tinggalkan komentar dan ceritakan kasusnya, karena diskusi seperti itu justru paling menarik saat datang dari penggunaan nyata.

References


  1. OpenClaw — Personal AI Assistant

  2. GitHub — openclaw/openclaw

  3. OpenClaw Docs — Skills

  4. OpenClaw Docs — Creating Skills

  5. OpenClaw Docs — Tools

  6. OpenClaw Docs — Plugins

  7. OpenClaw Docs — Skills Config

  8. OpenClaw Docs — Security

  9. OpenClaw Docs — Sandboxing

  10. GitHub Advisory — Workspace plugin auto discovery allowed code execution from cloned repositories

  11. GitHub — openclaw/clawhub

  12. Reuters — Chinese tech hubs promote OpenClaw AI agent despite security warnings

  13. Tom's Hardware — Malicious OpenClaw skill targets crypto users on ClawHub

  14. The Verge — OpenClaw’s AI skill extensions are a security nightmare

  15. GitHub — Agent Skills Specification

  16. OpenClaw Docs — Slash Commands

Pertanyaan yang Sering Diajukan

# OpenClaw # SKILL AI

Siap menerapkan ini untuk bisnis kamu?

Mari Diskusi →
Bagikan —

Leave a Reply

Your email address will not be published.

8 + 6 =