SpyBara
Go Premium

plugins.md 2026-05-12 22:57 UTC to 2026-05-13 23:01 UTC

1 added, 1 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Buat plugins

Buat plugins kustom untuk memperluas Claude Code dengan skills, agents, hooks, dan MCP servers.

Plugins memungkinkan Anda memperluas Claude Code dengan fungsionalitas kustom yang dapat dibagikan di seluruh proyek dan tim. Panduan ini mencakup pembuatan plugins Anda sendiri dengan skills, agents, hooks, dan MCP servers.

Mencari untuk memasang plugins yang sudah ada? Lihat Temukan dan pasang plugins. Untuk spesifikasi teknis lengkap, lihat Referensi plugins.

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

Gunakan konfigurasi standalone ketika:

  • 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 /hello atau /deploy

Gunakan plugins ketika:

  • 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

Buat plugin pertama Anda

1

Buat direktori plugin

Setiap plugin berada di direktorinya sendiri yang berisi manifest dan skills, agents, atau hooks Anda. Buat satu sekarang:

mkdir my-first-plugin
2

Buat manifest plugin

File manifest di .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:

mkdir my-first-plugin/.claude-plugin

Kemudian buat my-first-plugin/.claude-plugin/plugin.json dengan konten ini:

{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
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 Opsional. Jika diatur, pengguna hanya menerima pembaruan ketika Anda menaikkan field ini. Jika dihilangkan dan plugin Anda didistribusikan melalui git, SHA commit digunakan dan setiap commit dihitung sebagai versi baru. Lihat manajemen versi.
author Opsional. Membantu untuk atribusi.

Untuk field tambahan seperti homepage, repository, dan license, lihat skema manifest lengkap.

3

Tambahkan skill

Skills berada di direktori 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:

mkdir -p my-first-plugin/skills/hello

Kemudian buat my-first-plugin/skills/hello/SKILL.md dengan konten ini:

---
description: Greet the user with a friendly message
disable-model-invocation: true
---

Greet the user warmly and ask how you can help them today.
4

Uji plugin Anda

Jalankan Claude Code dengan flag --plugin-dir untuk memuat plugin Anda:

claude --plugin-dir ./my-first-plugin

Setelah Claude Code dimulai, coba skill baru Anda:

/my-first-plugin:hello

Anda akan melihat Claude merespons dengan salam. Jalankan /help untuk melihat skill Anda terdaftar di bawah namespace plugin.

5

Tambahkan argumen skill

Buat skill Anda dinamis dengan menerima input pengguna. Placeholder $ARGUMENTS menangkap teks apa pun yang disediakan pengguna setelah nama skill.

Perbarui file SKILL.md Anda:

---
description: Greet the user with a personalized message
---

# Hello Skill

Greet the user named "$ARGUMENTS" warmly and ask how you can help them today. Make the greeting personal and encouraging.

Jalankan /reload-plugins untuk mengambil perubahan, kemudian coba skill dengan nama Anda:

/my-first-plugin:hello Alex

Claude akan menyapa Anda dengan nama. Untuk lebih lanjut tentang meneruskan argumen ke skills, lihat Skills.

Anda telah berhasil membuat dan menguji plugin dengan komponen kunci ini:

  • 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, LSP servers, dan background monitors.

Direktori Lokasi Tujuan
.claude-plugin/ Root plugin Berisi manifest plugin.json (opsional jika komponen menggunakan lokasi default)
skills/ Root plugin Skills sebagai direktori <name>/SKILL.md
commands/ Root plugin Skills sebagai file Markdown datar. Gunakan skills/ untuk plugins baru
agents/ Root plugin Definisi agent kustom
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
monitors/ Root plugin Konfigurasi background monitor di monitors.json
bin/ Root plugin Executable yang ditambahkan ke PATH tool Bash saat plugin diaktifkan
settings.json Root plugin Settings default yang diterapkan ketika plugin diaktifkan

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 direktori skills/ di root plugin Anda dengan folder Skill yang berisi file SKILL.md:

my-plugin/
├── .claude-plugin/
│   └── plugin.json
└── skills/
    └── code-review/
        └── SKILL.md

Setiap SKILL.md berisi frontmatter YAML dan instruksi. Sertakan description sehingga Claude tahu kapan menggunakan skill:

---
description: Reviews code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
---

When reviewing code, check for:
1. Code organization and structure
2. Error handling
3. Security concerns
4. Test coverage

Setelah memasang plugin, jalankan /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:

{
  "go": {
    "command": "gopls",
    "args": ["serve"],
    "extensionToLanguage": {
      ".go": "go"
    }
  }
}

Pengguna yang memasang plugin Anda harus memiliki binary language server yang diinstal di mesin mereka.

Untuk opsi konfigurasi LSP lengkap, lihat LSP servers.

Tambahkan background monitors ke plugin Anda

Background monitors memungkinkan plugin Anda untuk menonton logs, file, atau status eksternal di latar belakang dan memberi tahu Claude saat event tiba. Claude Code memulai setiap monitor secara otomatis ketika plugin aktif, jadi Anda tidak perlu menginstruksikan Claude untuk memulai watch.

Tambahkan file monitors/monitors.json di root plugin dengan array entri monitor:

[
  {
    "name": "error-log",
    "command": "tail -F ./logs/error.log",
    "description": "Application error log"
  }
]

Setiap baris stdout dari command dikirimkan ke Claude sebagai notifikasi selama sesi. Untuk skema lengkap, termasuk trigger when dan substitusi variabel, lihat Monitors.

Kirim default settings dengan plugin Anda

Plugins dapat menyertakan file settings.json di root plugin untuk menerapkan konfigurasi default ketika plugin diaktifkan. Saat ini, hanya key agent dan subagentStatusLine 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.

{
  "agent": "security-reviewer"
}

Contoh ini mengaktifkan agent 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.

claude --plugin-dir ./my-plugin

Flag juga menerima arsip .zip dari direktori plugin, yang memerlukan Claude Code v2.1.128 atau lebih baru.

claude --plugin-dir ./my-plugin.zip

Ketika plugin --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. Pengecualian adalah plugins yang managed settings force-enable atau force-disable: --plugin-dir tidak dapat menimpa pengaturan tersebut.

Saat Anda membuat perubahan pada plugin Anda, jalankan /reload-plugins untuk mengambil pembaruan tanpa memulai ulang. Ini memuat ulang plugins, 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

Untuk menguji plugin yang sudah dikemas sebagai arsip .zip dan dihosting di URL, seperti artefak build CI, gunakan --plugin-url sebagai gantinya. Claude Code mengambil arsip saat startup dan memuatnya hanya untuk sesi itu. Jika pengambilan gagal atau arsip tidak valid, Claude Code melaporkan kesalahan pemuatan plugin dan dimulai tanpanya. Pertimbangan kepercayaan yang sama berlaku seperti untuk sumber plugin apa pun: hanya arahkan flag ini ke arsip yang Anda kontrol atau percayai.

Untuk memuat beberapa plugins, ulangi flag untuk setiap URL:

claude --plugin-url https://example.com/my-plugin.zip --plugin-url https://example.com/other.zip

Atau teruskan URL yang dipisahkan spasi sebagai satu argumen yang dikutip:

claude --plugin-url "https://example.com/my-plugin.zip https://example.com/other.zip"

Debug masalah plugin

Jika plugin Anda tidak bekerja seperti yang diharapkan:

  1. Periksa struktur: Pastikan direktori Anda berada di root plugin, bukan di dalam .claude-plugin/
  2. Uji komponen secara individual: Periksa setiap skill, agent, dan hook secara terpisah
  3. 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:

  1. Tambahkan dokumentasi: Sertakan README.md dengan instruksi instalasi dan penggunaan
  2. Pilih strategi versioning: Tentukan apakah akan menetapkan version eksplisit atau mengandalkan SHA commit git. Lihat manajemen versi
  3. Buat atau gunakan marketplace: Distribusikan melalui plugin marketplaces untuk instalasi
  4. Uji dengan orang lain: Minta anggota tim menguji plugin sebelum distribusi yang lebih luas

Setelah plugin Anda berada di marketplace, orang lain dapat memasangnya menggunakan instruksi di Temukan dan pasang plugins. Untuk menjaga plugin tetap internal bagi tim Anda, hosting marketplace di private repository.

Kirimkan plugin Anda ke marketplace resmi

Untuk mengirimkan plugin ke marketplace Anthropic resmi, gunakan salah satu formulir pengajuan in-app:

Setelah plugin Anda terdaftar, Anda dapat memiliki CLI Anda sendiri yang meminta pengguna Claude Code untuk memasangnya. Lihat Rekomendasikan plugin Anda dari CLI Anda.

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

1

Buat struktur plugin

Buat direktori plugin baru:

mkdir -p my-plugin/.claude-plugin

Buat file manifest di my-plugin/.claude-plugin/plugin.json:

{
"name": "my-plugin",
"description": "Migrated from standalone configuration",
"version": "1.0.0"
}
2

Salin file yang ada

Salin konfigurasi yang ada ke direktori plugin:

# Copy commands
cp -r .claude/commands my-plugin/

# Copy agents (if any)
cp -r .claude/agents my-plugin/

# Copy skills (if any)
cp -r .claude/skills my-plugin/
3

Migrasi hooks

Jika Anda memiliki hooks di settings Anda, buat direktori hooks:

mkdir my-plugin/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:

{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]
}
]
}
}
4

Uji plugin yang dimigrasikan

Muat plugin Anda untuk memverifikasi semuanya berfungsi:

claude --plugin-dir ./my-plugin

Uji setiap komponen: jalankan commands Anda, periksa agents muncul di /agents, dan verifikasi hooks dipicu dengan benar.

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

Langkah berikutnya

Sekarang bahwa Anda memahami sistem plugin Claude Code, berikut adalah jalur yang disarankan untuk tujuan yang berbeda:

Untuk pengguna plugin

Untuk pengembang plugin