Untuk tutorial praktis dan penggunaan praktis, lihat Plugin. Untuk manajemen plugin di seluruh tim dan komunitas, lihat Pasar plugin.
Referensi ini menyediakan spesifikasi teknis lengkap untuk sistem plugin Claude Code, termasuk skema komponen, perintah CLI, dan alat pengembangan.
Referensi komponen plugin
Bagian ini mendokumentasikan lima jenis komponen yang dapat disediakan oleh plugin.
Perintah
Plugin menambahkan perintah garis miring khusus yang terintegrasi dengan mulus dengan sistem perintah Claude Code.
Lokasi: Direktori commands/ di akar plugin
Format file: File Markdown dengan frontmatter
Untuk detail lengkap tentang struktur perintah plugin, pola invokasi, dan fitur, lihat Perintah plugin.
Agen
Plugin dapat menyediakan subagen khusus untuk tugas-tugas tertentu yang dapat dipanggil Claude secara otomatis jika sesuai.
Lokasi: Direktori agents/ di akar plugin
Format file: File Markdown yang menjelaskan kemampuan agen
Struktur agen:
---
description: Apa yang dikhususkan agen ini
capabilities: ["task1", "task2", "task3"]
---
# Nama Agen
Deskripsi terperinci tentang peran agen, keahlian, dan kapan Claude harus memanggilnya.
## Kemampuan
- Tugas spesifik yang dikuasai agen
- Kemampuan khusus lainnya
- Kapan menggunakan agen ini vs yang lain
## Konteks dan contoh
Berikan contoh kapan agen ini harus digunakan dan jenis masalah apa yang diselesaikannya.
Titik integrasi:
- Agen muncul di antarmuka
/agents
- Claude dapat memanggil agen secara otomatis berdasarkan konteks tugas
- Agen dapat dipanggil secara manual oleh pengguna
- Agen plugin bekerja bersama agen Claude bawaan
Keterampilan
Plugin dapat menyediakan Agent Skills yang memperluas kemampuan Claude. Keterampilan dipanggil model—Claude secara mandiri memutuskan kapan menggunakannya berdasarkan konteks tugas.
Lokasi: Direktori skills/ di akar plugin
Format file: Direktori yang berisi file SKILL.md dengan frontmatter
Struktur keterampilan:
skills/
├── pdf-processor/
│ ├── SKILL.md
│ ├── reference.md (opsional)
│ └── scripts/ (opsional)
└── code-reviewer/
└── SKILL.md
Perilaku integrasi:
- Plugin Skills secara otomatis ditemukan saat plugin diinstal
- Claude secara mandiri memanggil Skills berdasarkan konteks tugas yang cocok
- Keterampilan dapat menyertakan file pendukung bersama SKILL.md
Untuk format SKILL.md dan panduan penulisan Skill lengkap, lihat:
Hook
Plugin dapat menyediakan penanganan peristiwa yang merespons peristiwa Claude Code secara otomatis.
Lokasi: hooks/hooks.json di akar plugin, atau inline di plugin.json
Format: Konfigurasi JSON dengan pencocokan peristiwa dan tindakan
Konfigurasi hook:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"
}
]
}
]
}
}
Peristiwa yang tersedia:
PreToolUse: Sebelum Claude menggunakan alat apa pun
PostToolUse: Setelah Claude menggunakan alat apa pun
UserPromptSubmit: Ketika pengguna mengirimkan prompt
Notification: Ketika Claude Code mengirim notifikasi
Stop: Ketika Claude mencoba berhenti
SubagentStop: Ketika subagen mencoba berhenti
SessionStart: Di awal sesi
SessionEnd: Di akhir sesi
PreCompact: Sebelum riwayat percakapan dipadatkan
Jenis hook:
command: Jalankan perintah shell atau skrip
validation: Validasi konten file atau status proyek
notification: Kirim peringatan atau pembaruan status
Server MCP
Plugin dapat menggabungkan server Model Context Protocol (MCP) untuk menghubungkan Claude Code dengan alat dan layanan eksternal.
Lokasi: .mcp.json di akar plugin, atau inline di plugin.json
Format: Konfigurasi server MCP standar
Konfigurasi server MCP:
{
"mcpServers": {
"plugin-database": {
"command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
"args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
"env": {
"DB_PATH": "${CLAUDE_PLUGIN_ROOT}/data"
}
},
"plugin-api-client": {
"command": "npx",
"args": ["@company/mcp-server", "--plugin-mode"],
"cwd": "${CLAUDE_PLUGIN_ROOT}"
}
}
}
Perilaku integrasi:
- Server MCP plugin dimulai secara otomatis saat plugin diaktifkan
- Server muncul sebagai alat MCP standar di toolkit Claude
- Kemampuan server terintegrasi dengan mulus dengan alat Claude yang ada
- Server plugin dapat dikonfigurasi secara independen dari server MCP pengguna
Skema manifes plugin
File plugin.json mendefinisikan metadata dan konfigurasi plugin Anda. Bagian ini mendokumentasikan semua bidang dan opsi yang didukung.
Skema lengkap
{
"name": "plugin-name",
"version": "1.2.0",
"description": "Brief plugin description",
"author": {
"name": "Author Name",
"email": "[email protected]",
"url": "https://github.com/author"
},
"homepage": "https://docs.example.com/plugin",
"repository": "https://github.com/author/plugin",
"license": "MIT",
"keywords": ["keyword1", "keyword2"],
"commands": ["./custom/commands/special.md"],
"agents": "./custom/agents/",
"hooks": "./config/hooks.json",
"mcpServers": "./mcp-config.json"
}
Bidang yang diperlukan
| Bidang | Tipe | Deskripsi | Contoh |
name | string | Pengidentifikasi unik (kebab-case, tanpa spasi) | "deployment-tools" |
| Bidang | Tipe | Deskripsi | Contoh |
version | string | Versi semantik | "2.1.0" |
description | string | Penjelasan singkat tentang tujuan plugin | "Deployment automation tools" |
author | object | Informasi penulis | {"name": "Dev Team", "email": "[email protected]"} |
homepage | string | URL dokumentasi | "https://docs.example.com" |
repository | string | URL kode sumber | "https://github.com/user/plugin" |
license | string | Pengidentifikasi lisensi | "MIT", "Apache-2.0" |
keywords | array | Tag penemuan | ["deployment", "ci-cd"] |
Bidang jalur komponen
| Bidang | Tipe | Deskripsi | Contoh |
commands | string|array | File/direktori perintah tambahan | "./custom/cmd.md" atau ["./cmd1.md"] |
agents | string|array | File agen tambahan | "./custom/agents/" |
hooks | string|object | Jalur konfigurasi hook atau konfigurasi inline | "./hooks.json" |
mcpServers | string|object | Jalur konfigurasi MCP atau konfigurasi inline | "./mcp.json" |
Aturan perilaku jalur
Penting: Jalur khusus melengkapi direktori default - mereka tidak menggantinya.
- Jika
commands/ ada, dimuat sebagai tambahan untuk jalur perintah khusus
- Semua jalur harus relatif terhadap akar plugin dan dimulai dengan
./
- Perintah dari jalur khusus menggunakan aturan penamaan dan penomoran namespace yang sama
- Beberapa jalur dapat ditentukan sebagai array untuk fleksibilitas
Contoh jalur:
{
"commands": [
"./specialized/deploy.md",
"./utilities/batch-process.md"
],
"agents": [
"./custom-agents/reviewer.md",
"./custom-agents/tester.md"
]
}
Variabel lingkungan
${CLAUDE_PLUGIN_ROOT}: Berisi jalur absolut ke direktori plugin Anda. Gunakan ini di hook, server MCP, dan skrip untuk memastikan jalur yang benar terlepas dari lokasi instalasi.
{
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"
}
]
}
]
}
}
Struktur direktori plugin
Tata letak plugin standar
Plugin lengkap mengikuti struktur ini:
enterprise-plugin/
├── .claude-plugin/ # Direktori metadata
│ └── plugin.json # Diperlukan: manifes plugin
├── commands/ # Lokasi perintah default
│ ├── status.md
│ └── logs.md
├── agents/ # Lokasi agen default
│ ├── security-reviewer.md
│ ├── performance-tester.md
│ └── compliance-checker.md
├── skills/ # Agent Skills
│ ├── code-reviewer/
│ │ └── SKILL.md
│ └── pdf-processor/
│ ├── SKILL.md
│ └── scripts/
├── hooks/ # Konfigurasi hook
│ ├── hooks.json # Konfigurasi hook utama
│ └── security-hooks.json # Hook tambahan
├── .mcp.json # Definisi server MCP
├── scripts/ # Hook dan skrip utilitas
│ ├── security-scan.sh
│ ├── format-code.py
│ └── deploy.js
├── LICENSE # File lisensi
└── CHANGELOG.md # Riwayat versi
Direktori .claude-plugin/ berisi file plugin.json. Semua direktori lainnya (commands/, agents/, skills/, hooks/) harus berada di akar plugin, bukan di dalam .claude-plugin/.
Referensi lokasi file
| Komponen | Lokasi Default | Tujuan |
| Manifes | .claude-plugin/plugin.json | File metadata yang diperlukan |
| Perintah | commands/ | File markdown perintah garis miring |
| Agen | agents/ | File markdown subagen |
| Keterampilan | skills/ | Agent Skills dengan file SKILL.md |
| Hook | hooks/hooks.json | Konfigurasi hook |
| Server MCP | .mcp.json | Definisi server MCP |
Alat debugging dan pengembangan
Perintah debugging
Gunakan claude --debug untuk melihat detail pemuatan plugin:
Ini menunjukkan:
- Plugin mana yang sedang dimuat
- Kesalahan apa pun dalam manifes plugin
- Pendaftaran perintah, agen, dan hook
- Inisialisasi server MCP
Masalah umum
| Masalah | Penyebab | Solusi |
| Plugin tidak dimuat | plugin.json tidak valid | Validasi sintaks JSON |
| Perintah tidak muncul | Struktur direktori salah | Pastikan commands/ di root, bukan di .claude-plugin/ |
| Hook tidak aktif | Skrip tidak dapat dieksekusi | Jalankan chmod +x script.sh |
| Server MCP gagal | ${CLAUDE_PLUGIN_ROOT} hilang | Gunakan variabel untuk semua jalur plugin |
| Kesalahan jalur | Jalur absolut digunakan | Semua jalur harus relatif dan dimulai dengan ./ |
Referensi distribusi dan versioning
Manajemen versi
Ikuti versioning semantik untuk rilis plugin:
## Lihat juga
- [Plugin](/id/plugins) - Tutorial dan penggunaan praktis
- [Pasar plugin](/id/plugin-marketplaces) - Membuat dan mengelola pasar
- [Perintah garis miring](/id/slash-commands) - Detail pengembangan perintah
- [Subagen](/id/sub-agents) - Konfigurasi dan kemampuan agen
- [Agent Skills](/id/skills) - Perluas kemampuan Claude
- [Hook](/id/hooks) - Penanganan peristiwa dan otomasi
- [MCP](/id/mcp) - Integrasi alat eksternal
- [Pengaturan](/id/settings) - Opsi konfigurasi untuk plugin