/. Perintah-perintah ini dapat dikirim melalui SDK untuk melakukan tindakan seperti memadatkan konteks, mencantumkan penggunaan konteks, atau memanggil perintah khusus. Hanya perintah yang bekerja tanpa terminal interaktif yang dapat dikirim melalui SDK; pesan system/init mencantumkan yang tersedia di sesi Anda.
Menemukan Slash Commands yang Tersedia
Claude Agent SDK menyediakan informasi tentang slash commands yang tersedia dalam pesan inisialisasi sistem. Akses informasi ini ketika sesi Anda dimulai:Mengirim Slash Commands
Kirim slash commands dengan memasukkannya dalam string prompt Anda, seperti teks biasa. Perintah yang bertindak pada riwayat percakapan, seperti/compact, memerlukan pesan sebelumnya untuk bekerja, jadi contoh di bawah ini mengajukan pertanyaan terlebih dahulu dan kemudian mengirim perintah sebagai tindak lanjut ke percakapan yang sama:
Kueri dapat berakhir dengan hasil kesalahan, misalnya ketika batas
maxTurns / max_turns tercapai sebelum pekerjaan selesai. Pesan hasil akhir kemudian memiliki is_error: true dan subtipe kesalahan seperti error_max_turns alih-alih success.Setelah menghasilkan pesan hasil akhir tersebut, SDK melempar kesalahan, karena proses CLI keluar dengan kode non-nol.Bungkus loop dalam try/catch di TypeScript atau try/except di Python jika perintah Anda mungkin mencapai batas, seperti yang ditunjukkan dalam Single Message Input, atau atur maxTurns cukup tinggi agar pekerjaan dapat selesai. Di Python, tangkap Exception: SDK menampilkan hasil kesalahan sebagai Exception biasa.Slash Commands Umum
/compact - Memadatkan Riwayat Percakapan
Perintah /compact mengurangi ukuran riwayat percakapan Anda dengan merangkum pesan yang lebih lama sambil mempertahankan konteks penting. Pemadatan memerlukan percakapan yang sudah ada dengan setidaknya dua pertukaran sebelumnya untuk dirangkum. Contoh ini memiliki percakapan terlebih dahulu, kemudian memadatkannya dan membaca pesan sistem compact_boundary yang melaporkan hasilnya:
Pesan
compact_boundary hanya tiba ketika pemadatan berjalan. Tanpa ada yang dirangkum, /compact melaporkan alasannya sebagai gantinya dari menaikkan: jalannya masih berakhir dengan hasil success, tidak ada pesan compact_boundary yang dipancarkan, dan teks hasil membawa pesan, misalnya Tidak cukup pesan untuk dipadatkan. setelah satu pertukaran pendek. Panggilan query() sekali jalan yang segar dimulai dengan konteks kosong, jadi gunakan pola ini dalam sesi dengan putaran sebelumnya, misalnya dalam mode input streaming atau ketika melanjutkan sesi./clear - Atur Ulang Konteks Percakapan
Perintah /clear mengatur ulang percakapan ke konteks kosong, sehingga prompt berikutnya dimulai tanpa riwayat percakapan sebelumnya. Percakapan sebelumnya tetap tersimpan di disk dan dapat dikembalikan dengan melewatkan ID sesinya ke opsi resume.
Ini berguna dalam mode input streaming, di mana Anda mengirim beberapa prompt melalui satu koneksi. Untuk panggilan query() sekali jalan, setiap panggilan sudah dimulai dengan konteks kosong, jadi mengirim /clear tidak memiliki efek praktis; mulai query() baru sebagai gantinya.
/clear di SDK memerlukan Claude Code v2.1.117 atau lebih baru. Dalam versi sebelumnya, ini dihilangkan dari slash_commands.Membuat Slash Commands Khusus
Selain menggunakan slash commands bawaan, Anda dapat membuat perintah khusus Anda sendiri yang tersedia melalui SDK. Perintah khusus didefinisikan sebagai file markdown di direktori tertentu, mirip dengan cara subagents dikonfigurasi.Direktori
.claude/commands/ adalah format warisan. Format yang direkomendasikan adalah .claude/skills/<name>/SKILL.md, yang mendukung invokasi slash-command yang sama (/name) ditambah invokasi otonom oleh Claude. Lihat Skills untuk format saat ini. CLI terus mendukung kedua format, dan contoh di bawah tetap akurat untuk .claude/commands/.Lokasi File
Slash commands khusus disimpan di direktori yang ditentukan berdasarkan cakupan mereka:- Perintah proyek:
.claude/commands/- Tersedia hanya di proyek saat ini (warisan; lebih suka.claude/skills/) - Perintah pribadi:
~/.claude/commands/- Tersedia di semua proyek Anda (warisan; lebih suka~/.claude/skills/)
Format File
Setiap perintah khusus adalah file markdown di mana:- Nama file (tanpa ekstensi
.md) menjadi nama perintah - Konten file mendefinisikan apa yang dilakukan perintah
- Frontmatter YAML opsional menyediakan konfigurasi
Contoh Dasar
Buat direktori.claude/commands di proyek Anda jika belum ada, kemudian buat .claude/commands/refactor.md:
/refactor yang dapat Anda gunakan melalui SDK.
Dengan Frontmatter
Buat.claude/commands/security-check.md:
Menggunakan Custom Commands di SDK
Setelah didefinisikan di sistem file, perintah khusus secara otomatis tersedia melalui SDK:Fitur Lanjutan
Argumen dan Placeholder
Perintah khusus mendukung argumen dinamis menggunakan placeholder: Buat.claude/commands/fix-issue.md:
Eksekusi Perintah Bash
Perintah khusus dapat mengeksekusi perintah bash dan menyertakan output mereka: Buat.claude/commands/git-commit.md:
Referensi File
Sertakan konten file menggunakan awalan@:
Buat .claude/commands/review-config.md:
Organisasi dengan Namespacing
Organisir perintah dalam subdirektori untuk struktur yang lebih baik:Contoh Praktis
Perintah Pull Request Review
Buat.claude/commands/review-pr.md:
Claude Code mencakup skills
code-review dan verify yang disertakan. Jika Anda memberi nama perintah khusus setelah salah satunya, misalnya .claude/commands/code-review.md, perintah Anda menimpa skill yang disertakan dan slash_commands mencantumkan nama sekali.Perintah Test Runner
Buat.claude/commands/test.md:
Lihat Juga
- Slash Commands - Dokumentasi slash command lengkap
- Subagents dalam SDK - Konfigurasi berbasis sistem file serupa untuk subagents
- Referensi TypeScript SDK - Dokumentasi API lengkap
- Gambaran umum SDK - Konsep SDK umum
- Referensi CLI - Antarmuka baris perintah