Kursus
Setiap tugas Claude Code yang berulang memiliki biaya yang sama. Bayangkan ulasan PR malam hari, audit dependensi mingguan, atau pemeriksaan dokumentasi sebelum rilis. Masing-masing mengharuskan Anda berada di terminal dengan sesi terbuka, mengawasinya saat berjalan. Tutup laptop, dan pekerjaan menunggu Anda.
Rutinitas menghilangkan biaya tersebut.
Rutinitas menjalankan Claude Code di cloud pada infrastruktur yang dikelola Anthropic, sehingga tetap bekerja saat laptop Anda tertutup. Anda menulis tugas sekali, mengarahkannya ke repositori Anda, dan rutinitas akan aktif berdasarkan jadwal atau event tanpa sesi terbuka.
Tutorial ini memandu Anda membangun yang pertama. Anda akan membuat rutinitas terjadwal, menyaksikannya berjalan, lalu memperluas cakupan dan kemampuannya.
Jika Anda ingin mendalami, kursus praktis Claude Code in Action kami membahas semuanya mulai dari manajemen konteks dan plan mode hingga perintah kustom, server MCP, hooks, dan SDK.
Apa Itu Rutinitas Claude Code?
Rutinitas adalah konfigurasi Claude Code yang disimpan: sebuah prompt, satu atau lebih repositori, dan sekumpulan konektor. Anda mengemasnya sekali, dan ia berjalan otomatis di infrastruktur cloud yang dikelola Anthropic.
Ketiga bagiannya masing-masing menjalankan peran spesifik:
- Prompt. Bagian terpenting karena rutinitas berjalan tanpa persetujuan Anda di setiap langkah. Prompt harus memuat keseluruhan tugas dan definisi selesai.
- Repositori. Claude mengkloning ini di awal setiap run dan bekerja di dalamnya.
- Konektor. Integrasi claude.ai di akun Anda, seperti Slack atau Linear, yang dapat dibaca dan ditulis oleh rutinitas selama berjalan. Misalnya, rutinitas untuk triase dukungan bisa membaca kanal Slack dan membuat isu di Linear.
Konektor untuk rutinitas ditambahkan di platform claude.ai, begitu pula server MCP. Konfigurasi lokal Anda tidak terbawa.

Sebuah rutinitas dapat dipicu dengan tiga cara: berdasarkan jadwal, melalui panggilan API, atau melalui event GitHub. Satu rutinitas dapat menggabungkan ketiganya.
Rutinitas versus /loop
Ada perbedaan antara /loop dan /schedule karena keduanya menyelesaikan masalah yang berbeda.
Tugas /loop berada di dalam sesi Anda saat ini. Ia hanya aktif ketika Claude Code berjalan dan idle di mesin Anda, dan menutup terminal akan menghentikannya. Itu membuatnya cocok untuk memantau build yang sedang Anda perhatikan saat ini.
Untuk informasi lebih lanjut tentang /loop dan perintah penting lainnya, saya sarankan membaca tutorial Claude Code Terminal kami.
Rutinitas berjalan di cloud dan tetap bertahan secara independen dari sesi apa pun:
|
|
Rutinitas cloud |
|
|
Berjalan di |
Cloud Anthropic |
Mesin Anda |
|
Butuh mesin |
Tidak |
Ya |
|
Butuh sesi |
Tidak |
Ya |
|
Interval minimum |
1 jam |
1 menit |
Ada juga opsi ketiga, lokal. Tugas terjadwal Desktop berjalan di komputer Anda sendiri, untuk pekerjaan yang membutuhkan file dan alat lokal Anda. Tugas ini hanya berjalan saat mesin menyala, tetapi tidak memerlukan aplikasi Claude terbuka.
Rutinitas yang Akan Kita Bangun
Model mentalnya sudah siap. Sekarang Anda butuh sesuatu untuk dikerjakan rutinitas. Untuk tutorial ini, kami membangun pr-review-demo, sebuah proyek Python kecil dengan satu pull request terbuka.
Di dalamnya ada paket cartlib yang menangani keranjang belanja: menyimpan harga sebagai sen bilangan bulat, menerapkan diskon member dan grosir, serta menambahkan pajak penjualan negara bagian untuk mendapatkan total akhir. Paket di branch utama sudah benar.
Pull request yang terbuka menambahkan kupon gratis ongkir, dan mengandung bug nyata yang kami tanam dengan sengaja. Ini adalah ketidakcocokan satuan lintas file, tidak terlihat pada file tunggal mana pun dan hanya terlihat saat Anda menelusuri nilainya di dua file. Itu memberi rutinitas pekerjaan nyata untuk sisa tutorial.
Fork repo tersebut untuk mengikuti di salinan Anda sendiri. Ini adalah repo sekali pakai, dan polanya bisa diterapkan ke repositori mana pun yang Anda arahkan ke rutinitas.
Prasyarat untuk mengikuti
Anda memerlukan akun claude.ai pada paket Pro, Max, Team, atau Enterprise dengan Claude Code di web diaktifkan. Rutinitas berada di claude.ai/code/routines.
Perintah /schedule melakukan autentikasi dengan login langganan claude.ai Anda, bukan kunci API Anthropic atau otentikasi Bedrock, Vertex, atau Foundry. Perintah ini juga memerlukan CLI terbaru, jadi jalankan claude update jika milik Anda sudah lama.
Ada dua prasyarat GitHub terpisah juga. Pertama, /web-setup memberikan akses clone, yang dibutuhkan rutinitas terjadwal. Kedua, Aplikasi GitHub Claude, yang dipasang secara terpisah, mengaktifkan pemicu GitHub yang dibahas nanti.
Membangun Rutinitas Claude Code dengan /schedule
Dengan repo sebagai sasaran, bangun rutinitas dari CLI. Jalankan /schedule di sesi mana pun. Anda bisa langsung menyertakan deskripsi:
/schedule daily PR review at 9 am
Claude lalu menanyakan bidang yang sama dengan formulir web: nama, prompt, repositori, environment, konektor, dan jadwal. Claude mengonfirmasi jadwal di zona lokal Anda dan mengonversikannya untuk Anda, jadi pukul 9 pagi menjadi ekspresi cron yang tepat tanpa perlu Anda menulisnya.

Jika akun Anda belum memiliki koneksi GitHub, Claude akan meminta Anda menjalankan /web-setup. Jalankan, lalu jalankan /schedule lagi untuk melanjutkan dari posisi terakhir.
Menulis prompt yang berjalan tanpa Anda
Prompt menentukan apakah rutinitas ini berhasil atau gagal.
Sesi normal adalah percakapan, jadi Anda bisa mengoreksi Claude saat berjalan. Rutinitas tidak punya siapa pun untuk mengoreksinya. Ia mulai dari nol, berjalan sampai akhir, dan tidak bisa mengajukan pertanyaan klarifikasi. Prompt harus menyebutkan tugas, repositori, dan seperti apa bentuk run yang selesai.
Bandingkan dua ini. Yang pertama terlalu banyak menyisakan hal yang tak terucap:
Review the open PR.
Prompt itu tidak menyebut repo atau kriteria ulasan, tidak ada tempat untuk meninggalkan komentar, dan tidak memiliki definisi selesai. Run yang dingin tidak bisa mengisi celah tersebut. Prompt kedua menjawab semuanya:
Review the open pull request in pr-review-demo. The cartlib package works entirely in integer cents. Read the checkout flow and the values it pulls from config.py, and check that every amount stays in cents end to end. If any value is mixed in using the wrong unit, leave an inline comment on that line explaining the error and its effect on the customer's total. Then, post a summary comment stating whether the PR is safe to merge.
Prompt itu menyebut repo dan menyatakan invarian yang harus dipegang kode: setiap nilai dalam satuan sen. Ia menunjuk ke dua file yang relevan dan mendefinisikan selesai sebagai komentar inline plus vonis untuk merge. Itu memberi run target yang bisa dicapai sendiri. Tempelkan saat /schedule menanyakan apa yang harus dilakukan agen.
Semua konektor Anda disertakan secara default, jadi rutinitas baru sudah bisa menjangkau semua yang terhubung ke akun Anda. Itu baik untuk saat ini, dan bagian selanjutnya akan memangkasnya.
Saat Anda menyelesaikan alurnya, Claude menyimpan rutinitas dan mengonfirmasi bahwa rutinitas aktif, dengan repositori, jadwal, model, dan waktu run berikutnya.

Rutinitas itu juga muncul dalam daftar di claude.ai/code/routines. Buka halaman detailnya untuk melihat semuanya di satu tempat. Termasuk status, repositori, jadwal, konektor, prompt lengkap, dan tombol Jalankan sekarang.

Klik Jalankan sekarang untuk menjalankannya segera, alih-alih menunggu hingga pukul 9 pagi.
Membaca hasil run
Run dimulai dari clone baru repositori Anda, diambil dari branch default. Apa pun yang Anda commit ada di sana. Apa pun yang Anda atur hanya di mesin Anda tidak ada, sehingga rutinitas melihat repo seperti halnya rekan tim Anda.
Setelah selesai, daftar run menampilkan status hijau. Hijau berarti sesi berjalan dan keluar tanpa kesalahan infrastruktur. Namun ini tidak berarti tugas dalam prompt Anda berhasil. Tiga jenis kegagalan tersembunyi di balik centang hijau dan hanya terlihat di transkrip:
- Permintaan jaringan yang diblokir environment.
- Alat konektor yang diharapkan rutinitas, tetapi tidak dapat dijangkau.
- Kegagalan tingkat tugas, di mana run selesai dengan baik tetapi melakukan hal yang salah.

Jadi buka run-nya untuk mengonfirmasi. Klik run mana saja untuk membacanya sebagai sesi penuh, di mana Anda dapat melihat apa yang dilakukan Claude, meninjau diff, membuka pull request, atau melanjutkan percakapan.
Pada repo demo, transkrip menunjukkan temuan tersebut. Claude membaca checkout.py dan menemukan bahwa kupon diisi 5 alih-alih 500. Claude menjelaskan bahwa ini menerapkan $5 sebagai 5 sen, sehingga membebani pelanggan berlebih $4,95 per pesanan, dan memberikan perbaikan satu baris. Lalu memposting ulasan pada PR melalui konektor GitHub.

Mengelola rutinitas Claude Code dari CLI
Setelah rutinitas ada, Anda mengelolanya dari perintah yang sama. Jalankan /schedule list untuk melihat semuanya, /schedule update untuk mengubah satu rutinitas, dan /schedule run untuk memicunya segera.
Preset jadwalnya adalah per jam, harian, hari kerja, dan mingguan. Untuk interval kustom, seperti setiap 2 jam atau tanggal 1 tiap bulan, pilih dulu preset terdekat. Lalu jalankan /schedule update untuk menetapkan ekspresi cron secara langsung. Interval minimum adalah 1 jam, dan apa pun yang lebih cepat akan ditolak.
Rutinitas juga dihitung terhadap jatah run harian akun Anda, dan selama pratinjau riset, event GitHub memiliki batas per jam. Event yang melewati batas akan diabaikan, tidak diantrikan. Angka saat ini bervariasi menurut paket dan terlihat di claude.ai/code/routines.
CLI hanya membuat rutinitas terjadwal. Untuk menambahkan pemicu GitHub atau API, edit rutinitas di aplikasi web.
Memicu Rutinitas Claude Code dari GitHub dan HTTP
Jadwal memicu rutinitas Anda berdasarkan waktu. Dua pemicu lain memungkinkan GitHub atau sistem Anda sendiri memicu rutinitas yang sama. Rutinitas ulasan PR bisa berjalan setiap malam, bereaksi pada setiap PR baru, dan dimulai dari skrip deploy, sekaligus.
Anda menambahkan keduanya dengan mengedit rutinitas di claude.ai/code/routines.
Bereaksi terhadap pull request dengan pemicu GitHub
Pemicu GitHub memerlukan Aplikasi GitHub Claude terpasang pada repositori yang ingin Anda langgani. Jika Aplikasi belum ada, penyiapan pemicu akan meminta Anda untuk memasangnya. Perhatikan bahwa /web-setup sebelumnya hanya memberikan akses clone. Itu tidak memasang Aplikasi atau mengirimkan webhook, jadi menjalankannya tidak mencakup langkah ini.
Setelah Aplikasi terpasang, tambahkan pemicu dan pilih event. Event terbagi menjadi dua kategori, pull request dan rilis, dan Anda memilih aksi spesifik di dalamnya. UI menampilkan yang umum sebagai preset, seperti PR dibuka, PR di-merge, dan Rilis dipublikasikan, plus opsi Kustom untuk sisanya.
Lalu persempit dengan filter. Untuk pull request, Anda bisa memfilter berdasarkan penulis, judul, isi, base branch, head branch, label, is-draft, dan is-merged. Semua kondisi harus cocok agar rutinitas dipicu.
Operator matches regex menguji seluruh bidang, bukan substring. Untuk mencocokkan judul apa pun yang mengandung hotfix, tulis .*hotfix.*. hotfix polos hanya cocok untuk judul yang persis itu, dan tidak yang lain.

Pemicu GitHub diatur untuk aktif pada pull request baru, difilter ke branch main, dan penulis tertentu.
Untuk repo demo, setel event ke pembukaan pull request dan biarkan filternya terbuka. Kini setiap PR baru memicu ulasan yang Anda tulis sebelumnya, tanpa ada yang berada di terminal. Rutinitas menelusuri satuan kupon di seluruh file, meninggalkan komentar inline pada bug, dan memposting vonis merge.
Setiap event yang cocok memulai sesi sendiri, jadi dua PR berturut-turut menghasilkan dua run independen.
Memicu rutinitas melalui HTTP
Pemicu API memungkinkan alat Anda sendiri memicu rutinitas. Pilih API di bawah pemilih pemicu dan klik Generate token. Token hanya ditampilkan sekali dan tidak dapat diambil kembali, jadi simpan segera di secret store alat peringatan Anda.
Lalu lakukan POST ke endpoint fire rutinitas dengan token dan isi text:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
Nilai text diteruskan sebagai string literal dan tidak diurai, jadi tulislah prosa biasa, bukan JSON. Input terstruktur akan tiba sebagai teks mentah, dan rutinitas membacanya apa adanya.
Header anthropic-beta wajib, dan API bersifat eksperimental, jadi periksa referensi API sebelum menghubungkannya ke CI. Dari sana, alat pemantauan dapat memanggil endpoint ini saat ada peringatan dan membuat rutinitas membuka PR perbaikan draf secara mandiri.
Membatasi Akses Rutinitas Claude Code
Rutinitas berjalan sendiri, jadi sebelum mengarahkannya ke repo nyata, batasi apa yang bisa dijangkaunya. Dokumentasi membingkainya sebagai empat kontrol:
- Siapa yang direpresentasikan rutinitas, melalui identitas GitHub Anda dan konektor.
- Branch mana yang dapat didorong (push).
- Konektor mana yang boleh digunakan.
- Host mana yang dapat dijangkau environment melalui jaringan.
Batasi masing-masing sesuai kebutuhan rutinitas.
Identitas rutinitas
Identitas yang pertama karena itulah yang dilihat rekan tim pada repo bersama. Semua yang dilakukan rutinitas melalui identitas GitHub atau konektor Anda akan tampil seolah-olah dari Anda.
Commit dan pull request membawa pengguna GitHub Anda, dan pesan Slack serta tiket Linear menggunakan akun tertaut Anda. Rekan tim melihat nama Anda pada commit dan PR tersebut, jadi beri nama branch dan judul dengan cara yang memberi sinyal bahwa itu dibuat oleh rutinitas.
Branch yang dapat didorong oleh rutinitas
Branch berikutnya. Run adalah sesi cloud penuh tanpa permintaan izin, jadi tidak akan berhenti untuk bertanya sebelum mengedit file atau membuka pull request.
Pembatasnya adalah branch yang dapat ditulis. Secara default, Claude hanya mendorong ke branch dengan awalan claude/, yang menjauhkannya dari branch yang dilindungi atau berumur panjang seperti main.
Pengaturan per-repositori, Izinkan push branch tanpa batasan, menghapus pembatasan itu. Aktifkan secara sadar, hanya untuk repo yang membutuhkannya.
Konektor yang dapat digunakan rutinitas
Konektor adalah yang paling berisiko dari empat kontrol. Semua konektor claude.ai Anda disertakan secara default, dan Claude dapat menggunakan setiap alat dari konektor yang disertakan, termasuk menulis, tanpa bertanya selama run.
Jadi pangkas daftar sesuai kebutuhan rutinitas. Rutinitas ulasan PR membutuhkan GitHub dan sedikit yang lain. Konektor email atau kalender yang terselip adalah akses yang tidak diperlukan rutinitas, dan injeksi prompt yang tersembunyi dalam PR bisa menyalahgunakan akses tersebut.

Akses jaringan
Akses jaringan adalah kontrol terakhir. Environment Default menggunakan akses jaringan tepercaya, yang menjangkau daftar putih bawaan registri paket, API penyedia cloud, registri container, dan domain pengembangan umum, serta memblokir sisanya.
Permintaan yang diblokir akan gagal dengan 403 dan x-deny-reason: host_not_allowed. Perluas hanya ketika rutinitas harus menjangkau layanan Anda sendiri. Jika tidak, kegagalannya senyap, muncul di transkrip alih-alih sebagai error yang jelas.
Ide Rutinitas Claude Code Berikutnya
Anda sudah bisa membangun, memicu, dan membatasi cakupan rutinitas. Contoh berikut dari dokumentasi resmi memasangkan sebuah pekerjaan dengan pemicu yang paling cocok:
- Ulasan kode kustom. Pemicu GitHub saat PR dibuka. Menerapkan daftar periksa ulasan tim Anda, meninggalkan komentar inline untuk keamanan, kinerja, dan gaya, serta menambah ringkasan. Ini adalah demo yang digeneralisasi ke standar nyata Anda.
- Perawatan backlog. Pemicu jadwal, setiap malam hari kerja. Membaca isu yang dibuka sejak run terakhir, menerapkan label, menetapkan penanggung jawab berdasarkan area kode yang dirujuk setiap isu, dan memposting ringkasan ke Slack.
- Verifikasi deploy. Pemicu API dari pipeline CD Anda setelah setiap deploy produksi. Menjalankan smoke check terhadap build baru, memindai log error untuk regresi, dan memposting keputusan lanjut atau batal ke kanal rilis.
- Perubahan di dokumentasi. Pemicu jadwal, mingguan. Memindai PR yang di-merge sejak run terakhir, menandai dokumen yang merujuk API yang berubah, dan membuka PR pembaruan terhadap repositori dokumentasi.
Rutinitas cocok untuk pekerjaan yang tanpa pengawasan, berulang, dan memiliki hasil yang jelas. Jika Anda dapat menuliskan kriteria sukses ke dalam prompt, seperti pada ulasan PR, tugas tersebut adalah kandidat. Pekerjaan yang memerlukan penilaian manusia secara real-time bukan.
Kesimpulan
Rutinitas mengubah cara Anda menghabiskan waktu untuk pekerjaan berulang. Alih-alih menjalankan tiap tugas di terminal, Anda menulisnya sekali dan meninjau yang sudah berjalan. Ulasan PR yang Anda buat berjalan saat laptop Anda tertutup, dan Anda membaca vonisnya ketika siap.
Untuk melangkah lebih jauh dengan Claude Code, tutorial berikut selaras baik dengan yang ini:
- Praktik terbaik Claude Code untuk mendapatkan lebih banyak dari setiap sesi.
- Menulis berkas CLAUDE.md untuk memberi rutinitas dan sesi Anda konteks bersama.
- Pengembangan berbasis spesifikasi untuk tugas yang layak ditentukan sebelum Anda otomatisasi.
- Mode otomatis dan channel untuk menjalankan Claude Code dengan pengawasan yang lebih sedikit.
FAQ Rutinitas Claude Code
Apa itu rutinitas Claude Code?
Rutinitas adalah konfigurasi Claude Code yang disimpan: sebuah prompt, satu atau lebih repositori, dan sekumpulan konektor. Anda mengemasnya sekali, dan rutinitas berjalan otomatis di infrastruktur cloud yang dikelola Anthropic, dipicu berdasarkan jadwal, oleh panggilan API, atau oleh event GitHub.
Apa bedanya rutinitas dengan /loop?
Tugas /loop memiliki cakupan sesi. Ia hanya berjalan ketika Claude Code terbuka dan idle di mesin Anda, dan menutup terminal akan menghentikannya. Rutinitas berjalan di cloud dan bertahan secara independen dari sesi apa pun, sehingga tetap bekerja meski laptop Anda ditutup. Interval minimum adalah 1 jam untuk rutinitas dan 1 menit untuk /loop.
Bagaimana cara membuat rutinitas?
Jalankan perintah /schedule di sesi Claude Code mana pun, misalnya, /schedule daily PR review at 9 am. Claude akan menanyakan bidang yang sama dengan formulir web (nama, prompt, repositori, environment, konektor, dan jadwal), lalu menyimpan rutinitas ke akun Anda, yang akan muncul di claude.ai/code/routines.
Apakah rutinitas bisa berjalan saat laptop saya ditutup?
Ya. Rutinitas dieksekusi di infrastruktur cloud yang dikelola Anthropic, bukan di mesin Anda, sehingga run terjadwal atau terpicu akan tetap selesai meski laptop Anda ditutup. Anda bisa mengikuti run dari web atau memeriksa transkripnya setelahnya.
Bagaimana cara mengontrol apa yang bisa diakses rutinitas?
Batasi rutinitas melalui empat kontrol: identitas yang diwakilinya, branch yang dapat didorong, konektor yang dapat digunakan, dan host jaringan yang dapat dijangkau. Secara default, Claude hanya mendorong ke branch berawalan claude/, dan semua konektor Anda disertakan, jadi pangkas daftar konektor dan perluas akses jaringan hanya saat benar-benar dibutuhkan rutinitas.
Saya adalah pembuat konten ilmu data dengan pengalaman lebih dari 2 tahun dan salah satu dengan jumlah pengikut terbesar di Medium. Saya suka menulis artikel mendetail tentang AI dan ML dengan sedikit gaya sarkastik karena harus ada sesuatu untuk membuatnya sedikit kurang membosankan. Saya telah menghasilkan lebih dari 130 artikel dan satu kursus DataCamp, dengan satu lagi sedang dalam proses. Konten saya telah dilihat oleh lebih dari 5 juta pasang mata, dengan 20 ribu di antaranya menjadi pengikut di Medium dan LinkedIn.

