【Claude Code 連載 第27回】ルーティンで作業を自動化する(routines)

スポンサーリンク
【Claude Code 連載 第27回】ルーティンで作業を自動化する(routines) 用語解説
【Claude Code 連載 第27回】ルーティンで作業を自動化する(routines)
この記事は約10分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

スポンサーリンク

背景

この連載では、Claude Codeの公式ドキュメントを1ページずつ読み解いていきます。公式ドキュメントは情報が網羅されている分、「結局どの機能を、どんな場面で使えばいいのか」は自分で考える必要があり、読むのに意外と時間がかかります。そこで、私が実務で使うために読み込んだ内容を「使う場面→実例コード」の順に整理して残していくことにしました。専門家の解説というより、一次情報を読んだ記録です。推測や動作を確認していない部分には、その都度そう書きます。

一言でいうと何か

Claude Code を自動操縦に設定する仕組みです。プロンプト・1つ以上のリポジトリ・一連のコネクタをひとつの「ルーティン」としてまとめて保存し、スケジュール(定期実行)・API(HTTP POST)・GitHub イベント(PR やリリース)のいずれか、または複数のトリガーで自動実行します。Anthropic 管理のクラウドで動くため、ラップトップを閉じても動き続けます。作成・管理は claude.ai/code/routines か、CLI の /schedule で行います(研究プレビュー段階)。

どういう場面で役立つか

無人で繰り返せて、成果がはっきりしている定期作業を任せたいとき。たとえば毎晩のバックログ整理(問題にラベル付けして所有者を割り当て、Slack に概要投稿)、週次のドキュメントドリフト検出、マージ済み PR の要約などをスケジュールで回せます。

監視やデプロイのパイプラインから、イベント発生時に起動したいとき。API トリガーのエンドポイントに POST すれば、アラートトリアージ(スタックトレースを取得して修正案つきドラフト PR を開く)やデプロイ検証(スモークテストして go/no-go を投稿)を自動化できます。

GitHub の出来事に反応させたいとき。pull_request.opened でチーム独自のレビューチェックリストを適用してインラインコメントを残す、pull_request.closed で別言語 SDK へ変更をポートする、といった自動化ができます。

不要・向かないケース:ルーティンはパーミッションモードのピッカーが無く、実行中の承認プロンプトも無い完全自律セッションとして動くため、頻繁な対話や逐次承認が要る作業には向きません。ローカルファイルへのアクセスが必要なら、クラウドではなくマシンで動く「Desktop スケジュール済みタスク(Local)」が適します。また Claude Code on the web が有効である必要があり、組織の管理者が Routines トグルをオフにしていると作成・実行できません。スケジュールの最小間隔は1時間で、これより短い式は拒否されます。

作成とトリガー構成の実例

前提と全体像

利用は Pro・Max・Team・Enterprise プランで、Claude Code on the web が有効であることが条件です(研究プレビュー)。ルーティンは個人の claude.ai アカウントに属し、チームとは共有されず、アカウントの日次実行許容量にカウントされます。ルーティンが GitHub やコネクタを通じて行うこと(コミット・PR・Slack 投稿・Linear チケット等)はすべて「あなた」として表示されます。ルーティンが到達できる範囲は、選んだリポジトリとそのブランチプッシュ設定、環境のネットワークアクセスと変数、含めたコネクタで決まるため、それぞれ実際に必要な範囲に絞るのが原則です。

ルーティンを作成する(Web / CLI)

Web の claude.ai/code/routines、Desktop アプリ、CLI のいずれからでも作成でき、同じクラウドアカウントに書き込むため即座に他サーフェスへ反映されます。Desktop では Routines → New routine → Remote を選びます(Local を選ぶと、マシンで動く Desktop スケジュール済みタスクになります)。作成フォームでは、名前と「毎回実行するプロンプト」(自律実行のため自己完結で、何をするか・成功の姿を明示することが最重要)、モデル、作業対象リポジトリ(実行開始時にクローンされ、デフォルトブランチから開始。変更は claude/ プレフィックスのブランチに作成)、クラウド環境、トリガー、コネクタ、パーミッションを設定します。

CLI では、任意のセッションで /schedule を実行して会話形式でスケジュール済みルーティンを作成できます。説明を直接渡すこともできます。

/schedule daily PR review at 9am

/schedule clean up feature flag in one week のような1回限りの指定もできます。ただし CLI の /schedule が作れるのはスケジュール済みルーティンのみで、API・GitHub トリガーの追加は Web で編集します。既存ルーティンの管理として /schedule list(一覧)・/schedule update(変更)・/schedule run(即時実行)も使えます。

スケジュールトリガー

定期実行はプリセット周波数(時間ごと・毎日・平日・毎週)から選びます。時刻はローカルゾーンで入力され自動変換されるため、クラウドの所在に関係なくその壁時計時間で実行されます(負荷分散のため数分オフセットして開始されることがあり、オフセットは各ルーティンで一貫)。2時間ごとや毎月初などのカスタム間隔は、フォームで最も近いプリセットを選んだうえで /schedule update から cron 式を設定します。

1回限りの実行は、特定時刻に一度だけ動いて自動的に無効化され、Web UI では Ran と表示されます。CLI からは自然言語で時刻を指定でき、Claude が絶対タイムスタンプに解決して確認します。

/schedule tomorrow at 9am, summarize yesterday's merged PRs

/schedule in 2 weeks, open a cleanup PR that removes the feature flag のような指定も可能です。なお1回限りの実行は日次ルーティン実行上限にはカウントされず、通常のサブスクリプション使用量を消費します(CLI からの1回限り指定は段階的ロールアウト中で、未提供なら Web から作成)。

API トリガー

API トリガーはルーティン専用の HTTP エンドポイントを与え、ベアラートークンつきで POST すると新しいセッションが始まり、セッション URL が返ります。Web で既存ルーティンに追加し(CLI ではトークンの作成・取り消しは不可)、生成されたトークンは1回しか表示されないため安全な場所に保存します。Authorization ヘッダーにトークンを載せて /fire エンドポイントへ POST します。本文には実行固有のコンテキストを渡す任意の text フィールドを付けられます(フリーフォーム文字列として、保存済みプロンプトと一緒に渡される。JSON を送ってもリテラル文字列として受け取られる)。

curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \
  -H "Authorization: Bearer sk-ant-oat01-xxxxx" \
  -H "anthropic-beta: experimental-cc-routine-2026-04-01" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'

ルーティン ID とトークンはプレースホルダーで、実際にコピーした値へ置き換えないと 401 で失敗します。成功すると新しいセッション ID と URL を含む JSON が返ります。

{
  "type": "routine_fire",
  "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
  "claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}

この URL をブラウザで開けば実行をリアルタイムに監視できます。/fireexperimental-cc-routine-2026-04-01 ベータヘッダーの下で提供され、形状やレート制限は変わりえます(破壊的変更は新しい日付つきヘッダーの背後で出荷され、直近2つ前までのヘッダーは動作を維持)。完全な API リファレンスは Claude Platform ドキュメントを参照してください。

GitHub トリガー

接続リポジトリで一致イベントが起きるたびに新しいセッションが1つ開始されます(イベント間のセッション再利用は無し)。Web UI からのみ構成し、対象リポジトリに Claude GitHub App のインストールが必要です(/web-setup はクローン用アクセスは付与しますが App は入れず、webhook 配信は有効になりません)。サブスクライブできるのはプルリクエスト系とリリース系のイベントで、カテゴリ内の特定アクション(例 pull_request.opened)か全アクションを選べます。プルリクエストは作成者・タイトル・本文・ベース/ヘッドブランチ・ラベル・ドラフト・マージ済みなどのフィルタで絞れ、各フィルタは「等しい/含む/で始まる/いずれか/いずれでもない/正規表現に一致」の演算子と組み合わせます(matches regex は値全体を対象にするため部分一致には .*hotfix.* のように書く。単なる部分文字列なら contains)。全条件が一致したときにトリガーされます。研究プレビュー中は、GitHub webhook イベントにルーティンごと・アカウントごとの時間単位上限があり、超過分はリセットまでドロップされます。イベント/フィルタの完全な一覧は公式ページを参照してください。

コネクタ・環境・パーミッション

コネクタは claude.ai アカウント上の MCP インテグレーションで、ルーティン作成時に接続済みコネクタが既定で全部含まれます。実行中 Claude は含めたコネクタの全ツール(書き込み含む)を承認なしで使えるため、不要なものは削除します(claude mcp add でローカル追加した MCP はアカウントに保存されず表示されないので、claude.ai のコネクタとして追加するか .mcp.json にコミットします)。環境はネットワークアクセス・環境変数・セットアップスクリプトを制御し、既定の Default 環境は Trusted ネットワークアクセス(既定許可リストのみ到達可、他ホストは 403x-deny-reason: host_not_allowed)です。追加ドメインが要る場合は環境を CustomFull に編集します(MCP コネクタのトラフィックは Anthropic サーバー経由のため、許可ドメインに足さなくても機能)。パーミッションでは、既定で claude/ プレフィックスのブランチにしかプッシュできない制限を、リポジトリ単位で Allow unrestricted branch pushes により解除できます。

管理と使用制限

ルーティン詳細ページから、Run now(即時実行)、Repeats トグルでのスケジュール一時停止/再開、編集、削除ができ、過去の実行を完全なセッションとして開いてレビュー・PR 作成・会話継続ができます。重要な注意として、実行リストの緑ステータスは「インフラエラーなく開始・終了した」ことを示すだけで、プロンプトのタスク成功を意味しません。ブロックされたネットワークリクエストやコネクタツールの欠落、タスクレベルの失敗はトランスクリプトに出るため、実行を開いて実際の作業内容を確認します。使用面では、ルーティンは対話型セッションと同様にサブスクリプション使用量を消費し、加えてアカウントごとに1日に開始できる実行数の上限があります。上限や使用制限に達しても、使用クレジットが有効な組織はメーター課金で継続実行でき、無い場合はウィンドウのリセットまで拒否されます。

まとめ

ルーティンは、プロンプト・リポジトリ・コネクタを保存した Claude Code 構成を、スケジュール・API・GitHub イベントのトリガーでクラウド自律実行する自動化機能です(研究プレビュー)。無人で繰り返せて成果が明確な作業に向き、逐次承認が要る作業やローカルファイルが必要な作業には向きません。作成は Web か CLI の /schedule、API は /fire への POST、GitHub は App インストールとイベント/フィルタ設定で構成します。到達範囲(リポジトリ・環境・コネクタ)を必要最小限に絞り、緑ステータスに頼らずトランスクリプトで結果を確認するのが運用の要点です。

次回は、このページの関連リソースにも挙がっている未執筆ページ(たとえば /loop とセッション内スケジューリングの scheduled-tasks、または ultraplan/ultrareview など)を取り上げる予定です。


この記事は執筆時点の公式ドキュメントに基づいています。最新の情報は必ず公式ドキュメントをご確認ください。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました