Claude Codeの自動化、どこから始めればいい?

室谷今回はClaude Codeの自動化について話しましょう。これ、コミュニティでも「どこから手をつければいいかわからない」って声が多いんですよね。
テキトー教師そうですよね。Claude Codeを「チャット感覚で使うもの」だと思って止まっている人が多いんですよ。
実は自動化の仕組みがかなり充実していて、使いこなすとワークフロー全体が変わります。
実は自動化の仕組みがかなり充実していて、使いこなすとワークフロー全体が変わります。
室谷MYUUUでも実際に使っていますが、単純に「AIに質問する」フェーズから「AIが自律的に動く」フェーズに移行するための仕組みがClaude Codeには揃っているんですよね。
テキトー教師整理すると、Claude Codeの自動化には主に4つのアプローチがあります。Hooks、GitHub Actions、スケジュール実行(/loop・Cron)、そしてプログラムからの利用です。
この記事ではそれぞれを実用的なレベルで解説していきます。
この記事ではそれぞれを実用的なレベルで解説していきます。
室谷前回はClaude Codeのインストールと基本的な使い方を見てきましたが、今回はそこから一歩進んで「Claude Codeを働かせる」側の話をしていきます。
Hooksとは?Claude Codeのライフサイクルに割り込む仕組み

テキトー教師まずHooksから始めましょう。これ、知らない人が損をしている機能のトップ3に入ると思います。
室谷Hooksは何かというと、Claude Codeが動く過程の特定のタイミングで、シェルコマンドやスクリプトを自動実行する仕組みです。ファイルを編集したら自動フォーマット、コマンドを実行する前にセキュリティチェック、作業が終わったら通知、みたいなことができます。
テキトー教師講座でコミュニティのメンバーさんに説明するとき、「Claude Codeのミドルウェア」と言うとピンとくる人が多いです。AIが動く過程に人間のルールを挟み込める仕組みですね。
室谷ここが重要なんですが、Hooksは「Claudeがやるかどうか選ぶ」ものではなく、「必ず実行される」という点です。プロンプトに「ファイルを編集したらフォーマットしてください」と書いても、Claudeが忘れることがありますが、Hooksなら確実に動きます。
テキトー教師決定論的な制御、というやつですね。AI任せではなくルールとして固定できる。
これがHooksの本質的な価値です。
これがHooksの本質的な価値です。
Hooksで使える主なイベント
室谷Hooksが発火するタイミング(イベント)は非常に豊富です。公式ドキュメントで確認できますが、主なものをまとめると次のようになります。
| イベント | 発火タイミング |
|---|---|
| SessionStart | セッション開始・再開時 |
| UserPromptSubmit | プロンプト送信直後(Claude処理前) |
| PreToolUse | ツール実行前(ブロック可能) |
| PostToolUse | ツール実行後(成功時) |
| PostToolUseFailure | ツール実行後(失敗時) |
| Notification | Claudeが入力待ち・許可待ちのとき |
| Stop | Claudeが応答を終了したとき |
| SessionEnd | セッション終了時 |
| FileChanged | 監視ファイルが変更されたとき |
| CwdChanged | 作業ディレクトリが変更されたとき |
テキトー教師この表を見ると「かなり細かく制御できる」という印象を受けると思います。特に
PreToolUseは実行前にブロックできるので、安全弁として使えます。
室谷うちのチームでは
PostToolUseを使って、Claudeがファイルを編集するたびにPrettierが自動で走るようにしています。手動でフォーマットするステップが完全になくなりました。Hooksの設定ファイルはどこに書く?
テキトー教師設定場所によってスコープが変わるのも覚えておきたいポイントです。
室谷3つの場所があります。
~/.claude/settings.json:全プロジェクト共通のグローバル設定.claude/settings.json:プロジェクト固有(リポジトリにコミット可能).claude/settings.local.json:プロジェクト固有のローカル専用(gitignored)
テキトー教師チームで共有するルールは
.claude/settings.jsonに書いてリポジトリにコミット、個人の好みや機密情報を含むものは~/.claude/settings.jsonかlocal.json、という使い分けが基本ですね。実用的なHooks設定例
室谷ここから実際のコード例を見ていきます。まず最もよく使われるパターン、「ファイル編集後の自動フォーマット」です。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
}
]
}
]
}
}
テキトー教師matcherフィールドで「Edit または Write ツールのときだけ」と絞り込んでいます。これがないと全イベントで動いてしまうので必須です。
室谷次に「機密ファイルへの編集をブロックする」Hookです。
.envファイルやpackage-lock.jsonをClaude Codeが書き換えないよう保護できます。スクリプトファイル(.claude/hooks/protect-files.sh)をこう書きます:
#!/bin/bash
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
PROTECTED_PATTERNS=(".env" "package-lock.json" ".git/")
for pattern in "${PROTECTED_PATTERNS[@]}"; do
if [[ "$FILE_PATH" == *"$pattern"* ]]; then
echo "Blocked: $FILE_PATH is protected" >&2
exit 2
fi
done
exit 0
テキトー教師exit 2がポイントです。終了コード2でClaude Codeにブロックを伝えます。ただブロックするだけでなく、Claudeがブロックされた理由を理解してアプローチを調整できます。
室谷もう1つ便利なのが「作業完了時の通知」Hookです。長時間かかるタスクをClaude Codeに任せて他の作業をしているとき、完了したら教えてほしいですよね。
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Codeが入力を待っています\" with title \"Claude Code\"'"
}
]
}
]
}
}
テキトー教師macOSならこれで、デスクトップ通知が飛んできます。Linuxなら
Claudeが入力待ちになった瞬間に画面を見なくてもわかるので、マルチタスクがしやすくなりますね。
notify-send、WindowsならNew-BurntToastNotificationを使います。Claudeが入力待ちになった瞬間に画面を見なくてもわかるので、マルチタスクがしやすくなりますね。
GitHub Actionsでの自動化:PRに@claudeとメンションするだけ

室谷次はGitHub Actionsとの連携です。これはチーム開発での自動化で一番インパクトが大きい機能だと思います。
テキトー教師どんなことができるか、ざっくり言うと「GitHubのIssueやPull Requestに
@claudeとメンションするだけで、Claude Codeが動いてコードを修正したりPRを作ったりしてくれる」です。
室谷海外では、グロースマーケティングを非エンジニア1人がClaude Codeで回しているという事例があって。広告コピー作成が30分から30秒になったという話も出ていました。
これはGitHub ActionsでClaude Codeが連携する仕組みがあるからこそですね。
これはGitHub ActionsでClaude Codeが連携する仕組みがあるからこそですね。
セットアップ方法
テキトー教師セットアップはかなり簡単です。Claude Codeのターミナルで
/install-github-appを実行するだけで、GitHub Appのインストールとシークレット設定をガイドしてくれます。
室谷手動でセットアップする場合は以下の手順です。
- https://github.com/apps/claude からGitHub AppをリポジトリにInstall
- リポジトリのSecretsに
ANTHROPIC_API_KEYを追加 .github/workflows/にワークフローファイルをコピー
テキトー教師必要な権限は
Contents、Issues、Pull requestsの読み書きです。これだけあれば、コードを変更してPRを作るという動作が全部できます。基本的なワークフローファイル
室谷最もシンプルなワークフローはこんな感じです。
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
テキトー教師これを
.github/workflows/claude.ymlとして保存すれば、IssueやPRで@claudeとメンションするとClaude Codeが反応します。「このバグを修正して」と書けばコードを修正してコミットしてくれます。
室谷重要なポイントが1つあって、2026年4月時点でGitHub Actions連携はClaude Agent SDK上に構築されています。デフォルトモデルはSonnetですが、
claude_argsで--model claude-opus-4-6を指定するとOpusも使えます。
テキトー教師プロンプトを固定して「毎回自動でこれをやれ」という自動化モードと、
@claudeのメンションに応答するインタラクティブモードがあって、設定によって自動で切り替わります。カスタム自動化プロンプト
室谷固定プロンプトで自動化する例も見ておきましょう。PRが開くたびにセキュリティレビューを自動実行する設定です。
name: Auto Security Review
on:
pull_request:
types: [opened, synchronize]
jobs:
security-review:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "このPRのコードをセキュリティの観点でレビューしてください。SQLインジェクション、XSS、認証の不備などの問題があれば具体的に指摘してください。"
テキトー教師こういう「毎回やるべきだけど人間がサボりがちなレビュー」を自動化するのに最適ですね。コミュニティのメンバーさんの中には、ドキュメントの自動更新やテストカバレッジのチェックに使っている方もいます。
室谷CLAUDE.mdをリポジトリに置いておくと、そのプロジェクトのルールをClaude Codeが読んでくれます。「このプロジェクトではBunを使う」「コーディング規約はこれ」といったガイドラインを守った上で自動化が動くわけです。
スケジュール実行:/loopとCronで定期タスクを自動化する
室谷次はスケジュール実行の話です。「毎日朝9時にPRの状況をチェックして」みたいなことができます。
テキトー教師Claude Codeのスケジュール実行には3つの選択肢があって、それぞれ特徴が違います。
| 種類 | 実行場所 | 特徴 |
|---|---|---|
| クラウドスケジュール(Routines) | Anthropic管理インフラ | マシンオフでも実行。claude.ai/codeで設定 |
| デスクトップスケジュール | 手元のマシン | ローカルファイルへのアクセス可能 |
| /loop(CLIセッション内) | 手元のマシン | セッション中のクイックポーリング |
室谷MYUUUのチームでは主にGitHub Actionsを使っていますが、個人のワークフローだと
/loopが手軽です。/loopの使い方
テキトー教師/loopはClaude Codeのセッション内で使うコマンドです。/loop 5m check if the deployment finished
こう書くと5分ごとにデプロイの状況をチェックしてくれます。デプロイを待ちながら別の作業に集中できますね。
室谷間隔を省略すると、Claudeが状況に応じて間隔を自動選択します。「まだビルド中」なら短く、「何も動いていない」なら長く、という判断をしてくれます。
/loop check whether CI passed and address any review comments
テキトー教師/loopで実行できるのはセッションが開いている間だけです。ターミナルを閉じるとタスクが止まります。恒久的に動かしたい場合はRoutines(claude.ai/codeで設定するクラウドスケジュール)かGitHub Actionsを使いましょう。
スケジュールタスクのCron式
室谷Claudeに「毎朝9時にこれをやって」とお願いすると、Cron式に変換してタスクをスケジュールしてくれます。
テキトー教師スケジュールは7日間の有効期限があって、自動で削除されます。継続的に動かしたい場合は期限前に再作成する必要があります。
室谷タスクの管理は「今どんなタスクが動いてる?」とClaude Codeに聞けばリストを表示してくれます。「〇〇のタスクをキャンセルして」と言えば止めてくれる。
自然言語でタスク管理できるのが地味に便利ですね。
自然言語でタスク管理できるのが地味に便利ですね。
Claude Codeをプログラムから使う:パイプとheadlessモード
室谷最後に、Claude CodeをスクリプトやCI/CDパイプラインから使う方法です。これが一番応用範囲が広いかもしれません。
テキトー教師--printフラグ(または-p)を使うと、非対話型モードで動きます。レスポンスを標準出力に出力して終了するので、シェルスクリプトに組み込めます。claude -p "このコードを最適化して" --allowedTools "Edit,Read,Bash" < source.py
室谷パイプとも組み合わせられます。
cat error.log | claude -p "このエラーの原因を特定して修正コードを提案して"
テキトー教師出力形式を
--output-format jsonにすると、構造化されたJSONが返ってくるのでプログラムで処理しやすくなります。claude -p "このコードをレビューして" --output-format json source.py
室谷海外の事例で面白いのが、Claude Codeで求職活動を自動化した人の話です。740件以上の求人を自動評価して、100件以上のカスタムCVを生成して、Head of Applied AIとして内定したというケースがありました。
これはClaude Code上で14のスキルモードを組み合わせたシステムだったそうです。
これはClaude Code上で14のスキルモードを組み合わせたシステムだったそうです。
テキトー教師それ、Claude Codeの自動化の可能性をよく示しているエピソードですよね。「AIを使う」から「AIを自律的に動かすシステムを作る」へのシフトです。
実践ガイド:よく使われる自動化パターン5選
室谷ここまでの内容を踏まえて、実際によく使われる自動化パターンを整理します。
テキトー教師コミュニティのメンバーさんからよく聞くパターンを5つまとめました。
パターン1:コード品質の自動担保
テキトー教師ファイル編集後にリンターやフォーマッターを自動実行する、最もよく使われるパターンです。
PostToolUseのHookでPrettier、ESLint、Blackなどを動かします。
室谷MYUUUのプロジェクトでも全部これで動かしています。Claudeがコードを書くたびにフォーマットが整うので、コードレビューでフォーマットの話をする必要がなくなりました。
パターン2:PRの自動レビュー
テキトー教師GitHub Actionsで、PRが作成されるたびにClaude Codeが自動でセキュリティ・品質レビューを行うパターンです。
室谷特にドキュメントの更新忘れチェックや、API変更時の互換性チェックに使われています。人間が見落としやすい部分をClaude Codeが毎回チェックしてくれます。
パターン3:CI/CDパイプラインへの組み込み
テキトー教師テストが失敗したときにClaude Codeが原因を分析してSlackに通知するパターンです。
室谷エラーログをパイプで渡して「このエラーの原因と修正方法を教えて」とClaude Codeに聞く、という使い方です。デバッグの初動調査が自動化されます。
パターン4:定期的なコードベースのメンテナンス
テキトー教師/loopやGitHub Actionsのcronトリガーを使って、週次で依存関係の更新チェックや、月次でコードの品質レポートを生成するパターンです。
室谷「毎週月曜日にnpm outdatedの結果を分析してPRを作る」みたいなことができます。依存関係の管理が自動化されると、セキュリティアップデートの遅延が減ります。
パターン5:ドキュメントの自動生成・更新
テキトー教師コードが変更されたときに関連するドキュメントを自動更新するパターンです。
FileChangedフックやPostToolUseを使います。
室谷これが一番「AIならでは」の使い方だと思います。コードとドキュメントを常に同期させるのは人間だと大変ですが、Claudeなら差分を見て自動更新できますね。
CLAUDE.mdで自動化ルールを固定する
テキトー教師自動化を設定する際に忘れてはいけないのが、CLAUDE.mdの活用です。
室谷CLAUDE.mdはClaude Codeが読み込む指示書です。プロジェクトのルールをここに書いておくと、自動化実行時もそのルールを守って動いてくれます。
テキトー教師GitHub Actionsでの自動化に特に重要です。CLAUDE.mdに「このプロジェクトではBunを使う、npmは使わない」「コミットメッセージはConventional Commitsに従う」と書いておけば、Claudeが自動でPRを作るときもそのルールが適用されます。
室谷自動化は「Claudeを手放して動かす」ことなので、ルールを明示しておくことが重要です。曖昧なルールのままにすると、意図しない動作が起きやすくなります。
テキトー教師CLAUDE.mdに書いておくべき自動化関連の内容として、よくあるのはこのあたりです。
- 使用するパッケージマネージャー(npm/yarn/bun)
- コミット・PRの規約(Conventional Commits等)
- テストを実行すべきタイミングのルール
- 変更してはいけないファイルやディレクトリ
- コードスタイルとフォーマット設定
室谷うちのチームでは「本番DBに直接アクセスするコマンドは実行禁止」とCLAUDE.mdに書いています。Hooksで機械的にブロックするのと、CLAUDE.mdで「そもそもそういう操作はしないように」と指示するのを両立させています。
許可モードとセキュリティ:自動化時の注意点
室谷自動化を本格的に使うなら、許可モードの理解が必要です。
テキトー教師Claude Codeには3つの許可モードがあります。
| モード | 説明 | 適した場面 |
|---|---|---|
| デフォルト | ファイル編集等は許可、システムコマンドは確認 | 日常的な開発 |
| --dangerously-skip-permissions | 全て自動承認 | 完全自動化パイプライン |
| 許可リスト指定 | 特定ツールのみ許可 | セキュリティ重視の自動化 |
室谷--dangerously-skip-permissionsは名前の通りリスクがあります。GitHub ActionsのサンドボックスやDockerコンテナの中で使うのが基本です。ローカル環境での無制限実行は慎重に。
テキトー教師Hooksの
PreToolUseで「実行可能なコマンドをホワイトリスト方式で管理する」という使い方もあります。rm -rf系のコマンドをブロックするスクリプトをHookに仕込んでおくと安全性が上がります。
室谷自動化の「落とし穴」として、Hooksの設定ミスでClaude Codeが完全にハマるケースがあります。例えば
設定を変更したら必ずテストするのが大事ですね。
PreToolUseで全コマンドをブロックしてしまうと、Claudeが何もできなくなる。設定を変更したら必ずテストするのが大事ですね。
テキトー教師/hooksコマンドでHookの一覧と設定を確認できます。Hookが発火していないときのデバッグにも使えます。Claude Codeには
--debugフラグもあって、詳細な実行ログが見られます。よくある疑問
室谷ここまで見てきて、よくある疑問にも答えておきましょう。
テキトー教師コミュニティのメンバーさんからよく来る質問をまとめておきます。
Q:HooksとCLAUDE.mdの指示、どちらが優先?
テキトー教師役割が違います。Hooksはコードで書いた「必ず実行されるルール」、CLAUDE.mdはClaude Codeへの「自然言語での指示」です。
機械的にブロックしたいことはHooks、Claudeに判断を任せたい方針はCLAUDE.mdで書くのが適切です。
機械的にブロックしたいことはHooks、Claudeに判断を任せたい方針はCLAUDE.mdで書くのが適切です。
室谷セキュリティ的に絶対に守らせたいルールはHooks、プロジェクトの慣習や好みのスタイルはCLAUDE.md、という使い分けですね。
Q:GitHub ActionsでClaude Codeを使うとコストはどのくらい?
室谷これ、よく聞かれます。Claude Code GitHub ActionsはAPIキーを使って従量課金です。
Claude Codeのサブスクリプション(Pro/Max)の利用枠とは別になります。
Claude Codeのサブスクリプション(Pro/Max)の利用枠とは別になります。
テキトー教師1回のPRレビューで使うトークン数は内容によりますが、シンプルなコードベースなら数十円〜数百円程度のイメージです。毎日大量のPRがある大規模チームでは予算管理が必要になってきます。
室谷Anthropicのには「CI コスト」のセクションもあって、コスト最適化のヒントが書かれています。
Q:/loopはセッションを終了したら止まってしまう?
テキトー教師そうです。
ターミナルを閉じると止まります。
/loopはあくまでセッション内のスケジューリングです。ターミナルを閉じると止まります。
室谷ただ
claude --resumeでセッションを再開すると、7日以内に作成したタスクは復元されます。完全に自律的に動かしたい場合はRoutines(claude.ai/codeで設定するクラウドスケジュール)かGitHub Actionsを使いましょう。Q:Hooksのスクリプトがエラーになったらどうなる?
テキトー教師終了コード0以外で終了した場合、Hooksのエラーとして扱われます。終了コード2はClaude Codeにブロックを伝える特殊なコードで、それ以外のエラー終了はClaude Codeのターミナルにエラーメッセージが表示されます。
室谷Hooksのデバッグは
/hooksメニューで設定を確認しながら、--debugフラグで詳細ログを見るのが基本です。スクリプトファイルはchmod +xで実行権限を付けることも忘れずに。まとめ:Claude Codeの自動化、どこから始めるべきか
テキトー教師ここまで話してきた内容を整理します。
室谷Claude Codeの自動化は大きく4つです。
- Hooks:ライフサイクルの特定タイミングでスクリプトを自動実行
- GitHub Actions:GitHubのIssue/PRに
@claudeでClaude Codeが動く - スケジュール実行:
/loopやCronで定期タスクを自動化 - プログラムからの利用:
--printフラグ等でCLIをスクリプトに組み込む
テキトー教師始めるならHooksからがおすすめです。まず「ファイル編集後にフォーマッターを自動実行」だけでも、毎日の作業が楽になります。
これをプロジェクトに1つ設定したら、次にNotification Hookを入れてみる、という順番で少しずつ広げていくのが無理なく使いこなせるコツです。
これをプロジェクトに1つ設定したら、次にNotification Hookを入れてみる、という順番で少しずつ広げていくのが無理なく使いこなせるコツです。
室谷GitHub ActionsはチームでClaude Codeを使い始めるときの入口として最適です。個人の設定は不要で、リポジトリにワークフローファイルを置けば全員が使えるようになる。
チームの文化としてAIを使った自動化を根付かせるのにいい機能です。
チームの文化としてAIを使った自動化を根付かせるのにいい機能です。
テキトー教師自動化でよく誤解されているのが「設定したら全部Claudeに任せればいい」という発想です。Hooksで安全弁を作って、CLAUDE.mdでルールを明示して、必要に応じて人間が確認する仕組みも残す。
自動化とコントロールのバランスが大事ですね。
自動化とコントロールのバランスが大事ですね。
室谷Claude Codeの自動化は、まだ日本語の情報が少ない領域です。公式ドキュメントが一番正確なので、を見ながら試してみてください。
ここに書いたことはその入口として使ってもらえれば。
ここに書いたことはその入口として使ってもらえれば。
