Cron & Routines — Agent Terjadwal
Agent terjadwal mengubah pekerjaan rutin yang selalu kamu tunda menjadi sesuatu yang "sudah selesai saat kamu bangun". Tiga use case yang terbukti paling berguna untuk solo engineer:
- Triage harian — tiap pagi agent membaca issue/bug report baru, memberi label, menilai severity, dan menulis ringkasan ke chat.
- Dependency update mingguan — agent menaikkan dependencies, menjalankan test, dan membuka PR hanya kalau semuanya hijau.
- Laporan progres — tiap sore agent merangkum commit, PR, dan status deploy hari itu ke Telegram/Slack.
Dua cara menjalankan
Opsi A — Cloud routines (tanpa server)
Sejak April 2026, Claude Code punya Routines: sesi agent yang berjalan di cloud Anthropic dengan trigger jadwal (cron expression, minimal interval 1 jam), webhook, atau GitHub event — dibuat lewat /schedule di CLI atau claude.ai/code/routines. Tersedia di paket berbayar sebagai research preview. (panduan)
Routine tidak bisa bertanya balik. Prompt-nya harus memuat: konteks, definisi selesai, dan apa yang dilakukan kalau gagal.
Setiap hari kerja jam 07:00 WIB:
1. Baca semua GitHub issue baru berlabel "bug" di repo <NAMA_REPO> sejak run terakhir.
2. Untuk tiap issue: reproduksi bila memungkinkan, beri label severity (S1-S4),
dan tulis komentar berisi dugaan root cause + file yang relevan.
3. Kirim ringkasan (jumlah issue, daftar S1/S2) ke Slack channel #triage.
4. JANGAN mengedit kode. Kalau ada error, laporkan di ringkasan — jangan retry lebih dari 2x.
Checkpoint: prompt-mu menjawab tiga pertanyaan: apa triggernya, apa definisi selesainya, apa batasnya.
- Claude Code
- opencode
- oh-my-pi
claude
# lalu di dalam sesi:
/schedule
# ikuti wizard: pilih repo, tempel prompt, set cron "0 0 * * 1-5" (07:00 WIB = 00:00 UTC)
opencode belum punya scheduler cloud bawaan — pakai Opsi B (cron di server sendiri) di bawah, atau GitHub Actions schedule (lihat Agent di CI/CD).
oh-my-pi juga tanpa scheduler bawaan — pakai Opsi B atau GitHub Actions schedule.
Checkpoint: routine muncul di daftar dan bisa kamu trigger manual sekali ("run now") untuk uji coba.
Jalankan manual, baca hasilnya penuh, dan perbaiki prompt sampai output-nya persis seperti yang kamu mau tanpa intervensi.
Checkpoint: dua run manual berturut-turut menghasilkan output yang benar tanpa kamu mengoreksi apa pun.
Opsi B — Cron di server sendiri
Semua agent CLI modern punya mode non-interaktif, jadi crontab biasa sudah cukup. Cocok kalau kamu sudah punya self-hosted runner.
- Claude Code
- opencode
- oh-my-pi
# crontab -e — dependency update tiap Senin 06:00
0 6 * * 1 cd /srv/repo && claude -p "Update semua dependencies minor/patch, jalankan test, dan buka PR bila hijau. Jangan sentuh major version." --allowedTools "Bash,Edit,Write" >> /var/log/agent-cron.log 2>&1
0 6 * * 1 cd /srv/repo && opencode run "Update semua dependencies minor/patch, jalankan test, dan buka PR bila hijau. Jangan sentuh major version." >> /var/log/agent-cron.log 2>&1
0 6 * * 1 cd /srv/repo && omp -p "Update semua dependencies minor/patch, jalankan test, dan buka PR bila hijau. Jangan sentuh major version." >> /var/log/agent-cron.log 2>&1
(Cek omp --help untuk flag non-interaktif versi terbaru.)
Framework seperti OpenClaw menggabungkan cron + chat: task terjadwal berjalan di server-mu dan hasilnya otomatis masuk ke Telegram/WhatsApp — praktis kalau kamu sudah memakai bridge chat dari Playbook langkah 3 jalur D.
Pola autonomous loop & stop conditions
Bentuk paling agresif dari agent terjadwal adalah loop: agent yang terus mengambil pekerjaan berikutnya dari antrian (issue tracker, TODO file) sampai kondisi berhenti terpenuhi. Aturan mainnya:
- Selalu ada stop condition eksplisit. Minimal tiga lapis: batas iterasi (mis. maksimal 5 task per run), batas biaya/token per run, dan batas waktu (timeout proses).
- Satu iterasi = satu unit kerja yang di-review-able. Loop menghasilkan PR kecil-kecil, bukan satu mega-branch.
- Idempotent. Run yang terpotong di tengah harus aman diulang — mulai dari membaca state (branch/PR yang sudah ada), bukan dari asumsi bersih.
- Dead man's switch. Kalau dua run berturut-turut gagal, loop mematikan dirinya dan mengirim alert — bukan retry selamanya.
:::warning Biaya diam-diam Agent terjadwal adalah sumber tagihan tak terduga nomor satu: run yang stuck bisa membakar token berjam-jam tanpa ada yang menonton. Pasang batas dari hari pertama — lihat Kontrol Biaya. :::
Lanjut ke
- Event repo (PR/issue) lebih cocok ditangani di CI/CD daripada jadwal.
- Loop yang butuh hidup 24/7 di mesin sendiri → Self-Hosted Runner.