Kapan menggunakan plugins vs konfigurasi standalone
Claude Code mendukung dua cara untuk menambahkan skills, agents, dan hooks kustom:| Pendekatan | Nama skill | Terbaik untuk |
|---|---|---|
Standalone (direktori .claude/) | /hello | Alur kerja pribadi, kustomisasi khusus proyek, eksperimen cepat |
Plugins (direktori dengan .claude-plugin/plugin.json) | /plugin-name:hello | Berbagi dengan rekan kerja, distribusi ke komunitas, rilis dengan versi, dapat digunakan kembali di seluruh proyek |
- Anda menyesuaikan Claude Code untuk satu proyek
- Konfigurasi bersifat pribadi dan tidak perlu dibagikan
- Anda bereksperimen dengan skills atau hooks sebelum mengemas mereka
- Anda menginginkan nama skill pendek seperti
/helloatau/deploy
- Anda ingin berbagi fungsionalitas dengan tim atau komunitas Anda
- Anda memerlukan skills/agents yang sama di seluruh beberapa proyek
- Anda menginginkan kontrol versi dan pembaruan mudah untuk ekstensi Anda
- Anda mendistribusikan melalui marketplace
- Anda tidak keberatan dengan skills yang diberi namespace seperti
/my-plugin:hello(namespace mencegah konflik antara plugins)
Quickstart
Quickstart ini memandu Anda melalui pembuatan plugin dengan skill kustom. Anda akan membuat manifest (file konfigurasi yang mendefinisikan plugin Anda), menambahkan skill, dan mengujinya secara lokal menggunakan flag--plugin-dir.
Prasyarat
- Claude Code diinstal dan diautentikasi
- Claude Code versi 1.0.33 atau lebih baru (jalankan
claude --versionuntuk memeriksa)
Jika Anda tidak melihat perintah
/plugin, perbarui Claude Code ke versi terbaru. Lihat Troubleshooting untuk instruksi upgrade.Buat plugin pertama Anda
Buat direktori plugin
Setiap plugin berada di direktorinya sendiri yang berisi manifest dan skills, agents, atau hooks Anda. Buat satu sekarang:
Buat manifest plugin
File manifest di Kemudian buat
Untuk field tambahan seperti
.claude-plugin/plugin.json mendefinisikan identitas plugin Anda: nama, deskripsi, dan versinya. Claude Code menggunakan metadata ini untuk menampilkan plugin Anda di plugin manager.Buat direktori .claude-plugin di dalam folder plugin Anda:my-first-plugin/.claude-plugin/plugin.json dengan konten ini:my-first-plugin/.claude-plugin/plugin.json
| Field | Tujuan |
|---|---|
name | Pengidentifikasi unik dan namespace skill. Skills diawali dengan ini (misalnya, /my-first-plugin:hello). |
description | Ditampilkan di plugin manager saat menjelajahi atau memasang plugins. |
version | Lacak rilis menggunakan semantic versioning. |
author | Opsional. Membantu untuk atribusi. |
homepage, repository, dan license, lihat skema manifest lengkap.Tambahkan skill
Skills berada di direktori Kemudian buat
skills/. Setiap skill adalah folder yang berisi file SKILL.md. Nama folder menjadi nama skill, diawali dengan namespace plugin (hello/ dalam plugin bernama my-first-plugin membuat /my-first-plugin:hello).Buat direktori skill di folder plugin Anda:my-first-plugin/skills/hello/SKILL.md dengan konten ini:my-first-plugin/skills/hello/SKILL.md
Uji plugin Anda
Jalankan Claude Code dengan flag Setelah Claude Code dimulai, coba skill baru Anda:Anda akan melihat Claude merespons dengan salam. Jalankan
--plugin-dir untuk memuat plugin Anda:/help untuk melihat skill Anda terdaftar di bawah namespace plugin.Mengapa namespace? Plugin skills selalu diberi namespace (seperti
/greet:hello) untuk mencegah konflik ketika beberapa plugins memiliki skills dengan nama yang sama.Untuk mengubah awalan namespace, perbarui field name di plugin.json.Tambahkan argumen skill
Buat skill Anda dinamis dengan menerima input pengguna. Placeholder Jalankan Claude akan menyapa Anda dengan nama. Untuk lebih lanjut tentang meneruskan argumen ke skills, lihat Skills.
$ARGUMENTS menangkap teks apa pun yang disediakan pengguna setelah nama skill.Perbarui file SKILL.md Anda:my-first-plugin/skills/hello/SKILL.md
/reload-plugins untuk mengambil perubahan, kemudian coba skill dengan nama Anda:- Plugin manifest (
.claude-plugin/plugin.json): menjelaskan metadata plugin Anda - Direktori skills (
skills/): berisi skills kustom Anda - Argumen skill (
$ARGUMENTS): menangkap input pengguna untuk perilaku dinamis
Ikhtisar struktur plugin
Anda telah membuat plugin dengan skill, tetapi plugins dapat mencakup banyak hal lagi: agents kustom, hooks, MCP servers, dan LSP servers.| Direktori | Lokasi | Tujuan |
|---|---|---|
.claude-plugin/ | Root plugin | Berisi manifest plugin.json (opsional jika komponen menggunakan lokasi default) |
commands/ | Root plugin | Skills sebagai file Markdown |
agents/ | Root plugin | Definisi agent kustom |
skills/ | Root plugin | Agent Skills dengan file SKILL.md |
hooks/ | Root plugin | Event handlers di hooks.json |
.mcp.json | Root plugin | Konfigurasi MCP server |
.lsp.json | Root plugin | Konfigurasi LSP server untuk code intelligence |
settings.json | Root plugin | Settings default yang diterapkan ketika plugin diaktifkan |
Langkah berikutnya: Siap menambahkan lebih banyak fitur? Lompat ke Kembangkan plugins yang lebih kompleks untuk menambahkan agents, hooks, MCP servers, dan LSP servers. Untuk spesifikasi teknis lengkap dari semua komponen plugin, lihat Referensi plugins.
Kembangkan plugins yang lebih kompleks
Setelah Anda nyaman dengan plugins dasar, Anda dapat membuat ekstensi yang lebih canggih.Tambahkan Skills ke plugin Anda
Plugins dapat mencakup Agent Skills untuk memperluas kemampuan Claude. Skills diinvokasi oleh model: Claude secara otomatis menggunakannya berdasarkan konteks tugas. Tambahkan direktoriskills/ di root plugin Anda dengan folder Skill yang berisi file SKILL.md:
SKILL.md memerlukan frontmatter dengan field name dan description, diikuti dengan instruksi:
/reload-plugins untuk memuat Skills. Untuk panduan authoring Skill lengkap termasuk progressive disclosure dan pembatasan tool, lihat Agent Skills.
Tambahkan LSP servers ke plugin Anda
Plugin LSP (Language Server Protocol) memberikan Claude code intelligence real-time. Jika Anda perlu mendukung bahasa yang tidak memiliki plugin LSP resmi, Anda dapat membuat plugin Anda sendiri dengan menambahkan file.lsp.json ke plugin Anda:
.lsp.json
Kirim settings default dengan plugin Anda
Plugins dapat menyertakan filesettings.json di root plugin untuk menerapkan konfigurasi default ketika plugin diaktifkan. Saat ini, hanya key agent yang didukung.
Mengatur agent mengaktifkan salah satu custom agents plugin sebagai thread utama, menerapkan system prompt, pembatasan tool, dan modelnya. Ini memungkinkan plugin untuk mengubah perilaku Claude Code secara default ketika diaktifkan.
settings.json
security-reviewer yang didefinisikan di direktori agents/ plugin. Settings dari settings.json mengambil prioritas atas settings yang dideklarasikan di plugin.json. Key yang tidak dikenal diabaikan secara diam-diam.
Organisir plugins kompleks
Untuk plugins dengan banyak komponen, organisir struktur direktori Anda berdasarkan fungsionalitas. Untuk layout direktori lengkap dan pola organisasi, lihat Struktur direktori plugin.Uji plugins Anda secara lokal
Gunakan flag--plugin-dir untuk menguji plugins selama pengembangan. Ini memuat plugin Anda secara langsung tanpa memerlukan instalasi.
--plugin-dir memiliki nama yang sama dengan plugin marketplace yang diinstal, salinan lokal mengambil prioritas untuk sesi itu. Ini memungkinkan Anda menguji perubahan pada plugin yang sudah Anda instal tanpa mencopot pemasangannya terlebih dahulu. Plugin marketplace yang dipaksa diaktifkan oleh managed settings adalah satu-satunya pengecualian dan tidak dapat ditimpa.
Saat Anda membuat perubahan pada plugin Anda, jalankan /reload-plugins untuk mengambil pembaruan tanpa memulai ulang. Ini memuat ulang commands, skills, agents, hooks, plugin MCP servers, dan plugin LSP servers. Uji komponen plugin Anda:
- Coba skills Anda dengan
/plugin-name:skill-name - Periksa bahwa agents muncul di
/agents - Verifikasi hooks bekerja seperti yang diharapkan
Debug masalah plugin
Jika plugin Anda tidak bekerja seperti yang diharapkan:- Periksa struktur: Pastikan direktori Anda berada di root plugin, bukan di dalam
.claude-plugin/ - Uji komponen secara individual: Periksa setiap command, agent, dan hook secara terpisah
- Gunakan alat validasi dan debugging: Lihat Alat debugging dan pengembangan untuk perintah CLI dan teknik troubleshooting
Bagikan plugins Anda
Ketika plugin Anda siap untuk dibagikan:- Tambahkan dokumentasi: Sertakan
README.mddengan instruksi instalasi dan penggunaan - Versi plugin Anda: Gunakan semantic versioning di
plugin.jsonAnda - Buat atau gunakan marketplace: Distribusikan melalui plugin marketplaces untuk instalasi
- Uji dengan orang lain: Minta anggota tim menguji plugin sebelum distribusi yang lebih luas
Kirimkan plugin Anda ke marketplace resmi
Untuk mengirimkan plugin ke marketplace Anthropic resmi, gunakan salah satu formulir pengajuan in-app:- Claude.ai: claude.ai/settings/plugins/submit
- Console: platform.claude.com/plugins/submit
Untuk spesifikasi teknis lengkap, teknik debugging, dan strategi distribusi, lihat Referensi plugins.
Konversi konfigurasi yang ada ke plugins
Jika Anda sudah memiliki skills atau hooks di direktori.claude/ Anda, Anda dapat mengonversinya menjadi plugin untuk berbagi dan distribusi yang lebih mudah.
Langkah migrasi
Buat struktur plugin
Buat direktori plugin baru:Buat file manifest di
my-plugin/.claude-plugin/plugin.json:my-plugin/.claude-plugin/plugin.json
Migrasi hooks
Jika Anda memiliki hooks di settings Anda, buat direktori hooks:Buat
my-plugin/hooks/hooks.json dengan konfigurasi hooks Anda. Salin objek hooks dari .claude/settings.json atau settings.local.json Anda, karena formatnya sama. Perintah menerima input hook sebagai JSON di stdin, jadi gunakan jq untuk mengekstrak path file:my-plugin/hooks/hooks.json
Apa yang berubah saat migrasi
Standalone (.claude/) | Plugin |
|---|---|
| Hanya tersedia di satu proyek | Dapat dibagikan melalui marketplaces |
File di .claude/commands/ | File di plugin-name/commands/ |
Hooks di settings.json | Hooks di hooks/hooks.json |
| Harus menyalin secara manual untuk berbagi | Pasang dengan /plugin install |
Setelah migrasi, Anda dapat menghapus file asli dari
.claude/ untuk menghindari duplikat. Versi plugin akan mengambil prioritas saat dimuat.Langkah berikutnya
Sekarang bahwa Anda memahami sistem plugin Claude Code, berikut adalah jalur yang disarankan untuk tujuan yang berbeda:Untuk pengguna plugin
- Temukan dan pasang plugins: jelajahi marketplaces dan pasang plugins
- Konfigurasi marketplaces tim: atur plugins tingkat repository untuk tim Anda
Untuk pengembang plugin
- Buat dan distribusikan marketplace: paket dan bagikan plugins Anda
- Referensi plugins: spesifikasi teknis lengkap
- Selami lebih dalam komponen plugin spesifik: