Cara Memanfaatkan Semua Fitur Claude Code
(blog.sshh.io)- Claude Code digunakan secara luas untuk proyek pribadi maupun lingkungan monorepo perusahaan, dengan rangkuman tentang komponen inti dan cara nyata menggunakan fitur-fitur lanjutannya
- Kunci pengoperasian agen yang efektif ada pada kualitas PR akhir, bukan gaya output atau UI, dengan tujuan delegasi bergaya "setel lalu tinggalkan (shoot and forget)"
- Pusat dari codebase adalah file
CLAUDE.md, yang berperan sebagai “konstitusi” untuk mendefinisikan aturan perilaku agen dan cara penggunaan alat - Tingkat kolaborasi dan otomatisasi ditingkatkan melalui berbagai fitur seperti manajemen konteks, perintah slash, subagen, Hooks, dan GitHub Action (GHA)
- Hubungan antara Skills dan MCP (Model Context Protocol) dibedakan dengan jelas, sambil menekankan struktur agen yang fleksibel dan berfokus pada scripting
- Menyediakan panduan praktis untuk memperluas Claude Code dari sekadar alat CLI menjadi infrastruktur pengembangan AI kelas enterprise
- Sangat sering menggunakan Claude Code
- Untuk proyek hobi, dijalankan di VM beberapa kali seminggu, memakai
--dangerously-skip-permissionsagar ide yang muncul bisa langsung diwujudkan menjadi kode - Untuk pekerjaan, tim membangun aturan dan alat AI-IDE, dan tim engineering kami menghabiskan puluhan miliar token per bulan hanya untuk pembuatan kode
- Untuk proyek hobi, dijalankan di VM beberapa kali seminggu, memakai
- Pasar agen CLI ramai dengan Claude Code, Gemini CLI, Cursor, dan Codex CLI, tetapi persaingan yang nyata pada dasarnya hanya antara Anthropic dan OpenAI
- Namun jika berbicara dengan para developer, pemilihan alat sering bergantung pada faktor permukaan
- Seperti implementasi fitur yang "beruntung" atau "vibe" dari system prompt yang disukai
- Pada titik ini, semua alat tersebut sebenarnya sudah cukup bagus
- Namun jika berbicara dengan para developer, pemilihan alat sering bergantung pada faktor permukaan
- Sebagian orang terlalu berfokus pada gaya output atau UI
- Sanjungan seperti "you're absolutely right!" bukan bug yang benar-benar penting
- Justru itu tanda bahwa pengguna terlalu terlibat dalam loop
- Filsafat penggunaan inti saya adalah "Shoot and Forget"
- Prosesnya berjalan dalam urutan delegasi, penyiapan konteks, pelaksanaan tugas
- Alat dinilai dari PR akhirnya, dievaluasi berdasarkan hasil, bukan proses menuju ke sana
- Tulisan ini adalah refleksi atas seluruh ekosistem berdasarkan pengalaman beberapa bulan menggunakan Claude Code
- Hampir semua fitur yang saya gunakan (dan yang tidak saya gunakan)
- File
CLAUDE.mddasar - Perintah slash kustom
- Dunia Subagent, Hook, dan GitHub Actions yang kuat
- Karena artikelnya cukup panjang, lebih disarankan dipakai sebagai referensi daripada dibaca seluruhnya
CLAUDE.md: konstitusi agen
CLAUDE.mddi root adalah sumber kebenaran utama bagi agen tentang cara repository bekerja- Proyek hobi: biarkan Claude menulisnya dengan bebas sesuai keinginannya
- Monorepo enterprise: dikelola ketat dengan ukuran sekitar 13KB (bisa diperluas hingga 25KB)
- Hanya alat yang digunakan oleh lebih dari 30% engineer yang didokumentasikan
- Jumlah token maksimum dialokasikan untuk dokumentasi tiap alat internal (modelnya seperti menjual "ruang iklan")
- Jika suatu alat tidak bisa dijelaskan secara ringkas, berarti
CLAUDE.mduntuk alat itu belum siap
-
Tip dan antipola umum
- Mulai dari guardrail, bukan manual: mulai dokumentasi kecil berdasarkan hal-hal yang sering salah dilakukan Claude
- Jangan dokumentasikan file
@- Jika dokumen besar di tempat lain disebut dengan
@, seluruh file akan di-embed ke context window di setiap eksekusi dan membuatnya membengkak - Jika hanya menyebut path-nya saja, Claude cenderung mengabaikannya
- Anda perlu "menyarankan" kepada agen alasan dan kapan file itu perlu dibaca
- Contoh: "Untuk penggunaan kompleks atau jika muncul
FooBarError, lihatpath/to/docs.mduntuk troubleshooting lanjutan"
- Jika dokumen besar di tempat lain disebut dengan
- Jangan hanya mengatakan "sama sekali tidak boleh"
- Hindari batasan negatif seperti "jangan pernah gunakan flag
--foo-bar" - Agen akan buntu saat merasa perlu memakai flag tersebut
- Selalu sediakan alternatif
- Hindari batasan negatif seperti "jangan pernah gunakan flag
- Gunakan
CLAUDE.mdsebagai forcing function- Jika perintah CLI rumit dan bertele-tele, jangan menambalnya dengan paragraf penjelasan (itu hanya memperbaiki masalah manusia)
- Sebagai gantinya, buat bash wrapper sederhana dengan API yang jelas dan intuitif, lalu dokumentasikan wrapper tersebut
- Menjaga
CLAUDE.mdtetap sesingkat mungkin adalah forcing function yang luar biasa untuk menyederhanakan codebase dan alat internal
-
Struktur contoh
# Monorepo ## Python - Always ... - Test with <command> ... 10개 항목 ... ## <Internal CLI Tool> ... 80% 사용 사례에 집중한 10개 불릿 ... - <usage example> - Always ... - Never <x>, prefer <Y> 복잡한 사용법이나 오류 시 path/to/<tool>_docs.md 참조 - Disinkronkan dengan file
AGENTS.mdagar tetap kompatibel dengan AI IDE lain yang digunakan engineer - Tip tambahan: lihat "AI Can't Read Your Docs", "AI-powered Software Engineering", "How Cursor (AI IDE) Works"
Compact, Context, Clear: manajemen context window
- Gunakan perintah
/contextuntuk memeriksa penggunaan context window 200k token- Bahkan di Sonnet-1M pun belum jelas apakah seluruh context window benar-benar dimanfaatkan secara efektif
- Sesi baru monorepo secara default menghabiskan sekitar 20k token (10%), dan sisa 180k dipakai untuk pekerjaan perubahan (cepat habis)
- Tiga workflow utama
/compact(dihindari): kompresi otomatis kurang transparan, bisa menimbulkan kesalahan, dan kurang optimal, jadi sebisa mungkin dihindari/clear+/catchup(restart sederhana): cara reboot default, hapus status dengan/clearlalu gunakan/catchupkustom untuk membaca semua file yang berubah di branch git- "Document & Clear" (restart kompleks): untuk pekerjaan besar, Claude membuang rencana dan progres ke
.md→/clear→ di sesi baru baca.mdlalu lanjutkan
Perintah slash kustom
- Perintah slash hanyalah shortcut sederhana untuk prompt yang sering dipakai, tidak lebih dan tidak kurang
- Konfigurasi minimum
/catchup: prompt untuk membaca semua file yang berubah di branch git/pr: helper untuk merapikan kode, staging, dan menyiapkan PR
- Daftar panjang perintah kustom yang rumit adalah antipola
- Kekuatan inti agen seperti Claude: mampu menghasilkan hasil yang berguna dan bisa digabungkan dari hampir semua input bahasa alami
- Memaksa engineer (atau non-engineer) mempelajari daftar wajib "perintah ajaib" untuk menyelesaikan pekerjaan = gagal
- Tujuannya adalah membangun agen dengan
CLAUDE.mdyang lebih intuitif dan alat yang lebih baik
Subagent Kustom
- Secara teori, fitur manajemen konteks yang kuat
- Tugas kompleks: konteks input
Xtoken + konteks kerjaYtoken + jawabanZtoken Ntugas =(X + Y + Z) * Ntoken di jendela utama- Solusi Subagent: delegasikan tugas
(X + Y) * Nke agen khusus, lalu hanya kembalikan jawaban akhirZtoken
- Tugas kompleks: konteks input
- Dalam praktiknya, Subagent kustom menciptakan dua masalah baru
- Context gatekeeping: saat membuat Subagent
PythonTests, semua konteks pengujian disembunyikan dari agen utama → penalaran menyeluruh jadi tidak mungkin → terpaksa memanggil Subagent hanya untuk mengetahui cara memverifikasi kodenya sendiri - Memaksakan workflow manusia: memaksa Claude mengikuti workflow kaku yang didefinisikan manusia → memberi instruksi cara mendelegasikan = justru masalah yang seharusnya diselesaikan agen itu sendiri
- Context gatekeeping: saat membuat Subagent
-
Secara pribadi saya lebih menyukai fitur Task(...)
- Buat klon agen serbaguna dengan fitur bawaan
Task(...)milik Claude- Tempatkan semua konteks inti di
CLAUDE.md - Agen utama menentukan kapan dan bagaimana mendelegasikan tugas ke salinannya sendiri
- Tetap mempertahankan manfaat penghematan konteks dari Subagent sambil menghilangkan kekurangannya
- Agen mengelola orkestrasi dirinya sendiri secara dinamis
- Tempatkan semua konteks inti di
- Disebut arsitektur "Master-Clone" dalam "Building Multi-Agent Systems (Part 2)"
- Jauh lebih disukai dibanding model "Lead-Specialist" yang didorong oleh Subagent kustom
- Buat klon agen serbaguna dengan fitur bawaan
Resume, Continue, History
- Penggunaan dasar
- Sering menggunakan
claude --resumedanclaude --continue - Restart terminal yang bug atau reboot cepat sesi lama
- Menjalankan
claude --resumepada sesi beberapa hari lalu untuk merangkum cara mengatasi error tertentu → memperbaikiCLAUDE.mddan alat internal
- Sering menggunakan
- Penggunaan lanjutan
- Claude Code menyimpan seluruh riwayat sesi di
~/.claude/projects/ - Memiliki skrip yang memanfaatkan data sesi riwayat mentah
- Menjalankan meta-analisis pada log: mencari exception umum, permintaan izin, pola error → meningkatkan konteks yang ditargetkan untuk agen
- Claude Code menyimpan seluruh riwayat sesi di
Hooks
- Sangat penting di repo enterprise: tidak dipakai pada proyek hobi
- Aturan "must-do" deterministik yang melengkapi saran "should-do" di
CLAUDE.md - Dua jenis
- Hook pemblokiran tahap commit (Block-at-Submit): strategi utama
- Membungkus semua perintah
Bash(git commit)dengan HookPreToolUse - Memeriksa file
/tmp/agent-pre-commit-pass(dibuat hanya jika skrip test meloloskan semua test) - Jika file tidak ada, commit diblokir → memaksa Claude masuk ke loop "test-fix" sampai build berhasil
- Membungkus semua perintah
- Hook petunjuk: Hook non-pemblokiran sederhana yang memberi umpan balik "fire-and-forget" saat agen melakukan opsi terbaik kedua
- Hook pemblokiran tahap commit (Block-at-Submit): strategi utama
- Sengaja tidak memakai Hook pemblokiran tahap penulisan (saat
EditatauWrite)- Memblokir agen di tengah rencana dapat menimbulkan kebingungan atau "frustrasi"
- Jauh lebih efektif memverifikasi hasil akhir yang sudah selesai pada tahap commit setelah pekerjaan selesai
Mode perencanaan
- Saat melakukan perubahan fitur "besar" dengan AI IDE, perencanaan itu wajib
- Proyek hobi: hanya memakai mode perencanaan bawaan
- Menyelaraskan pendekatan sebelum memulai Claude
- Mendefinisikan cara build serta "checkpoint pemeriksaan" saat pekerjaan harus dihentikan dan hasil ditampilkan
- Pemakaian rutin membangun intuisi yang kuat tentang konteks minimum yang dibutuhkan agar Claude menghasilkan rencana yang baik tanpa merusak implementasi
- Monorepo enterprise: mulai meluncurkan alat perencanaan kustom berbasis Claude Code SDK
- Mirip mode plan native, tetapi dengan prompt yang difokuskan agar output selaras dengan format desain teknis yang sudah ada
- Menegakkan praktik terbaik internal secara bawaan (mulai dari struktur kode hingga privasi data dan keamanan)
- Memungkinkan engineer membuat "vibe plan" fitur baru layaknya arsitek senior (setidaknya itu idenya)
Skills
- Setuju dengan pendapat Simon Willison: Skills (mungkin) adalah hal yang lebih besar daripada MCP
- Evolusi 3 tahap model mental otonomi agen
- Single Prompt: memberikan semua konteks kepada agen dalam satu prompt raksasa (rapuh, tidak bisa diskalakan)
- Tool Calling: model agen "klasik", membuat tool secara manual dan abstraksi realitas untuk agen (membaik, tetapi menciptakan abstraksi baru dan bottleneck konteks)
- Scripting: memberi agen akses ke lingkungan mentah (binary, script, dokumentasi) → agen menulis kode secara langsung untuk berinteraksi
- Agent Skills adalah fitur berikutnya yang jelas: produk resmi dari lapisan "Scripting"
- Jika lebih memilih CLI daripada MCP, berarti Anda sudah secara implisit mendapatkan manfaat Skills
- File
SKILL.mdadalah cara yang lebih terorganisasi, bisa dibagikan, dan mudah ditemukan untuk mendokumentasikan CLI dan script ini lalu mengeksposnya ke agen
- File
- Skills adalah abstraksi yang tepat: meresmikan model agen berbasis "scripting" yang lebih tangguh dan fleksibel dibanding model kaku mirip API yang direpresentasikan MCP
MCP (Model Context Protocol)
- Adanya Skills tidak berarti MCP mati (lihat "Everything Wrong with MCP")
- Masalah sebelumnya: banyak orang membangun MCP yang buruk dan berat konteks dengan puluhan tool yang mencerminkan REST API (
read_thing_a(),read_thing_b(),update_thing_c()) - Model "Scripting" (yang diresmikan lewat Skills) adalah pendekatan yang lebih baik, tetapi tetap membutuhkan cara aman untuk mengakses lingkungan → di sinilah peran baru MCP
-
Peran baru MCP: gateway data
- Alih-alih API yang gemuk, berikan beberapa tool tingkat tinggi yang kuat dalam bentuk gateway yang sederhana dan aman
download_raw_data(filters…)take_sensitive_gated_action(args…)execute_code_in_environment_with_state(code…)
- Peran MCP: mengelola autentikasi, jaringan, dan batas keamanan, bukan menjadi abstraksi realitas untuk agen, lalu tidak ikut campur lebih jauh
- Menyediakan titik masuk bagi agen → agen melakukan pekerjaan sebenarnya dengan scripting dan konteks
markdown
- Menyediakan titik masuk bagi agen → agen melakukan pekerjaan sebenarnya dengan scripting dan konteks
- Satu-satunya MCP yang saat ini dipakai: Playwright (masuk akal karena lingkungannya kompleks dan stateful)
- Semua tool stateless (Jira, AWS, GitHub) dimigrasikan ke CLI sederhana
- Alih-alih API yang gemuk, berikan beberapa tool tingkat tinggi yang kuat dalam bentuk gateway yang sederhana dan aman
Claude Code SDK
- Claude Code bukan hanya CLI interaktif, tetapi juga SDK yang sangat kuat untuk membangun agen yang benar-benar baru, baik untuk tugas coding maupun non-coding
- Pada sebagian besar proyek hobi baru, mulai digunakan sebagai framework agen default alih-alih alat seperti LangChain/CrewAI
- Tiga cara penggunaan utama
- Scripting paralel berskala besar: saat refactoring besar-besaran, perbaikan bug, atau migrasi, tanpa memakai chat interaktif
- Tulis skrip bash sederhana yang memanggil
claude -p "in /pathA change all refs from foo to bar"secara paralel - Jauh lebih skalabel dan mudah dikendalikan dibanding membuat agen utama mengelola puluhan tugas subagent
- Tulis skrip bash sederhana yang memanggil
- Membangun alat chat internal: sempurna untuk membungkus proses kompleks dalam antarmuka chat sederhana bagi pengguna nonteknis
- Contoh: installer yang saat terjadi error melakukan fallback ke Claude Code SDK untuk menyelesaikan masalah pengguna
- Contoh: alat internal "v0-at-home" yang memungkinkan tim desain melakukan vibe-code frontend mockup dengan framework UI internal perusahaan (menjamin fidelitas ide yang tinggi dan bisa digunakan lebih langsung dalam kode frontend production)
- Prototyping agen cepat: kasus penggunaan paling umum, tidak terbatas untuk coding
- Saat ada ide pekerjaan agen (misalnya "agen investigasi ancaman" yang memakai CLI kustom atau MCP)
- Bangun dan uji prototipe dengan cepat memakai Claude Code SDK sebelum commit scaffolding deployment penuh
- Scripting paralel berskala besar: saat refactoring besar-besaran, perbaikan bug, atau migrasi, tanpa memakai chat interaktif
Claude Code GitHub Action (GHA)
- Salah satu fitur favorit dan paling diremehkan: konsepnya sederhana (menjalankan Claude Code di GHA), tetapi justru kesederhanaan ini yang menjadi sumber kekuatannya
- Mirip dengan background agent Cursor atau UI web terkelola Codex, tetapi jauh lebih bisa dikustomisasi
- Kontrol penuh atas container dan environment → akses data lebih baik
- Kontrol sandboxing dan audit yang jauh lebih kuat dibanding produk lain
- Mendukung semua fitur lanjutan seperti Hook dan MCP
-
Kasus penggunaan
- Membangun alat "PR dari mana saja" kustom
- Bisa memicu PR dari Slack, Jira, bahkan notifikasi CloudWatch
- GHA mengembalikan PR yang sudah diuji sepenuhnya setelah memperbaiki bug atau menambahkan fitur
- Flywheel berbasis data
- Log GHA = log agen lengkap
- Tinjau log secara rutin di tingkat perusahaan: temukan kesalahan umum, error bash, dan praktik engineering yang belum selaras
- Flywheel: bug → perbaikan CLAUDE.md/CLI → agen yang lebih baik
$ query-claude-gha-logs --since 5d | claude -p "see what the other claudes were getting stuck on and fix it, then put up a PR"
- Membangun alat "PR dari mana saja" kustom
settings.json
- Konfigurasi tertentu yang penting untuk pekerjaan hobi maupun kerja
HTTPS_PROXY/HTTP_PROXY: untuk debugging- Periksa traffic mentah untuk melihat prompt persis yang dikirim Claude
- Untuk background agent, ini alat yang kuat untuk sandboxing jaringan yang rinci
MCP_TOOL_TIMEOUT/BASH_MAX_TIMEOUT_MS: naikkan nilainya- Lebih suka menjalankan perintah yang panjang dan kompleks, dan timeout default sering terlalu konservatif
- Tidak yakin apakah masih diperlukan setelah tugas background bash, tetapi tetap dipertahankan untuk berjaga-jaga
ANTHROPIC_API_KEY: di tempat kerja gunakan enterprise API key (apiKeyHelper)- Beralih dari lisensi "per kursi" ke harga "berbasis penggunaan" (model yang jauh lebih baik untuk cara kerja ini)
- Mengingat perbedaan penggunaan developer yang sangat besar (terlihat perbedaan 1:100 antar engineer)
- Engineer dapat bereksperimen dengan skrip LLM non-Claude-Code memakai satu akun enterprise yang sama
"permissions": audit mandiri secara berkala daftar perintah yang diizinkan Claude untuk dijalankan otomatis
Penutup
- Isinya memang banyak, tetapi semoga berguna
- Jika belum memakai agen berbasis CLI seperti Claude Code atau Codex CLI, Anda sebaiknya mulai menggunakannya
- Hampir tidak ada panduan bagus untuk fitur-fitur lanjutan ini, dan satu-satunya cara belajar adalah langsung terjun mencobanya
2 komentar
Komentar Hacker News
Kami menyinkronkan file dengan AGENTS.md demi kompatibilitas dengan AI IDE lain
Setelah ditelusuri belakangan ini, cara yang direkomendasikan Anthropic adalah menaruh satu baris
@AGENTS.mdsaja di fileCLAUDE.md, lalu isi sebenarnya diletakkan di AGENTS.mdDokumen terkait: Claude Code Best Practices
Saya sangat menyukai tulisan ini tentang MCP
Saya suka sudut pandang bahwa “MCP seharusnya menjadi gateway yang ringkas yang mengelola autentikasi, jaringan, dan batas keamanan, bukan API yang rumit, lalu menyingkir dari jalur”
Tulisan terkait
Meski begitu, saya hampir tidak pernah memakai MCP. Saya berharap fokusnya lebih ke sisi autentikasi (auth)
Tautan referensi: postingan X
Agak disayangkan bahwa tulisan 3000 kata dianggap “terlalu panjang jadi hanya dipakai sebagai referensi”
Saya ingin melihat versi yang lebih panjang dengan contoh nyata
Saya memakai rutinitas restart sederhana dengan
/cleardan/catchupuntuk mereset status Claude dan membuatnya membaca ulang file yang berubahMungkin sebentar lagi peran ini akan diambil alih oleh perintah
/compact/compact, perintah itu nyaris tidak bisa dipakaiMeski tertulis “0% context remaining”, sebenarnya sekitar 30% masih dicadangkan untuk kompresi
Bahkan begitu pun, sekitar setengah percobaan kompresi gagal atau terkena batas API
Menggunakan Claude Code untuk memperbaiki pengaturannya sendiri juga bagus
Coba pindah ke mode plan dan gunakan prompt berikut:
“Baca dokumen ini(How I use every Claude Code feature) dan beri tahu cara meningkatkan pengaturan Claude Code saya”
Claude sering tidak mengikuti bahkan perintah sederhana di CLAUDE.md, jadi saya menyerah merawatnya
Misalnya, walau sudah diminta menamai skrip yang dihasilkan sebagai
<foo>.aigen.ts, sekitar separuh waktu instruksi itu diabaikanJadi saya menyiasatinya dengan memasukkan konteks langsung ke prompt setiap kali
Apa cuma saya yang mengalami masalah ini?
Saya mendapat hasil serupa di beberapa proyek juga
Ada yang bilang, “kalau belum memakai agen berbasis CLI, seharusnya mulai pakai”, dan saya penasaran apakah itu benar-benar lebih baik daripada aplikasi Cursor
Cursor enak karena mudah memilih bagian kode tertentu lalu menekan Cmd-L dan berkata “tolong perbaiki bagian ini”
Mengirim potongan kode lewat CLI tampak agak merepotkan
Baik UX yang ringan maupun efisiensinya lebih bagus. Claude bekerja paling baik di CC
gh, dll.)Melihat kalimat “Claude Code bukan sekadar CLI, melainkan SDK untuk membuat agen baru”, saya merasa lelah karena terdengar seperti gaya tulisan buatan AI
Rasanya seperti tidak menghormati pembaca
Tulisan kali ini menurut saya contoh yang bagus karena terlihat ada jejak bahwa penulis benar-benar membacanya dan mengeditnya sendiri
Sebaliknya, hasil AI yang langsung disalin-tempel memang pantas dikritik
Saya justru merasa dihormati dan membacanya sampai selesai
Alat-alat seperti ini memang menarik, tetapi saya khawatir industri sekali lagi terlalu fokus pada teknologinya sendiri, bukan pelanggan
(Saya teringat esai Paul Graham, “Top idea in your mind”)
Kalau produk dibuat cepat dan murah tetapi penuh bug, tidak ada artinya
Hal yang sama juga berlaku untuk AI: para CEO melihatnya hanya sebagai alat pengurangan tenaga kerja, padahal teknologinya belum berada di level yang bisa memberi manfaat nyata bagi pelanggan
Chatbot AI hanya membuat pelanggan semakin kesal
Kecepatan perkembangan Claude Code luar biasa cepat
Saking terus membaiknya, rasanya setiap minggu ada hal baru yang harus dipelajari
Jika fiturnya terus bertambah tanpa membuat M4 Mac saya (RAM 64GB) melambat, barulah itu benar-benar sihir
Bagus sih ..