Langsung ke konten utama
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

BidangTipeDeskripsiContoh
namestringPengidentifikasi unik (kebab-case, tanpa spasi)"deployment-tools"

Bidang metadata

BidangTipeDeskripsiContoh
versionstringVersi semantik"2.1.0"
descriptionstringPenjelasan singkat tentang tujuan plugin"Deployment automation tools"
authorobjectInformasi penulis{"name": "Dev Team", "email": "[email protected]"}
homepagestringURL dokumentasi"https://docs.example.com"
repositorystringURL kode sumber"https://github.com/user/plugin"
licensestringPengidentifikasi lisensi"MIT", "Apache-2.0"
keywordsarrayTag penemuan["deployment", "ci-cd"]

Bidang jalur komponen

BidangTipeDeskripsiContoh
commandsstring|arrayFile/direktori perintah tambahan"./custom/cmd.md" atau ["./cmd1.md"]
agentsstring|arrayFile agen tambahan"./custom/agents/"
hooksstring|objectJalur konfigurasi hook atau konfigurasi inline"./hooks.json"
mcpServersstring|objectJalur 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

KomponenLokasi DefaultTujuan
Manifes.claude-plugin/plugin.jsonFile metadata yang diperlukan
Perintahcommands/File markdown perintah garis miring
Agenagents/File markdown subagen
Keterampilanskills/Agent Skills dengan file SKILL.md
Hookhooks/hooks.jsonKonfigurasi hook
Server MCP.mcp.jsonDefinisi server MCP

Alat debugging dan pengembangan

Perintah debugging

Gunakan claude --debug untuk melihat detail pemuatan plugin:
claude --debug
Ini menunjukkan:
  • Plugin mana yang sedang dimuat
  • Kesalahan apa pun dalam manifes plugin
  • Pendaftaran perintah, agen, dan hook
  • Inisialisasi server MCP

Masalah umum

MasalahPenyebabSolusi
Plugin tidak dimuatplugin.json tidak validValidasi sintaks JSON
Perintah tidak munculStruktur direktori salahPastikan commands/ di root, bukan di .claude-plugin/
Hook tidak aktifSkrip tidak dapat dieksekusiJalankan chmod +x script.sh
Server MCP gagal${CLAUDE_PLUGIN_ROOT} hilangGunakan variabel untuk semua jalur plugin
Kesalahan jalurJalur absolut digunakanSemua 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