- Di Claude Code, Skills adalah salah satu titik ekstensi yang paling sering digunakan, dan artikel ini membagikan praktik terbaik lapangan yang terkumpul dari pengoperasian ratusan skill secara nyata di dalam Anthropic
- Skill bukan sekadar file Markdown, melainkan struktur folder yang mencakup skrip, aset, data, dan lainnya sehingga dapat dijelajahi dan dimanfaatkan oleh agen
- Skill diklasifikasikan ke dalam 9 kategori skill seperti referensi library, verifikasi produk, analisis data, scaffolding kode, CI/CD, dan lainnya; skill yang baik seharusnya pas dengan rapi ke dalam satu kategori
- Saat menulis skill, tips praktis seperti bagian Gotchas, pemanfaatan file system, progressive disclosure, dan penyimpanan data menjadi inti
- Saat organisasi berkembang, disarankan memakai plugin marketplace internal untuk mendistribusikan skill, serta struktur hook pengukuran penggunaan untuk melacak efektivitasnya
Apa itu Skills
- Kesalahpahaman umum tentang Skills adalah bahwa ini “hanya file Markdown”, padahal sebenarnya merupakan struktur folder yang mencakup skrip, aset, data, dan lainnya
- Agen dapat menjelajahi folder ini, menemukan isinya, dan memanipulasinya
- Di Claude Code, Skills menyediakan beragam opsi konfigurasi, dan juga memungkinkan pendaftaran dynamic hooks
- Skill yang paling menarik adalah yang memanfaatkan secara kreatif opsi konfigurasi dan struktur folder ini
9 kategori skill
- Setelah semua skill yang digunakan secara internal diklasifikasikan, terlihat pengelompokan ke dalam beberapa kategori yang berulang
- Skill yang baik pas dengan rapi ke dalam satu kategori, sementara skill yang membingungkan biasanya melintasi beberapa kategori
-
1. Library & API Reference
- Skill yang menjelaskan cara menggunakan library, CLI, dan SDK dengan benar
- Bukan hanya library internal, tetapi juga library umum yang sering membuat Claude Code keliru
- Sering kali mencakup folder snippet kode referensi dan daftar gotchas
- Contoh: billing-lib(edge case pada library pembayaran internal), internal-platform-cli(semua subcommand dan contoh penggunaan wrapper CLI internal), frontend-design(peningkatan penerapan design system)
-
2. Product Verification
- Skill yang mendeskripsikan cara menguji dan memverifikasi apakah kode berjalan dengan benar
- Sering digunakan bersama tool eksternal seperti Playwright dan tmux
- Sangat berguna untuk menjamin akurasi output Claude, dan layak bagi engineer untuk menginvestasikan bahkan seminggu penuh demi membuat skill verifikasi yang unggul
- Disarankan teknik seperti membuat Claude merekam output dalam bentuk video, atau memaksa assertion terprogram atas status di setiap langkah
- Contoh: signup-flow-driver(menjalankan pendaftaran→verifikasi email→onboarding di browser headless), checkout-verifier(menjalankan UI pembayaran dengan kartu uji Stripe lalu memverifikasi status invoice), tmux-cli-driver(untuk menguji CLI interaktif yang membutuhkan TTY)
-
3. Data Fetching & Analysis
- Skill yang terhubung ke stack data dan monitoring
- Mencakup library pengambilan data dengan credential, ID dashboard tertentu, panduan workflow umum, dan sebagainya
- Contoh: funnel-query(tabel dengan event dan canonical user_id yang diperlukan untuk funnel pendaftaran→aktivasi→pembayaran), cohort-compare(perbandingan retensi/konversi dua cohort dan penandaan signifikansi statistik), grafana(data source UID, nama cluster, tabel lookup masalah→dashboard)
-
4. Business Process & Team Automation
- Skill yang mengotomatiskan workflow berulang dengan satu perintah
- Instruksinya relatif sederhana, tetapi bisa memiliki dependensi kompleks pada skill lain atau MCP
- Menyimpan hasil eksekusi sebelumnya ke file log membantu model menjaga konsistensi dan merefleksikan eksekusi terdahulu
- Contoh: standup-post(standup terformat yang menggabungkan ticket tracker, aktivitas GitHub, dan Slack), create-ticket(workflow dengan penegakan skema dan langkah setelah pembuatan), weekly-recap(menulis posting ringkasan dari PR yang di-merge + tiket yang ditutup + deployment)
-
5. Code Scaffolding & Templates
- Skill yang menghasilkan boilerplate framework untuk fitur tertentu dalam codebase
- Dapat dipadukan dengan skrip yang bisa dikomposisikan, dan sangat berguna saat ada kebutuhan bahasa alami yang tidak bisa sepenuhnya dicakup hanya oleh kode
- Contoh: new-framework-workflow(scaffolding service/workflow/handler baru dengan anotasi), new-migration(template file migration dan hal-hal yang perlu diwaspadai), create-app(aplikasi internal baru dengan autentikasi, logging, dan pengaturan deployment yang sudah terhubung)
-
6. Code Quality & Review
- Skill yang menegakkan kualitas kode dalam organisasi dan membantu code review
- Dapat mencakup skrip atau tool deterministik demi ketangguhan maksimal
- Juga bisa dijalankan otomatis sebagai bagian dari hook atau GitHub Action
- Contoh: adversarial-review(subagen dengan sudut pandang baru mengkritik→memperbaiki→mengulang hingga temuan turun ke level nitpick), code-style(menegakkan gaya kode yang secara default sering salah dilakukan Claude), testing-practices(cara menulis test dan apa yang harus diuji)
-
7. CI/CD & Deployment
- Skill untuk mengambil, mendorong, dan men-deploy kode di dalam codebase
- Dapat merujuk ke skill lain untuk mengumpulkan data
- Contoh: babysit-pr(memantau PR→mencoba ulang CI yang flaky→menyelesaikan merge conflict→mengaktifkan auto-merge), deploy-service(build→smoke test→rollout traffic bertahap→membandingkan error rate→auto rollback saat regresi), cherry-pick-prod(worktree terisolasi→cherry-pick→menyelesaikan conflict→membuat template PR)
-
8. Runbooks
- Skill yang menerima gejala sebagai input (seperti thread Slack, alert, error signature) lalu melakukan investigasi multi-tool dan menghasilkan laporan terstruktur
- Contoh: service-debugging(pemetaan gejala→tool→pola query), oncall-runner(mengambil alert→mengecek penyebab umum→memformat hasil), log-correlator(mengumpulkan log dari seluruh sistem terkait lewat request ID)
-
9. Infrastructure Operations
- Skill yang menjalankan prosedur operasi dan pemeliharaan rutin, dengan guardrail untuk tindakan destruktif
- Membantu engineer mengikuti best practice dalam operasi penting
- Contoh: resource-orphans(mencari Pod/volume yatim→notifikasi Slack→masa tunggu→konfirmasi pengguna→pembersihan bertahap), dependency-management(workflow persetujuan dependensi di organisasi), cost-investigation(bucket dan pola query untuk menyelidiki lonjakan biaya storage/egress)
Tips menulis skill
-
Jangan menuliskan hal yang sudah jelas
- Claude Code sudah mengetahui banyak hal tentang codebase dan juga memiliki opini dasar soal coding
- Jika membuat skill yang berpusat pada pengetahuan, fokuslah pada informasi yang menyimpang dari pola pikir umum Claude
- Skill frontend-design adalah contoh yang baik: dibuat oleh engineer Anthropic melalui iterasi bersama pelanggan untuk meningkatkan sense desain Claude, dan disusun agar menghindari pola khas seperti font Inter dan gradient ungu
-
Bangun bagian Gotchas
- Di semua skill, konten dengan nilai sinyal tertinggi adalah bagian Gotchas
- Bagian ini harus dibangun dari titik kegagalan yang sering ditemui Claude saat menggunakan skill
- Idealnya, gotchas ini terus diperbarui seiring waktu
-
Manfaatkan file system dan progressive disclosure
- Karena skill adalah folder, seluruh file system sebaiknya dimanfaatkan sebagai sarana context engineering dan progressive disclosure
- Jika Claude diberi tahu file apa saja yang ada di dalam skill, ia akan membacanya pada saat yang tepat
- Bentuk paling sederhana: pisahkan signature fungsi yang detail dan contoh penggunaan ke file Markdown terpisah seperti references/api.md
- Jika output akhir berbentuk Markdown, Anda juga bisa menyertakan file template di folder assets/
- Folder untuk referensi, skrip, contoh, dan sebagainya meningkatkan efisiensi kerja Claude
-
Jangan terlalu membatasi Claude
- Claude berusaha mengikuti instruksi, tetapi karena skill sangat reusable, instruksi yang terlalu spesifik perlu dihindari
- Berikan informasi yang diperlukan, namun sisakan ruang agar ia bisa beradaptasi secara fleksibel terhadap situasi
-
Rancang proses Setup
- Beberapa skill membutuhkan tahap setup untuk mengumpulkan konteks dari pengguna
- Misalnya, jika skill digunakan untuk memposting standup ke Slack, perlu menanyakan channel tujuan
- Pola yang baik: simpan informasi setup di file config.json dalam direktori skill, dan jika belum dikonfigurasi agen akan bertanya kepada pengguna
- Untuk menampilkan pertanyaan terstruktur berbentuk pilihan ganda, dapat diinstruksikan menggunakan tool AskUserQuestion
-
Field Description adalah untuk model
- Saat Claude Code memulai sesi, ia membangun daftar description dari semua skill yang tersedia
- Claude memindai daftar ini untuk menilai “apakah ada skill yang cocok untuk permintaan ini?”
- Karena itu, field description bukan ringkasan, melainkan penjelasan kapan skill ini harus dipicu
-
Memori dan penyimpanan data
- Skill dapat menyertakan memori dalam bentuk penyimpanan data
- Bentuknya bisa beragam, dari file log teks sederhana atau file JSON hingga database SQLite
- Contoh: jika skill standup-post menyimpan seluruh riwayat penulisan di standups.log, pada eksekusi berikutnya Claude bisa membaca riwayatnya sendiri dan memahami perubahan sejak kemarin
- Data yang disimpan di direktori skill bisa terhapus saat upgrade skill, jadi sebaiknya disimpan di folder stabil
${CLAUDE_PLUGIN_DATA}
-
Menyimpan skrip dan menghasilkan kode
- Salah satu tool paling kuat yang bisa diberikan kepada Claude adalah kode itu sendiri
- Dengan menyediakan skrip dan library, Claude dapat fokus pada komposisi alih-alih membangun ulang boilerplate
- Contoh: skill data science dapat menyertakan library helper function untuk mengambil data dari sumber event
- Claude lalu bisa mengombinasikan fungsi-fungsi ini untuk menghasilkan skrip secara on-the-fly, dan memakainya untuk analisis kompleks seperti “apa yang terjadi pada hari Selasa?”
-
On Demand Hooks
- Skill dapat menyertakan hook yang hanya aktif saat dipanggil dan hanya bertahan selama sesi
- Ini cocok untuk hook dengan opini kuat yang terlalu berat jika dijalankan terus-menerus, tetapi sangat berguna dalam situasi tertentu
- Contoh:
/careful — memblokir rm -rf, DROP TABLE, force-push, dan kubectl delete dengan matcher PreToolUse, aktif hanya saat bekerja di production
/freeze — memblokir semua Edit/Write di luar direktori tertentu, berguna saat debugging untuk mencegah perubahan tak disengaja
Distribusi skill
- Salah satu keunggulan besar skill adalah bisa dibagikan ke seluruh tim
- Ada dua cara berbagi:
- Check-in skill ke repo (di bawah
./.claude/skills)
- Membuatnya sebagai plugin lalu mengunggahnya ke Claude Code Plugin marketplace, agar pengguna dapat menginstalnya
-
Mengelola marketplace
- Untuk tim kecil yang bekerja di sedikit repo, pendekatan check-in ke repo cocok
- Skill yang di-check-in akan sedikit demi sedikit menambah konteks model, sehingga saat skala membesar, plugin marketplace internal lebih menguntungkan
- Tidak ada tim pusat yang menentukan skill mana yang masuk marketplace; skill yang paling berguna ditemukan secara alami
- Jika ada skill yang ingin dicoba, unggah ke folder sandbox di GitHub lalu umumkan di Slack atau kanal lain
- Setelah mendapatkan traction yang cukup, pemilik skill mengirim PR untuk memindahkannya ke marketplace
- Karena skill yang buruk atau duplikatif mudah dibuat, mekanisme kurasi sebelum rilis itu penting
-
Mengomposisikan skill
- Mungkin diperlukan dependensi antar-skill (misalnya skill unggah file + skill membuat dan mengunggah CSV)
- Marketplace maupun skill belum memiliki manajemen dependensi yang native, tetapi jika skill lain dirujuk berdasarkan nama, model akan memanggilnya bila sudah terpasang
-
Mengukur skill
- Untuk memahami performa skill, penggunaan skill di perusahaan dicatat melalui hook PreToolUse
- Ini berguna untuk menemukan skill yang populer atau skill yang pemicunya lebih jarang dari yang diharapkan
Kesimpulan
- Skills adalah tool yang sangat kuat dan fleksibel untuk agen, tetapi masih berada di tahap awal, dan semua orang masih mencari cara terbaik untuk memanfaatkannya
- Tulisan ini bukan panduan final, melainkan kumpulan tips yang terbukti efektif di praktik nyata
- Sebagian besar skill berawal dari beberapa baris dan satu gotcha, lalu terus ditambah dan diperbaiki saat Claude menemui edge case baru
1 komentar
Belakangan ini, kesan saya saat melihat Anthropic adalah bahwa para developer mereka membagikan sebanyak mungkin pengalaman yang mereka punya sambil mendorong orang agar bisa menggunakan produk mereka dengan lebih baik
Rasanya seperti contoh nyata yang menunjukkan, “Beginilah ekosistem pengembangan di era AI dibangun.”