72 72
73Beberapa fitur dapat terlihat serupa. Untuk panduan yang lebih mendalam tentang memilih di antara mereka, lihat [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) di blog. Berikut cara membedakannya.73Beberapa fitur dapat terlihat serupa. Untuk panduan yang lebih mendalam tentang memilih di antara mereka, lihat [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) di blog. Berikut cara membedakannya.
74 74
75**Skill vs Subagent**75> [tab] Skill vs Subagent
76 76>
77Skill dan subagent menyelesaikan masalah yang berbeda:77> Skill dan subagent menyelesaikan masalah yang berbeda:
78 78>
79* **Skills** adalah konten yang dapat digunakan kembali yang dapat Anda muat ke dalam konteks apa pun79> * **Skills** adalah konten yang dapat digunakan kembali yang dapat Anda muat ke dalam konteks apa pun
80* **Subagents** adalah pekerja terisolasi yang berjalan terpisah dari percakapan utama Anda80> * **Subagents** adalah pekerja terisolasi yang berjalan terpisah dari percakapan utama Anda
81 81>
82| Aspek | Skill | Subagent |82> | Aspek | Skill | Subagent |
83| - | - | - |83> | - | - | - |
84| **Apa itu** | Instruksi, pengetahuan, atau alur kerja yang dapat digunakan kembali | Pekerja terisolasi dengan konteksnya sendiri |84> | **Apa itu** | Instruksi, pengetahuan, atau alur kerja yang dapat digunakan kembali | Pekerja terisolasi dengan konteksnya sendiri |
85| **Manfaat utama** | Bagikan konten di seluruh konteks | Isolasi konteks. Pekerjaan terjadi secara terpisah, hanya ringkasan yang kembali |85> | **Manfaat utama** | Bagikan konten di seluruh konteks | Isolasi konteks. Pekerjaan terjadi secara terpisah, hanya ringkasan yang kembali |
86| **Dampak [context window](https://code.claude.com/docs/id/context-window.md)** | Menambah jendela utama Anda | Menggunakan jendela terpisah dengan token input dan output-nya sendiri |86> | **Dampak [context window](https://code.claude.com/docs/id/context-window.md)** | Menambah jendela utama Anda | Menggunakan jendela terpisah dengan token input dan output-nya sendiri |
87| **Terbaik untuk** | Materi referensi, alur kerja yang dapat dipanggil | Tugas yang membaca banyak file, pekerjaan paralel, pekerja khusus |87> | **Terbaik untuk** | Materi referensi, alur kerja yang dapat dipanggil | Tugas yang membaca banyak file, pekerjaan paralel, pekerja khusus |
88 88>
89**Skills dapat berupa referensi atau tindakan.** Skill referensi memberikan pengetahuan yang Claude gunakan di seluruh sesi Anda (seperti panduan gaya API Anda). Skill tindakan memberi tahu Claude untuk melakukan sesuatu yang spesifik (seperti `/deploy` yang menjalankan alur kerja penyebaran Anda).89> **Skills dapat berupa referensi atau tindakan.** Skill referensi memberikan pengetahuan yang Claude gunakan di seluruh sesi Anda (seperti panduan gaya API Anda). Skill tindakan memberi tahu Claude untuk melakukan sesuatu yang spesifik (seperti `/deploy` yang menjalankan alur kerja penyebaran Anda).
90 90>
91**Gunakan subagent** ketika Anda membutuhkan isolasi konteks atau ketika jendela konteks Anda penuh. Subagent mungkin membaca puluhan file atau menjalankan pencarian ekstensif, tetapi percakapan utama Anda hanya menerima ringkasan. Karena pekerjaan subagent tidak mengonsumsi konteks utama Anda, ini juga berguna ketika Anda tidak memerlukan pekerjaan perantara untuk tetap terlihat. Subagent kustom dapat memiliki instruksi mereka sendiri dan dapat memuat skill sebelumnya.91> **Gunakan subagent** ketika Anda membutuhkan isolasi konteks atau ketika jendela konteks Anda penuh. Subagent mungkin membaca puluhan file atau menjalankan pencarian ekstensif, tetapi percakapan utama Anda hanya menerima ringkasan. Karena pekerjaan subagent tidak mengonsumsi konteks utama Anda, ini juga berguna ketika Anda tidak memerlukan pekerjaan perantara untuk tetap terlihat. Subagent kustom dapat memiliki instruksi mereka sendiri dan dapat memuat skill sebelumnya.
92 92>
93**Mereka dapat menggabungkan.** Subagent dapat memuat skill tertentu (field `skills:`). Skill dapat berjalan dalam konteks terisolasi menggunakan `context: fork`. Lihat [Skills](https://code.claude.com/docs/id/skills.md) untuk detail.93> **Mereka dapat menggabungkan.** Subagent dapat memuat skill tertentu (field `skills:`). Skill dapat berjalan dalam konteks terisolasi menggunakan `context: fork`. Lihat [Skills](https://code.claude.com/docs/id/skills.md) untuk detail.
94
95**CLAUDE.md vs Skill**
96
97Keduanya menyimpan instruksi, tetapi mereka dimuat secara berbeda dan melayani tujuan yang berbeda.
98
99| Aspek | CLAUDE.md | Skill |
100| - | - | - |
101| **Dimuat** | Setiap sesi, secara otomatis | On demand |
102| **Dapat menyertakan file** | Ya, dengan impor `@path` | Ya, dengan impor `@path` |
103| **Dapat memicu alur kerja** | Tidak | Ya, dengan `/<name>` |
104| **Terbaik untuk** | Aturan "selalu lakukan X" | Materi referensi, alur kerja yang dapat dipanggil |
105
106**Letakkan di CLAUDE.md** jika Claude harus selalu mengetahuinya: konvensi pengkodean, perintah build, struktur proyek, aturan "jangan pernah lakukan X".
107
108**Letakkan di skill** jika itu materi referensi yang Claude butuhkan kadang-kadang (dokumen API, panduan gaya) atau alur kerja yang Anda picu dengan `/<name>` (deploy, review, release).
109
110**Aturan praktis:** Jaga CLAUDE.md di bawah 200 baris. Jika berkembang, pindahkan konten referensi ke skill atau pisahkan ke file [`.claude/rules/`](https://code.claude.com/docs/id/memory#organize-rules-with-claude/rules/).
111
112**CLAUDE.md vs Output style**
113
114Keduanya memberikan instruksi berdiri kepada Claude. CLAUDE.md membawa apa yang harus diketahui Claude, dan gaya output menetapkan cara Claude merespons.
115
116| Aspek | CLAUDE.md | Output style |
117| - | - | - |
118| **Memegang** | Fakta dan aturan tentang proyek Anda | Peran, nada, dan format respons |
119| **Beralih** | Selalu dimuat | Satu aktif pada satu waktu; [beralih gaya](https://code.claude.com/docs/id/output-styles.md#change-your-output-style) kapan saja Anda mau |
120| **Terbaik untuk** | Perintah build, konvensi, aturan "jangan pernah lakukan X" | Respons yang lebih pendek, penjelasan bersama kode, peran non-teknik |
121
122**Letakkan di CLAUDE.md** jika itu benar dari proyek apa pun gaya yang Anda gunakan: konvensi pengkodean, perintah build, struktur proyek.
123
124**Gunakan output style** jika itu tentang respons itu sendiri dan Anda mungkin ingin mematikannya lagi: panjang, format, berapa banyak Claude menjelaskan, atau peran yang berbeda seperti asisten penulisan. Claude Code mencakup [gaya bawaan](https://code.claude.com/docs/id/output-styles.md#built-in-output-styles), dan Anda dapat menulis gaya Anda sendiri.
125
126**Mereka menggabungkan.** CLAUDE.md tetap dimuat gaya mana pun yang Anda pilih. Claude mengikuti keduanya sebagai instruksi, jadi tidak ada yang ditegakkan. Untuk apa pun yang harus terjadi setiap kali, gunakan [hook](https://code.claude.com/docs/id/hooks-guide.md).
127
128**CLAUDE.md vs Rules vs Skills**
129
130Ketiga-tiganya menyimpan instruksi, tetapi mereka dimuat secara berbeda:
131
132| Aspek | CLAUDE.md | `.claude/rules/` | Skill |
133| - | - | - | - |
134| **Dimuat** | Setiap sesi | Setiap sesi, atau ketika file yang cocok dibuka | On demand, ketika dipanggil atau relevan |
135| **Cakupan** | Seluruh proyek | Dapat dibatasi ke jalur file | Spesifik tugas |
136| **Terbaik untuk** | Konvensi inti dan perintah build | Panduan spesifik bahasa atau direktori | Materi referensi, alur kerja yang dapat diulang |
137
138**Gunakan CLAUDE.md** untuk instruksi yang setiap sesi butuhkan: perintah build, konvensi tes, arsitektur proyek.
139
140**Gunakan rules** untuk menjaga CLAUDE.md tetap fokus. Rules dengan [frontmatter `paths`](https://code.claude.com/docs/id/memory#path-specific-rules) hanya dimuat ketika Claude bekerja dengan file yang cocok, menghemat konteks.
141
142**Gunakan skills** untuk konten yang Claude hanya butuhkan kadang-kadang, seperti dokumentasi API atau daftar periksa penyebaran yang Anda picu dengan `/<name>`.
143
144**Subagent vs Dynamic workflow**
145
146Keduanya melakukan pekerjaan di luar percakapan utama Anda. Dengan subagent, Claude memutuskan giliran demi giliran apa yang berjalan selanjutnya. Dalam alur kerja, skrip memutuskan:
147
148* **Subagents** adalah pekerja yang Claude spawn, masing-masing mengembalikan ringkasan ke percakapan yang memunculkannya
149* **[Dynamic workflows](https://code.claude.com/docs/id/workflows.md)** adalah skrip yang ditulis Claude yang menjalankan banyak subagent di latar belakang dan mengembalikan satu hasil
150
151**Gunakan subagent** ketika Anda membutuhkan pekerja yang cepat dan terfokus: teliti pertanyaan, verifikasi klaim, tinjau file. Subagent melakukan pekerjaan dan mengembalikan ringkasan, jadi percakapan utama Anda tetap bersih. Subagent yang Claude [beri nama](https://code.claude.com/docs/id/sub-agents.md#subagent-names) ketika memunculkannya juga dapat [saling berkirim pesan](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup).
152
153**Gunakan dynamic workflow** ketika pekerjaan [melampaui segelintir subagent](https://code.claude.com/docs/id/workflows.md#when-to-use-a-workflow), atau ketika Anda ingin temuan diverifikasi silang sebelum Anda melihatnya, seperti audit berbasis kode, migrasi besar, atau rencana yang disusun dari beberapa sudut. Untuk memulai satu, [minta alur kerja dalam prompt Anda](https://code.claude.com/docs/id/workflows.md#ask-for-a-workflow-in-your-prompt).
154
155**Untuk meneruskan temuan dari salah satu sesi Anda ke sesi lain**, minta Claude sesi pertama untuk mengirimkannya. Claude mengirimkannya dengan [cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md). [Run agents in parallel](https://code.claude.com/docs/id/agents.md) membandingkan cara lain untuk menjalankan lebih dari satu Claude sekaligus, termasuk sesi yang Anda serahkan dan periksa kembali nanti.
156
157**MCP vs Skill**
158
159MCP menghubungkan Claude ke layanan eksternal. Skills memperluas apa yang Claude ketahui, termasuk cara menggunakan layanan tersebut secara efektif.
160
161| Aspek | MCP | Skill |
162| - | - | - |
163| **Apa itu** | Protokol untuk terhubung ke layanan eksternal | Pengetahuan, alur kerja, dan materi referensi |
164| **Menyediakan** | Alat dan akses data | Pengetahuan, alur kerja, materi referensi |
165| **Contoh** | Integrasi Slack, kueri basis data, kontrol browser | Daftar periksa tinjauan kode, alur kerja penyebaran, panduan gaya API |
166
167Ini menyelesaikan masalah yang berbeda dan bekerja dengan baik bersama:
168
169**MCP** memberikan Claude alat yang dirancang khusus untuk sistem eksternal, dengan koneksi dan autentikasi ditangani oleh server.
170
171**Skills** memberikan Claude pengetahuan tentang cara menggunakan alat tersebut secara efektif, ditambah alur kerja yang dapat Anda picu dengan `/<name>`. Skill mungkin menyertakan skema basis data tim Anda dan pola kueri, atau alur kerja `/post-to-slack` dengan aturan pemformatan pesan tim Anda.
172
173**Hook vs Skill**
174 94
175Claude Code menjalankan hook pada acara siklus hidup; itu memuat skill ke dalam konteks untuk Claude terapkan.95> [tab] CLAUDE.md vs Skill
96>
97> Keduanya menyimpan instruksi, tetapi mereka dimuat secara berbeda dan melayani tujuan yang berbeda.
98>
99> | Aspek | CLAUDE.md | Skill |
100> | - | - | - |
101> | **Dimuat** | Setiap sesi, secara otomatis | On demand |
102> | **Dapat menyertakan file** | Ya, dengan impor `@path` | Ya, dengan impor `@path` |
103> | **Dapat memicu alur kerja** | Tidak | Ya, dengan `/<name>` |
104> | **Terbaik untuk** | Aturan "selalu lakukan X" | Materi referensi, alur kerja yang dapat dipanggil |
105>
106> **Letakkan di CLAUDE.md** jika Claude harus selalu mengetahuinya: konvensi pengkodean, perintah build, struktur proyek, aturan "jangan pernah lakukan X".
107>
108> **Letakkan di skill** jika itu materi referensi yang Claude butuhkan kadang-kadang (dokumen API, panduan gaya) atau alur kerja yang Anda picu dengan `/<name>` (deploy, review, release).
109>
110> **Aturan praktis:** Jaga CLAUDE.md di bawah 200 baris. Jika berkembang, pindahkan konten referensi ke skill atau pisahkan ke file [`.claude/rules/`](https://code.claude.com/docs/id/memory#organize-rules-with-claude/rules/).
176 111
177| Aspek | Hook | Skill |112> [tab] CLAUDE.md vs Output style
178| - | - | - |113>
179| **Berjalan** | Perintah shell, permintaan HTTP, panggilan alat MCP, prompt LLM, atau subagent | Instruksi yang Claude baca dan ikuti |114> Keduanya memberikan instruksi berdiri kepada Claude. CLAUDE.md membawa apa yang harus diketahui Claude, dan gaya output menetapkan cara Claude merespons.
180| **Dipicu oleh** | [Acara siklus hidup](https://code.claude.com/docs/id/hooks.md#hook-events) seperti `PostToolUse` atau `SessionStart` | Anda mengetik `/<name>`, atau Claude mencocokkan deskripsi dengan tugas Anda |115>
181| **Determinisme** | Menyala pada acaranya tanpa Claude yang memutuskan | Claude menginterpretasikan instruksi; hasilnya dapat bervariasi |116> | Aspek | CLAUDE.md | Output style |
182| **Biaya konteks** | Nol kecuali hook mengembalikan output | Deskripsi dimuat setiap sesi; konten penuh dimuat saat digunakan |117> | - | - | - |
183| **Terbaik untuk** | Linting setelah pengeditan, memblokir perintah yang tidak aman, logging, notifikasi | Alur kerja yang membutuhkan penalaran, materi referensi, tugas multi-langkah |118> | **Memegang** | Fakta dan aturan tentang proyek Anda | Peran, nada, dan format respons |
119> | **Beralih** | Selalu dimuat | Satu aktif pada satu waktu; [beralih gaya](https://code.claude.com/docs/id/output-styles.md#change-your-output-style) kapan saja Anda mau |
120> | **Terbaik untuk** | Perintah build, konvensi, aturan "jangan pernah lakukan X" | Respons yang lebih pendek, penjelasan bersama kode, peran non-teknik |
121>
122> **Letakkan di CLAUDE.md** jika itu benar dari proyek apa pun gaya yang Anda gunakan: konvensi pengkodean, perintah build, struktur proyek.
123>
124> **Gunakan output style** jika itu tentang respons itu sendiri dan Anda mungkin ingin mematikannya lagi: panjang, format, berapa banyak Claude menjelaskan, atau peran yang berbeda seperti asisten penulisan. Claude Code mencakup [gaya bawaan](https://code.claude.com/docs/id/output-styles.md#built-in-output-styles), dan Anda dapat menulis gaya Anda sendiri.
125>
126> **Mereka menggabungkan.** CLAUDE.md tetap dimuat gaya mana pun yang Anda pilih. Claude mengikuti keduanya sebagai instruksi, jadi tidak ada yang ditegakkan. Untuk apa pun yang harus terjadi setiap kali, gunakan [hook](https://code.claude.com/docs/id/hooks-guide.md).
184 127
185**Gunakan hook** ketika tindakan harus terjadi dengan cara yang sama setiap kali dan tidak memerlukan Claude untuk berpikir. Misalnya: format saat menyimpan, tolak `rm -rf /`, posting pesan Slack ketika sesi berakhir.128> [tab] CLAUDE.md vs Rules vs Skills
129>
130> Ketiga-tiganya menyimpan instruksi, tetapi mereka dimuat secara berbeda:
131>
132> | Aspek | CLAUDE.md | `.claude/rules/` | Skill |
133> | - | - | - | - |
134> | **Dimuat** | Setiap sesi | Setiap sesi, atau ketika file yang cocok dibuka | On demand, ketika dipanggil atau relevan |
135> | **Cakupan** | Seluruh proyek | Dapat dibatasi ke jalur file | Spesifik tugas |
136> | **Terbaik untuk** | Konvensi inti dan perintah build | Panduan spesifik bahasa atau direktori | Materi referensi, alur kerja yang dapat diulang |
137>
138> **Gunakan CLAUDE.md** untuk instruksi yang setiap sesi butuhkan: perintah build, konvensi tes, arsitektur proyek.
139>
140> **Gunakan rules** untuk menjaga CLAUDE.md tetap fokus. Rules dengan [frontmatter `paths`](https://code.claude.com/docs/id/memory#path-specific-rules) hanya dimuat ketika Claude bekerja dengan file yang cocok, menghemat konteks.
141>
142> **Gunakan skills** untuk konten yang Claude hanya butuhkan kadang-kadang, seperti dokumentasi API atau daftar periksa penyebaran yang Anda picu dengan `/<name>`.
186 143
187**Gunakan skill** ketika Claude harus memutuskan cara menerapkan langkah-langkah, atau ketika kontennya adalah pengetahuan daripada skrip. Misalnya: daftar periksa `/release`, panduan gaya API Anda, playbook debugging.144> [tab] Subagent vs Dynamic workflow
145>
146> Keduanya melakukan pekerjaan di luar percakapan utama Anda. Dengan subagent, Claude memutuskan giliran demi giliran apa yang berjalan selanjutnya. Dalam alur kerja, skrip memutuskan:
147>
148> * **Subagents** adalah pekerja yang Claude spawn, masing-masing mengembalikan ringkasan ke percakapan yang memunculkannya
149> * **[Dynamic workflows](https://code.claude.com/docs/id/workflows.md)** adalah skrip yang ditulis Claude yang menjalankan banyak subagent di latar belakang dan mengembalikan satu hasil
150>
151> **Gunakan subagent** ketika Anda membutuhkan pekerja yang cepat dan terfokus: teliti pertanyaan, verifikasi klaim, tinjau file. Subagent melakukan pekerjaan dan mengembalikan ringkasan, jadi percakapan utama Anda tetap bersih. Subagent yang Claude [beri nama](https://code.claude.com/docs/id/sub-agents.md#subagent-names) ketika memunculkannya juga dapat [saling berkirim pesan](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup).
152>
153> **Gunakan dynamic workflow** ketika pekerjaan [melampaui segelintir subagent](https://code.claude.com/docs/id/workflows.md#when-to-use-a-workflow), atau ketika Anda ingin temuan diverifikasi silang sebelum Anda melihatnya, seperti audit berbasis kode, migrasi besar, atau rencana yang disusun dari beberapa sudut. Untuk memulai satu, [minta alur kerja dalam prompt Anda](https://code.claude.com/docs/id/workflows.md#ask-for-a-workflow-in-your-prompt).
154>
155> **Untuk meneruskan temuan dari salah satu sesi Anda ke sesi lain**, minta Claude sesi pertama untuk mengirimkannya. Claude mengirimkannya dengan [cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md). [Run agents in parallel](https://code.claude.com/docs/id/agents.md) membandingkan cara lain untuk menjalankan lebih dari satu Claude sekaligus, termasuk sesi yang Anda serahkan dan periksa kembali nanti.
188 156
189**Letakkan guardrail di hook.** Instruksi seperti "jangan pernah edit `.env`" di CLAUDE.md atau skill adalah permintaan, bukan jaminan. Hook `PreToolUse` yang memblokir pengeditan adalah penegakan. Jika aturan harus berlaku setiap kali, buat hook daripada instruksi prompt.157> [tab] MCP vs Skill
158>
159> MCP menghubungkan Claude ke layanan eksternal. Skills memperluas apa yang Claude ketahui, termasuk cara menggunakan layanan tersebut secara efektif.
160>
161> | Aspek | MCP | Skill |
162> | - | - | - |
163> | **Apa itu** | Protokol untuk terhubung ke layanan eksternal | Pengetahuan, alur kerja, dan materi referensi |
164> | **Menyediakan** | Alat dan akses data | Pengetahuan, alur kerja, materi referensi |
165> | **Contoh** | Integrasi Slack, kueri basis data, kontrol browser | Daftar periksa tinjauan kode, alur kerja penyebaran, panduan gaya API |
166>
167> Ini menyelesaikan masalah yang berbeda dan bekerja dengan baik bersama:
168>
169> **MCP** memberikan Claude alat yang dirancang khusus untuk sistem eksternal, dengan koneksi dan autentikasi ditangani oleh server.
170>
171> **Skills** memberikan Claude pengetahuan tentang cara menggunakan alat tersebut secara efektif, ditambah alur kerja yang dapat Anda picu dengan `/<name>`. Skill mungkin menyertakan skema basis data tim Anda dan pola kueri, atau alur kerja `/post-to-slack` dengan aturan pemformatan pesan tim Anda.
190 172
191**Output hook mendarat di konteks.** Hook `PostToolUse` yang menjalankan linter Anda memberi umpan balik hasil sebagai teks yang Claude baca; skill `/fix-lint` memberi tahu Claude cara menyelesaikannya.173> [tab] Hook vs Skill
174>
175> Claude Code menjalankan hook pada acara siklus hidup; itu memuat skill ke dalam konteks untuk Claude terapkan.
176>
177> | Aspek | Hook | Skill |
178> | - | - | - |
179> | **Berjalan** | Perintah shell, permintaan HTTP, panggilan alat MCP, prompt LLM, atau subagent | Instruksi yang Claude baca dan ikuti |
180> | **Dipicu oleh** | [Acara siklus hidup](https://code.claude.com/docs/id/hooks.md#hook-events) seperti `PostToolUse` atau `SessionStart` | Anda mengetik `/<name>`, atau Claude mencocokkan deskripsi dengan tugas Anda |
181> | **Determinisme** | Menyala pada acaranya tanpa Claude yang memutuskan | Claude menginterpretasikan instruksi; hasilnya dapat bervariasi |
182> | **Biaya konteks** | Nol kecuali hook mengembalikan output | Deskripsi dimuat setiap sesi; konten penuh dimuat saat digunakan |
183> | **Terbaik untuk** | Linting setelah pengeditan, memblokir perintah yang tidak aman, logging, notifikasi | Alur kerja yang membutuhkan penalaran, materi referensi, tugas multi-langkah |
184>
185> **Gunakan hook** ketika tindakan harus terjadi dengan cara yang sama setiap kali dan tidak memerlukan Claude untuk berpikir. Misalnya: format saat menyimpan, tolak `rm -rf /`, posting pesan Slack ketika sesi berakhir.
186>
187> **Gunakan skill** ketika Claude harus memutuskan cara menerapkan langkah-langkah, atau ketika kontennya adalah pengetahuan daripada skrip. Misalnya: daftar periksa `/release`, panduan gaya API Anda, playbook debugging.
188>
189> **Letakkan guardrail di hook.** Instruksi seperti "jangan pernah edit `.env`" di CLAUDE.md atau skill adalah permintaan, bukan jaminan. Hook `PreToolUse` yang memblokir pengeditan adalah penegakan. Jika aturan harus berlaku setiap kali, buat hook daripada instruksi prompt.
190>
191> **Output hook mendarat di konteks.** Hook `PostToolUse` yang menjalankan linter Anda memberi umpan balik hasil sebagai teks yang Claude baca; skill `/fix-lint` memberi tahu Claude cara menyelesaikannya.
192 192
193### Pahami bagaimana fitur berlapis193### Pahami bagaimana fitur berlapis
194 194
238 238
239239
240 240
241**CLAUDE.md**241> [tab] CLAUDE.md
242
243**Kapan:** Awal sesi
244
245**Apa yang dimuat:** Konten penuh setiap file CLAUDE.md yang dimuat saat awal sesi (tingkat terkelola, pengguna, dan proyek).
246
247**Warisan:** Claude membaca file CLAUDE.md dari direktori kerja Anda hingga ke root, dan menemukan yang tersarang di subdirektori saat mengakses file tersebut. Lihat [Bagaimana file CLAUDE.md dimuat](https://code.claude.com/docs/id/memory.md#how-claude-md-files-load) untuk detail. Jika CLAUDE.md tersarang melebihi [batas ukuran per file](https://code.claude.com/docs/id/memory.md#claude-ignores-the-end-of-my-subdirectory-claude-md), Claude hanya menerima bagian awal file tersebut.
248
249> [!TIP]
250>242>
251> Jaga CLAUDE.md di bawah 200 baris. Pindahkan materi referensi ke skills, yang dimuat on demand. Untuk mendapatkan [usulan pemangkasan untuk CLAUDE.md yang di-commit ke repositori](https://code.claude.com/docs/id/memory.md#my-claude-md-is-too-large), jalankan `/doctor`.243> **Kapan:** Awal sesi
252
253**Skills**
254
255Skills adalah kemampuan tambahan dalam toolkit Claude. Mereka dapat berupa materi referensi (seperti panduan gaya API) atau alur kerja yang dapat dipanggil yang Anda picu dengan `/<name>` (seperti `/deploy`). Claude Code dilengkapi dengan [skills bundel](https://code.claude.com/docs/id/commands.md) seperti `/code-review`, `/batch`, dan `/debug` yang bekerja langsung. Anda juga dapat membuat yang Anda sendiri.
256
257**Kapan:** Tergantung pada konfigurasi skill. Secara default, deskripsi dimuat saat awal sesi dan konten penuh dimuat ketika digunakan. Untuk skills hanya pengguna (`disable-model-invocation: true`), tidak ada yang dimuat sampai Anda memanggilnya.
258
259**Apa yang dimuat:** Untuk skills yang dapat dipanggil model, Claude melihat nama dan deskripsi di setiap permintaan. Ketika Anda memanggil skill dengan `/<name>` atau Claude memuatnya secara otomatis, konten penuh dimuat ke percakapan Anda.
260
261**Bagaimana Claude memilih skills:** Claude mencocokkan tugas Anda terhadap deskripsi skill untuk memutuskan mana yang relevan. Jika deskripsi samar atau tumpang tindih, Claude mungkin memuat skill yang salah atau melewatkan yang akan membantu. Untuk memberi tahu Claude menggunakan skill tertentu, panggilnya dengan `/<name>`.
262
263**Biaya konteks:** Rendah sampai digunakan. Skills hanya pengguna memiliki biaya nol sampai dipanggil.
264
265**Di subagent:** Konten penuh skills yang tercantum di field `skills` subagent [dimuat ke konteksnya saat peluncuran](https://code.claude.com/docs/id/sub-agents.md#preload-skills-into-subagents), bukan on demand. Subagent masih dapat menemukan dan memanggil skills proyek, pengguna, dan plugin yang tidak tercantum melalui tool Skill.
266
267> [!TIP]
268>244>
269> Gunakan `disable-model-invocation: true` untuk skills dengan efek samping. Ini menghemat konteks dan memastikan skills tersebut hanya berjalan ketika Anda menyebut namanya.245> **Apa yang dimuat:** Konten penuh setiap file CLAUDE.md yang dimuat saat awal sesi (tingkat terkelola, pengguna, dan proyek).
270
271**Server MCP**
272
273**Kapan:** Awal sesi.
274
275**Apa yang dimuat:** Nama alat dan instruksi server dari server yang terhubung. Skema JSON penuh tetap ditunda sampai Claude memerlukan alat tertentu.
276
277**Biaya konteks:** [Pencarian alat](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search) diaktifkan secara default, jadi alat MCP idle mengonsumsi konteks minimal.
278
279> [!TIP]
280>246>
281> Jalankan `/mcp` untuk melihat status koneksi setiap server. Jalankan `/context all` untuk melihat berapa banyak token yang digunakan setiap alat MCP yang dimuat. Claude Code [terhubung kembali ke server jarak jauh secara otomatis](https://code.claude.com/docs/id/mcp.md#automatic-reconnection) jika mereka terputus, dan Anda dapat memutuskan server yang tidak Anda gunakan secara aktif.247> **Warisan:** Claude membaca file CLAUDE.md dari direktori kerja Anda hingga ke root, dan menemukan yang tersarang di subdirektori saat mengakses file tersebut. Lihat [Bagaimana file CLAUDE.md dimuat](https://code.claude.com/docs/id/memory.md#how-claude-md-files-load) untuk detail. Jika CLAUDE.md tersarang melebihi [batas ukuran per file](https://code.claude.com/docs/id/memory.md#claude-ignores-the-end-of-my-subdirectory-claude-md), Claude hanya menerima bagian awal file tersebut.
282
283**Code intelligence**
284
285**Kapan:** Setelah pengeditan file, dan on demand ketika Claude menavigasi kode.
286
287**Apa yang dimuat:** Kesalahan tipe dan peringatan setelah setiap pengeditan file. Informasi definisi, referensi, dan tipe ketika Claude mencari simbol.
288
289**Biaya konteks:** Rendah. Pencarian simbol sering menggantikan pembacaan file yang luas, jadi penggunaan konteks bersih dapat turun.
290
291> [!TIP]
292>248>
293> Alat LSP tidak aktif sampai Anda memasang [plugin code intelligence](https://code.claude.com/docs/id/plugins/code-intelligence.md) untuk bahasa Anda.249> > [!TIP]
294 250> >
295**Subagents**251> > Jaga CLAUDE.md di bawah 200 baris. Pindahkan materi referensi ke skills, yang dimuat on demand. Untuk mendapatkan [usulan pemangkasan untuk CLAUDE.md yang di-commit ke repositori](https://code.claude.com/docs/id/memory.md#my-claude-md-is-too-large), jalankan `/doctor`.
296
297**Kapan:** On demand, ketika Anda atau Claude menspawn satu untuk tugas.
298
299**Apa yang dimuat:** Konteks segar dan terisolasi yang berisi:
300
301* System prompt milik agent itu sendiri, bukan system prompt Claude Code
302* Konten penuh skills yang tercantum di field `skills:` agent
303* CLAUDE.md dan status git. Agent Explore dan Plan bawaan [dimulai tanpa keduanya](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup), dan agent yang definisinya menetapkan [`omitClaudeMd`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) dimulai tanpa file CLAUDE.md pengguna, proyek, dan lokal.
304* Apa pun konteks yang agent utama lewatkan dalam prompt
305
306Untuk [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), Claude Code memuat percakapan induk sejauh ini, prompt sistem, dan alat sebagai gantinya.
307
308**Biaya konteks:** Terisolasi dari sesi utama.
309 252
310> [!TIP]253> [tab] Skills
311>254>
312> Gunakan subagents untuk pekerjaan yang tidak memerlukan konteks percakapan penuh Anda. Isolasi mereka mencegah mengembang sesi utama Anda.255> Skills adalah kemampuan tambahan dalam toolkit Claude. Mereka dapat berupa materi referensi (seperti panduan gaya API) atau alur kerja yang dapat dipanggil yang Anda picu dengan `/<name>` (seperti `/deploy`). Claude Code dilengkapi dengan [skills bundel](https://code.claude.com/docs/id/commands.md) seperti `/code-review`, `/batch`, dan `/debug` yang bekerja langsung. Anda juga dapat membuat yang Anda sendiri.
313 256>
314**Hooks**257> **Kapan:** Tergantung pada konfigurasi skill. Secara default, deskripsi dimuat saat awal sesi dan konten penuh dimuat ketika digunakan. Untuk skills hanya pengguna (`disable-model-invocation: true`), tidak ada yang dimuat sampai Anda memanggilnya.
258>
259> **Apa yang dimuat:** Untuk skills yang dapat dipanggil model, Claude melihat nama dan deskripsi di setiap permintaan. Ketika Anda memanggil skill dengan `/<name>` atau Claude memuatnya secara otomatis, konten penuh dimuat ke percakapan Anda.
260>
261> **Bagaimana Claude memilih skills:** Claude mencocokkan tugas Anda terhadap deskripsi skill untuk memutuskan mana yang relevan. Jika deskripsi samar atau tumpang tindih, Claude mungkin memuat skill yang salah atau melewatkan yang akan membantu. Untuk memberi tahu Claude menggunakan skill tertentu, panggilnya dengan `/<name>`.
262>
263> **Biaya konteks:** Rendah sampai digunakan. Skills hanya pengguna memiliki biaya nol sampai dipanggil.
264>
265> **Di subagent:** Konten penuh skills yang tercantum di field `skills` subagent [dimuat ke konteksnya saat peluncuran](https://code.claude.com/docs/id/sub-agents.md#preload-skills-into-subagents), bukan on demand. Subagent masih dapat menemukan dan memanggil skills proyek, pengguna, dan plugin yang tidak tercantum melalui tool Skill.
266>
267> > [!TIP]
268> >
269> > Gunakan `disable-model-invocation: true` untuk skills dengan efek samping. Ini menghemat konteks dan memastikan skills tersebut hanya berjalan ketika Anda menyebut namanya.
315 270
316**Kapan:** Saat dipicu. Claude Code menjalankan hooks pada acara siklus hidup tertentu seperti eksekusi alat, batas sesi, pengajuan prompt, permintaan izin, dan pemadatan. Lihat [Hooks](https://code.claude.com/docs/id/hooks.md) untuk daftar lengkap.271> [tab] Server MCP
272>
273> **Kapan:** Awal sesi.
274>
275> **Apa yang dimuat:** Nama alat dan instruksi server dari server yang terhubung. Skema JSON penuh tetap ditunda sampai Claude memerlukan alat tertentu.
276>
277> **Biaya konteks:** [Pencarian alat](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search) diaktifkan secara default, jadi alat MCP idle mengonsumsi konteks minimal.
278>
279> > [!TIP]
280> >
281> > Jalankan `/mcp` untuk melihat status koneksi setiap server. Jalankan `/context all` untuk melihat berapa banyak token yang digunakan setiap alat MCP yang dimuat. Claude Code [terhubung kembali ke server jarak jauh secara otomatis](https://code.claude.com/docs/id/mcp.md#automatic-reconnection) jika mereka terputus, dan Anda dapat memutuskan server yang tidak Anda gunakan secara aktif.
317 282
318**Apa yang dimuat:** Tidak ada secara default. Hooks berjalan di luar percakapan utama.283> [tab] Code intelligence
284>
285> **Kapan:** Setelah pengeditan file, dan on demand ketika Claude menavigasi kode.
286>
287> **Apa yang dimuat:** Kesalahan tipe dan peringatan setelah setiap pengeditan file. Informasi definisi, referensi, dan tipe ketika Claude mencari simbol.
288>
289> **Biaya konteks:** Rendah. Pencarian simbol sering menggantikan pembacaan file yang luas, jadi penggunaan konteks bersih dapat turun.
290>
291> > [!TIP]
292> >
293> > Alat LSP tidak aktif sampai Anda memasang [plugin code intelligence](https://code.claude.com/docs/id/plugins/code-intelligence.md) untuk bahasa Anda.
319 294
320**Biaya konteks:** Nol, kecuali hook mengembalikan output yang ditambahkan sebagai pesan ke percakapan Anda.295> [tab] Subagents
296>
297> **Kapan:** On demand, ketika Anda atau Claude menspawn satu untuk tugas.
298>
299> **Apa yang dimuat:** Konteks segar dan terisolasi yang berisi:
300>
301> * System prompt milik agent itu sendiri, bukan system prompt Claude Code
302> * Konten penuh skills yang tercantum di field `skills:` agent
303> * CLAUDE.md dan status git. Agent Explore dan Plan bawaan [dimulai tanpa keduanya](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup), dan agent yang definisinya menetapkan [`omitClaudeMd`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) dimulai tanpa file CLAUDE.md pengguna, proyek, dan lokal.
304> * Apa pun konteks yang agent utama lewatkan dalam prompt
305>
306> Untuk [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), Claude Code memuat percakapan induk sejauh ini, prompt sistem, dan alat sebagai gantinya.
307>
308> **Biaya konteks:** Terisolasi dari sesi utama.
309>
310> > [!TIP]
311> >
312> > Gunakan subagents untuk pekerjaan yang tidak memerlukan konteks percakapan penuh Anda. Isolasi mereka mencegah mengembang sesi utama Anda.
321 313
322> [!TIP]314> [tab] Hooks
315>
316> **Kapan:** Saat dipicu. Claude Code menjalankan hooks pada acara siklus hidup tertentu seperti eksekusi alat, batas sesi, pengajuan prompt, permintaan izin, dan pemadatan. Lihat [Hooks](https://code.claude.com/docs/id/hooks.md) untuk daftar lengkap.
317>
318> **Apa yang dimuat:** Tidak ada secara default. Hooks berjalan di luar percakapan utama.
319>
320> **Biaya konteks:** Nol, kecuali hook mengembalikan output yang ditambahkan sebagai pesan ke percakapan Anda.
323>321>
324> Hooks ideal untuk efek samping (linting, logging) yang tidak perlu mempengaruhi konteks Claude.322> > [!TIP]
323> >
324> > Hooks ideal untuk efek samping (linting, logging) yang tidak perlu mempengaruhi konteks Claude.
325 325
326## Pelajari lebih lanjut326## Pelajari lebih lanjut
327 327
328Setiap fitur memiliki panduan sendiri dengan instruksi setup, contoh, dan opsi konfigurasi.328Setiap fitur memiliki panduan sendiri dengan instruksi setup, contoh, dan opsi konfigurasi.
329 329
330> **[CLAUDE.md](https://code.claude.com/docs/id/memory.md)**330> [card] [CLAUDE.md](https://code.claude.com/docs/id/memory.md)
331>331>
332> Simpan konteks proyek, konvensi, dan instruksi332> Simpan konteks proyek, konvensi, dan instruksi
333 333
334> **[Skills](https://code.claude.com/docs/id/skills.md)**334> [card] [Skills](https://code.claude.com/docs/id/skills.md)
335>335>
336> Berikan Claude keahlian domain dan alur kerja yang dapat digunakan kembali336> Berikan Claude keahlian domain dan alur kerja yang dapat digunakan kembali
337 337
338> **[Subagents](https://code.claude.com/docs/id/sub-agents.md)**338> [card] [Subagents](https://code.claude.com/docs/id/sub-agents.md)
339>339>
340> Alihkan pekerjaan ke konteks terisolasi340> Alihkan pekerjaan ke konteks terisolasi
341 341
342> **[Dynamic workflows](https://code.claude.com/docs/id/workflows.md)**342> [card] [Dynamic workflows](https://code.claude.com/docs/id/workflows.md)
343>343>
344> Jalankan banyak subagents dari satu skrip344> Jalankan banyak subagents dari satu skrip
345 345
346> **[Cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md)**346> [card] [Cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md)
347>347>
348> Biarkan Claude mengirim pesan ke sesi lain Anda348> Biarkan Claude mengirim pesan ke sesi lain Anda
349 349
350> **[MCP](https://code.claude.com/docs/id/mcp.md)**350> [card] [MCP](https://code.claude.com/docs/id/mcp.md)
351>351>
352> Hubungkan Claude ke layanan eksternal352> Hubungkan Claude ke layanan eksternal
353 353
354> **[Hooks](https://code.claude.com/docs/id/hooks-guide.md)**354> [card] [Hooks](https://code.claude.com/docs/id/hooks-guide.md)
355>355>
356> Otomatisasi tindakan dengan hooks356> Otomatisasi tindakan dengan hooks
357 357
358> **[Plugins](https://code.claude.com/docs/id/plugins/overview.md)**358> [card] [Plugins](https://code.claude.com/docs/id/plugins/overview.md)
359>359>
360> Bundel dan bagikan set fitur360> Bundel dan bagikan set fitur
361 361
362> **[Marketplaces](https://code.claude.com/docs/id/plugins/create-marketplace.md)**362> [card] [Marketplaces](https://code.claude.com/docs/id/plugins/create-marketplace.md)
363>363>
364> Host dan distribusikan koleksi plugin364> Host dan distribusikan koleksi plugin