日頃からお世話になっている社内のUさん(@haru-qiita)と一緒に業務をしていて教えていただいた最強Claude活用術です!
はじめに
Claude Codeのクラウドルーティン(定期実行エージェント)で、平日の7時・12時・17時に「挨拶を返すだけ」の超軽量なジョブを走らせています。目的はタスク処理ではなく、5時間ごとにリセットされる使用枠の開始位置を、業務時間に揃えることです。
対象読者は、Claude CodeをPro/Maxプランで日常的に使っていて、使用量の上限にたまに当たる人です。
問題: 5時間枠がローリングだと、切れ目が業務時間とずれる
Pro/Maxプランの使用量は、ローリングの5時間ウィンドウと週次ウィンドウの2段構えで管理されています。5時間枠は固定サイクルではなく、その日の最初のリクエストから回り始めます。
なので朝10時47分に最初のプロンプトを投げると、以降は10:47起点の中途半端な位置で枠が回っていきます。午後の一番集中したい時間帯に枠が切れたり、逆に退勤後に枠が余ったりするのはこのせいです。
解決策: 7時に極小のリクエストを1回投げておく
始業前の7時ちょうどにルーティンから挨拶を1回投げておけば、7時起点で枠が回ります。7時・12時・17時なら5時間刻みで勤務時間帯にきれいに乗るので、この3つの時刻に置きました。
7:00 ──────── 12:00 ──────── 17:00 ──────── 22:00
│ 午前の枠 │ 午後の枠 │ 残業・自習の枠
▼ ▼ ▼
挨拶 挨拶 挨拶
設定は/scheduleで作ります。プロンプトはこれだけです。
こんにちは
(これは私からの挨拶メッセージです。日本語で挨拶を返すだけで終了してください。
ファイルの読み書き、コマンド実行、その他の作業は一切不要です。)
括弧書きの部分が肝で、これがないとClaudeは律儀に「せっかく起動されたのだから何か役に立とう」としてリポジトリを覗きに行きます。やらないことを明示的に書くのがこの手の軽量ジョブでは効きます。モデルは挨拶を返すだけなのでclaude-haiku-4-5-20251001を指定しています。
cronはUTC指定なので、JSTに合わせるとこうなります。7時だけ日付をまたぐので曜日指定がずれる点に注意です。
0 22 * * 0-4 # 7:00 JST(UTC 22:00・前日なので日〜木の指定になる)
0 3 * * 1-5 # 12:00 JST(UTC 03:00・同日)
0 8 * * 1-5 # 17:00 JST(UTC 08:00・同日)
7時のジョブを0 22 * * 1-5と書くと火曜〜土曜の朝に動きます(土曜に挨拶されて気づきました)。
作成したルーティンの詳細画面はこうなります。①がプロンプト、②が実行スケジュール(cronはUTCで登録しますが、画面上はJSTに変換されて表示されます)、③はアカウントに接続済みのコネクタが自動で付いたもので、挨拶には使われません。
効果
枠が7:00-12:00、12:00-17:00、17:00-22:00の3つに揃うので、枠の切れ目が予測できるようになりました。「昼の枠が始まったから重いリファクタリングは今から回す」という判断ができ、5時間刻みで区切られることで長時間セッションを引きずらず/clearする回数も自然に増えました。挨拶が返ってこない日はルーティン基盤かアカウント側の異常なので、死活監視にもなっています。
設定コストはプロンプト数行とcron式3本、消費はHaikuの1往復×3回/日だけです。使用枠の切れ目に振り回されている人は試してみてください。
次回予告
今回は「挨拶するだけ」でしたが、同じクラウドルーティンの仕組みで、毎朝7時にSlack・Gmail・Googleカレンダーを読みに行かせて、その日のタスクと予定を1本のブリーフィングにまとめて届けさせる運用もしています。次はこの「朝のスケジューラー」の作り方(コネクタの紐づけ、プロンプト、ハマったところ)を書く予定です!
