Kursus
Claude Code menangani sebagian besar tugas pengembangan secara langsung, tetapi setiap tim memiliki alur kerja spesifik yang tidak tercakup oleh setelan standar. Anda mungkin menginginkan perintah kustom yang membuat scaffolding komponen sesuai struktur pilihan perusahaan, linting otomatis sebelum setiap commit, atau akses cepat ke dokumentasi framework yang sering Anda gunakan.
Plugin Claude Code memungkinkan Anda menambahkan fitur-fitur ini sendiri. Anda dapat memasang plugin buatan komunitas atau membuatnya sendiri.
Jika Anda baru dengan alat pengodean agen dari Anthropic, saya sarankan mulai dari Panduan Claude Code atau kursus Pengantar Model Claude. Tutorial ini mengasumsikan Anda telah memasang Claude Code dan pernah menggunakannya untuk tugas-tugas dasar.
Di akhir panduan, Anda akan tahu cara:
- Menemukan dan memasang plugin dari direktori Anthropic dan sumber komunitas
- Memahami tiga jenis komponen yang dapat dimuat plugin
- Memilih jenis yang tepat untuk berbagai kasus penggunaan
- Membangun dan membagikan plugin Anda sendiri
Untuk ikhtisar kemampuan model terbaru Anthropic, lihat panduan kami tentang Claude Sonnet 5.
Ringkasnya
-
Plugin Claude Code mengemas skills, server MCP, dan hooks ke dalam paket yang dapat dibagikan dan dipasang dengan
claude plugin add -
Skills dimuat saat dibutuhkan (~100 token tiap skill); server MCP memuat definisi tool lebih dulu (berkurang dengan Tool Search); hooks berjalan sebagai skrip shell tanpa biaya token
-
Gunakan skills untuk pengetahuan dan alur kerja, server MCP untuk akses API eksternal, dan hooks untuk aturan yang harus selalu dijalankan
-
Buat plugin dengan tiga berkas: manifes
.claude-plugin/plugin.json, direktoriskills/, dan berkas instruksiSKILL.md
Apa Itu Plugin Claude Code?
Plugin adalah paket yang menggabungkan satu atau lebih ekstensi Claude Code agar mudah dibagikan dan dipasang. Alih-alih menyalin berkas konfigurasi secara manual antar mesin atau rekan tim, Anda dapat membungkus semuanya ke dalam plugin dan mendistribusikannya sebagai satu kesatuan.
Plugin dapat berisi tiga jenis komponen:
-
Skills: Perintah kustom yang Anda panggil dengan
/skill-name, atau prompt kontekstual yang dipakai Claude secara otomatis saat relevan -
Server MCP: Koneksi ke layanan dan API eksternal yang memberi Claude akses ke data yang sebaliknya tidak dimiliki
-
Hooks: Skrip shell yang berjalan otomatis pada peristiwa tertentu, seperti sebelum sebuah berkas diedit atau setelah commit
Sebuah plugin dapat berisi salah satu dari ini, atau menggabungkan beberapa yang saling melengkapi. Plugin "deployment" bisa menyertakan skill /deploy untuk deployment manual, server MCP yang memeriksa status staging, dan hook yang menjalankan test sebelum perintah deployment apa pun dieksekusi.
Berkas manifes plugin.json mendefinisikan isi plugin. Berkas ini menentukan skill, server MCP, dan hook apa yang dipasang, beserta metadata seperti nama plugin, versi, dan penulis. Saat Anda memasang plugin, Claude Code membaca manifes ini dan menyiapkan setiap komponen di lokasi yang tepat.
Format pengemasan ini berarti Anda tidak perlu memahami struktur berkas internal ekstensi Claude Code. Anda cukup memasang plugin, dan semuanya berada di tempatnya.
Menemukan dan Memasang Plugin Claude Code
Sebagian besar plugin berada di dua tempat. Direktori resmi Anthropic di claude.com/plugins mencakup plugin buatan Anthropic, kontribusi komunitas terverifikasi, dan ekstensi pihak ketiga populer. Setiap listing menampilkan komponen yang disertakan, informasi kompatibilitas, dan instruksi pemasangan.
Sumber kedua adalah GitHub:
- anthropics/claude-plugins-official - Registri plugin bawaan default.
- anthropics/claude-plugins-community - Katalog terkurasi dari integrasi yang dikirim komunitas.
- anthropics/knowledge-work-plugins - Plugin yang dirancang khusus untuk pekerja pengetahuan.
Setelah Anda menemukan plugin yang diinginkan, perintah pemasangan bergantung pada lokasinya:
# From the official directory
claude plugin add @anthropic/deploy-helper
# From a GitHub repository
claude plugin add github:username/repo-name
# From a local directory (useful during development)
claude plugin add ./my-plugin
Setelah memasang beberapa plugin, Anda akan ingin melacaknya. Perintah plugin menangani daftar, pembaruan, dan penghapusan:
# List all installed plugins
claude plugin list
# Update a specific plugin to the latest version
claude plugin update @anthropic/deploy-helper
# Update all plugins
claude plugin update --all
# Remove a plugin
claude plugin remove @anthropic/deploy-helper
Salah satu keputusan saat pemasangan adalah cakupan. Plugin dapat ditempatkan di dua lokasi: cakupan pengguna memasang ke ~/.claude/plugins/ dan berlaku untuk semua proyek Anda, sedangkan cakupan proyek memasang ke .claude/plugins/ di dalam repositori tertentu.
Bawaan utamanya adalah cakupan pengguna. Untuk memasang plugin hanya untuk proyek saat ini, tambahkan flag --project:
claude plugin add @anthropic/deploy-helper --project
Plugin dengan cakupan proyek masuk akal saat ekstensi terkait dengan codebase tertentu.
Plugin yang memahami proses deployment perusahaan Anda sebaiknya berada di proyek tersebut. Plugin yang memformat kode sesuai preferensi pribadi Anda sebaiknya berada di level pengguna. Ketika plugin ada pada kedua cakupan, versi proyek memiliki prioritas, sehingga tim dapat menegakkan konfigurasi spesifik proyek sementara pengembang tetap menjalankan plugin pribadi di tempat lain.
Memilih Jenis Plugin Claude Code yang Tepat
Tiga jenis komponen memiliki tujuan berbeda dan mengonsumsi token jendela konteks secara berbeda. Memahami pertukaran ini membantu Anda memilih yang tepat untuk setiap tugas.
Skills vs server MCP: kompromi token
Server MCP memuat semua definisi tool ke dalam jendela konteks saat sesi dimulai. Setiap tool memerlukan nama, deskripsi, dan skema parameter lengkap, biasanya 100–300 token per tool. Setup lima server menghabiskan sekitar 55.000 token sebelum Anda mengetik satu karakter pun:
- GitHub: 35 tool
- Slack: 11 tool
- Sentry: 5 tool
- Grafana: 5 tool
- Splunk: 2 tool
Satu analisis menemukan setup dengan 7+ server mengonsumsi 67.000+ token, yaitu sepertiga dari jendela konteks 200K Anda habis sebelum percakapan dimulai.
Skills mengambil pendekatan berbeda melalui pengungkapan progresif. Saat sesi dimulai, Claude hanya melihat nama setiap skill dan deskripsi satu baris dari YAML frontmatter, sekitar 100 token per skill.
Instruksi lengkap baru dimuat ketika Claude menentukan skill tersebut relevan untuk tugas saat ini. Berkas referensi hanya dimuat ketika benar-benar diperlukan. Dan skrip tidak pernah masuk ke jendela konteks; Claude menjalankannya secara eksternal, dan hanya output-nya yang kembali.

Anthropic mengatasi ketidakseimbangan ini pada akhir 2025 dengan Tool Search, fitur yang menghadirkan pemuatan malas ke server MCP.
Alih-alih memuat semua definisi tool lebih dulu, Claude Code kini mendeteksi ketika deskripsi tool akan menghabiskan lebih dari 10% konteks yang tersedia dan beralih ke pemuatan sesuai permintaan.
Pengujian internal menunjukkan penggunaan konteks turun dari ~134.000 token menjadi ~5.000 token untuk pustaka tool besar. Akurasi pemilihan tool juga meningkat, dengan Opus 4 naik dari 49% ke 74% dan Opus 4,5 dari 79,5% ke 88,1% pada evaluasi MCP.
Berikut cara memutuskan di antara keduanya.
Skills paling cocok saat Anda ingin Claude memiliki akses ke pengetahuan atau alur kerja yang dapat diterapkannya dengan pertimbangan. Sebuah skill yang menjelaskan daftar periksa code review tim Anda akan dimuat saat Claude meninjau kode, namun Claude tetap memutuskan cara menerapkan setiap butir berdasarkan konteks.
Skills juga masuk akal untuk operasi yang memerlukan skrip untuk komputasi berat, karena kode skrip tetap berada di luar jendela konteks.
Server MCP paling cocok ketika Claude membutuhkan data real-time dari layanan eksternal seperti pesan Slack, PR GitHub, atau kueri basis data. Ini juga pilihan yang tepat ketika beberapa agen AI membutuhkan tool yang sama, atau ketika Anda memerlukan fitur tingkat perusahaan seperti log audit dan izin eksplisit.
Banyak setup menggabungkan keduanya: skills menyediakan "bagaimana" dan "kapan" melalui instruksi bahasa alami, sementara server MCP menangani panggilan API yang sebenarnya.
| Skills | Server MCP | Hooks | |
|---|---|---|---|
| Pemicu | /skill-name atau otomatis |
Tersedia sebagai tool di sesi | Otomatis pada peristiwa siklus hidup |
| Biaya token | ~100 per skill (pemuatan malas) | 100–300 per tool (pramuat; dikurangi oleh Tool Search) | Nol |
| Claude memutuskan? | Ya | Ya | Tidak (deterministik) |
| Terbaik untuk | Pengetahuan, alur kerja, standar tim | API eksternal, data real-time, setup multi-agen | Linting, test gate, jalur terlindungi |
| Contoh | Daftar periksa code review | Manajemen PR GitHub | Memblokir commit hingga test lulus |
Skills Claude Code populer yang layak dipasang
- Superpowers (tutorial kami): 20+ alur kerja produksi untuk TDD, debugging, dan perencanaan terstruktur
- frontend-design: Mengarahkan Claude untuk menghindari estetika generik dan membuat keputusan desain yang berani
- mcp-builder: Panduan membuat server MCP untuk mengintegrasikan API eksternal
- webapp-testing: Menguji aplikasi web lokal menggunakan Playwright untuk verifikasi UI
- skill-creator: Alat interaktif yang memandu Anda membangun skills baru
Server MCP populer yang layak dihubungkan
- Context7: Pencarian dokumentasi real-time, spesifik versi
- GitHub: Pencarian repositori, manajemen PR, pelacakan isu
- Playwright: Otomasi browser menggunakan accessibility tree alih-alih tangkapan layar
- Supabase: Kueri basis data dengan kesadaran Row Level Security
- Sentry: Pelacakan error dan pemantauan performa langsung di editor Anda
Anda juga dapat membaca panduan kami tentang server MCP jarak jauh terbaik.
Hooks: Lapisan deterministik
Hooks berada di luar perdebatan skills versus MCP sepenuhnya. Sementara skills dan server MCP berorientasi ke Claude (Claude memutuskan kapan menggunakannya), hooks berorientasi ke sistem. Hooks dipicu pada peristiwa seperti PreToolUse atau PostToolUse, menjalankan skrip shell sebelum atau sesudah Claude mengambil tindakan tertentu. Claude tidak menentukan apakah sebuah hook dijalankan.
Ini menjadikan Hooks pilihan yang tepat ketika sesuatu harus terjadi tanpa pengecualian: linting sebelum setiap commit, memblokir penulisan ke direktori terlindungi, mencatat setiap perintah bash, atau menjalankan test sebelum deployment apa pun.
Pengembang ini merekomendasikan hook "block-at-submit" daripada hook "block-at-write". Menghalangi Claude di tengah tugas membingungkan agen dan menghasilkan hasil yang lebih buruk. Timnya menggunakan hook PreToolUse yang membungkus Bash(git commit) dan memeriksa berkas sementara yang hanya ada jika test lulus. Tanpa berkas, tidak ada commit. Agen menyelesaikan pekerjaannya, lalu validasi terjadi di akhir.
Hooks tidak menambah beban token karena dijalankan sebagai skrip shell di luar jendela konteks.
Hook Claude yang berguna untuk disetel
- ESLint/Prettier saat edit: Memformat berkas otomatis setelah Claude menulisnya
- Gerbang test saat commit: Memblokir commit kecuali test lulus
- Jalur terlindungi: Mencegah penulisan ke direktori migrations, configs, atau vendor
- Notifikasi saat selesai: Mengirimkan peringatan Slack atau desktop saat tugas panjang selesai
- Cadangan transkrip: Menyimpan riwayat percakapan sebelum kompaksi berjalan
Cara Membangun Plugin Claude Code Anda Sendiri
Saat sebuah skill berada di direktori pribadi .claude/ Anda, hanya Anda yang bisa menggunakannya. Mengemasnya sebagai plugin memungkinkan Anda membagikannya dengan rekan tim atau menggunakannya kembali di berbagai proyek.
Kita akan membangun plugin bernama session-logger yang menambahkan perintah /session-logger:summarize. Ketika dipanggil, Claude meninjau percakapan dan menambahkan ringkasan terstruktur ke SESSION_LOG.md.
Buat struktur plugin
Plugin dapat ditempatkan di mana saja pada sistem berkas Anda. Untuk tutorial ini, kita akan membuatnya di direktori home Anda:
cd ~
mkdir -p session-logger/.claude-plugin
mkdir -p session-logger/skills/summarize
Ini akan membuat:
~/session-logger/
├── .claude-plugin/
│ └── plugin.json # manifest goes here, nowhere else
└── skills/
└── summarize/ # folder name becomes the command name
└── SKILL.md # must be named exactly this
Tulis manifes
Buat ~/session-logger/.claude-plugin/plugin.json:
{
"name": "session-logger",
"description": "Log session summaries to a markdown file",
"version": "1.0.0"
}
Kolom name menjadi prefiks namespace. Semua perintah dalam plugin ini akan diawali dengan /session-logger:.
Tulis skill
Buat ~/session-logger/skills/summarize/SKILL.md:
---
description: Log a summary of the current session to SESSION_LOG.md
disable-model-invocation: true
---
When invoked, review the conversation and create a summary with these sections:
- **Date/time**: Current timestamp
- **Tasks completed**: What was accomplished
- **Files modified**: List of files created or changed
- **Decisions made**: Architectural or implementation choices
- **Open questions**: Unresolved items for future sessions
Append the summary to SESSION_LOG.md in the project root. Create the file if it doesn't exist.
Baris disable-model-invocation: true memberi tahu Claude bahwa hanya Anda yang dapat memicu skill ini. Tanpa flag ini, Claude mungkin memutuskan menjalankan perintah secara mandiri jika dianggap membantu percakapan. Untuk logger atau alat deployment, biasanya Anda menginginkan kendali manual.
Uji secara lokal
Arahkan ke proyek mana saja tempat Anda ingin menggunakan plugin, lalu jalankan Claude Code dengan flag --plugin-dir yang menunjuk ke plugin Anda:
cd ~/your-project
claude --plugin-dir ~/session-logger
Ketik /session-logger:summarize untuk memanggil perintah. Perhatikan bahwa perintah plugin tidak muncul di saran otomatis hingga Anda mengetikkan nama lengkapnya. Teks berubah menjadi biru setelah Claude Code mengenalinya sebagai perintah yang valid.
Setelah melakukan beberapa pekerjaan di sesi, jalankan perintah tersebut. Claude meninjau percakapan dan menambahkan entri ke SESSION_LOG.md di direktori proyek Anda saat ini.
Bagikan dengan orang lain
Dorong plugin Anda ke GitHub. Untuk mendistribusikannya lebih luas daripada kloning manual, tambahkan ke marketplace plugin. Panduan marketplace membahas cara membuat marketplace sendiri atau mengirimkan ke yang sudah ada.
Penutup
Plugin mengubah Claude Code dari asisten serbaguna menjadi sesuatu yang dibentuk untuk alur kerja spesifik Anda. Session logger yang kita bangun memakan waktu sekitar lima menit dan tiga berkas. Sebagian besar plugin yang berguna tidak jauh lebih rumit dari itu.
Jika Anda mengikuti langkah-langkahnya, kini Anda memiliki plugin yang berfungsi di mesin Anda. Coba modifikasi: ubah format ringkasan, tambahkan bagian baru, atau ganti dengan sesuatu yang benar-benar dibutuhkan tim Anda. Strukturnya tetap sama baik Anda membangun alat pribadi cepat maupun sesuatu yang akan Anda distribusikan ke ratusan pengembang.
Selain itu, jelajahi repositori komunitas saat ada kesempatan. Melihat bagaimana orang lain menyusun plugin mengajarkan pola yang tidak tercakup dokumentasi.
Untuk mendalami Claude Code, lihat tutorial kami tentang praktik terbaik Claude Code, kerangka skill Superpowers, slash command untuk sesi lebih panjang, dan keamanan dan izin. Jika Anda ingin mempelajari lebih lanjut tentang model Claude, saya sarankan kursus Pengantar Model Claude.
FAQ Plugin Claude Code
Apa itu plugin di Claude Code?
Plugin adalah paket yang dapat dibagikan yang menggabungkan ekstensi Claude Code. Plugin dapat berisi skills (perintah kustom dan prompt kontekstual), server MCP (koneksi ke API eksternal), dan hooks (skrip shell yang berjalan pada peristiwa tertentu). Plugin memungkinkan Anda berbagi alur kerja dengan rekan tim atau menggunakannya kembali di berbagai proyek.
Bagaimana cara memasang plugin Claude Code?
Gunakan perintah claude plugin add <plugin-name> untuk plugin dari marketplace. Untuk pengembangan lokal, mulai Claude Code dengan claude --plugin-dir ./your-plugin agar bisa menguji tanpa pemasangan.
Bagaimana struktur berkas yang benar untuk plugin Claude Code?
Plugin memerlukan direktori .claude-plugin/ yang berisi plugin.json di root. Skills ditempatkan di skills/<skill-name>/SKILL.md. Manifes hanya berada di .claude-plugin/, sementara direktori lain (skills, hooks, agen) tetap di root plugin.
Mengapa perintah slash kustom saya tidak muncul di autocomplete?
Perintah plugin tidak muncul di saran otomatis hingga Anda mengetikkan nama lengkapnya. Teks berubah menjadi biru setelah dikenali oleh Claude Code. Pastikan juga SKILL.md Anda menyertakan disable-model-invocation: true pada frontmatter agar dapat dipicu oleh pengguna.
Kapan saya harus menggunakan Claude hooks alih-alih skills?
Gunakan hooks saat sesuatu harus terjadi setiap kali tanpa pengecualian, seperti linting pada setiap edit atau memblokir commit hingga test lulus. Hooks bersifat deterministik dan berorientasi sistem, sementara skills bersifat kontekstual dan Claude yang memutuskan kapan menerapkannya.
Apa perbedaan antara skills dan server MCP di Claude Code?
Skills adalah berkas instruksi berbahasa natural yang dimuat Claude sesuai permintaan, mengonsumsi ~100 token tiap skill saat awal sesi. Skills paling cocok untuk pengetahuan, alur kerja, dan standar tim. Server MCP menghubungkan Claude ke API eksternal dan memuat definisi tool terlebih dahulu (100–300 token per tool), meski fitur Tool Search dari Anthropic kini mengurangi beban ini. Gunakan skills ketika Claude perlu menerapkan penilaian; gunakan server MCP ketika Claude memerlukan data eksternal real-time.
Bagaimana cara membangun plugin Claude Code dari nol?
Buat direktori dengan berkas manifes .claude-plugin/plugin.json yang berisi nama plugin, deskripsi, dan versi. Tambahkan berkas skills/<skill-name>/SKILL.md dengan YAML frontmatter dan instruksi. Uji secara lokal dengan claude --plugin-dir ./your-plugin, lalu dorong ke GitHub dan pasang dengan claude plugin add github:username/repo-name.
Saya adalah pembuat konten ilmu data dengan pengalaman lebih dari 2 tahun dan salah satu dengan jumlah pengikut terbesar di Medium. Saya suka menulis artikel mendetail tentang AI dan ML dengan sedikit gaya sarkastik karena harus ada sesuatu untuk membuatnya sedikit kurang membosankan. Saya telah menghasilkan lebih dari 130 artikel dan satu kursus DataCamp, dengan satu lagi sedang dalam proses. Konten saya telah dilihat oleh lebih dari 5 juta pasang mata, dengan 20 ribu di antaranya menjadi pengikut di Medium dan LinkedIn.

