Claude Code Hooks 入門チュートリアル:自動化開発ワークフローを構築
Claude Code の自動化を低干渉モデルへ移行します。Hooks なしで始め、意図をガイダンスと Skills に移し、必要な場合だけ狭いプロジェクト Hook を有効化します。
このチュートリアルは Hooks なしを既定とする移行方法を扱います。Claude Code、Skills、agents、別 CLI への handoff を使うために Hooks を先にインストールする必要はありません。ネイティブ Runtime をそのまま使い、現実の反復ニーズが分かってから自動化を追加します。
ステップ1:Hook なしの基準を作る
ツールキットの Hooks を有効にせず、新しいプロジェクト Session を開始します。選択した権限プロファイルで、ファイル編集、Shell コマンド、テスト、通常の停止が期待通り動くことを確認します。
この基準がないと、古いユーザー設定の登録を CLI の標準動作と誤認する場合があります。
ステップ2:意図をガイダンスへ移す
CLAUDE.md には、アーキテクチャ、重要なコマンド、review の期待、「完了」の定義など、安定したプロジェクト情報を置きます。固定スクリプトで作業を縛るのではなく、モデルが良い判断をするための簡潔なガイダンスを書きます。
例:
- full suite の前に、最も関連する小さなテストを優先する。
- 変更した動作と残る不確実性を要約する。
- 公開や外部状態の変更前に確認する。
ガイダンスは可視で編集可能なため、タスクに合わせて調整できます。
ステップ3:再利用手順を Skills にする
複数の手順や参考資料を含む処理には Skill を使用します。Claude またはユーザーが関連する場面で選択でき、決定的なイベント handler では扱いにくいトレードオフも説明できます。
リリース準備、Issue 調査、Session handoff、ドキュメント review、プロジェクト health check などが候補です。
ステップ4:見える境界で検証する
テスト、lint、型チェック、build は通常のコマンドや CI として実行すると理解しやすくなります。開始時点、失敗箇所、再試行方法をユーザーが確認できます。
すべての検証をライフサイクルイベントの背後に隠さないでください。ツール呼び出しのたびに自動チェックすると、遅延が積み重なり、探索作業を中断します。
ステップ5:必要なら狭い Hook を1つだけ選択する
次をすべて満たす場合だけ Hook を選びます。
- 対応するライフサイクルイベントが正しい trigger である。
- 処理が決定的で高速である。
- プロジェクト利用者が有効化を認識している。
- 失敗から回復できる。
- 削除してもツールキットが壊れない。
- Agent に継続を強制せず、広い操作を暗黙に拒否しない。
1回に1つのプロジェクト Hook だけを有効にし、実際の Session で観測します。利点が干渉を上回る場合だけ残します。
ステップ6:継承された設定を監査する
組織管理、ユーザー、プロジェクト、ローカル設定を確認します。他の CLI や拡張機能が互換 Claude 資産を読み込む場合があるため、空のディレクトリだけを見て Hooks がゼロと判断しないでください。
各登録について確認します。
- 誰が有効化したか。
- どのイベントで起動するか。
- どのデータを読み取り、送信できるか。
- 操作を変更、拒否、反復できるか。
- timeout と削除方法は何か。
重複、存在しないスクリプト、放棄された実験、所有者や目的が不明な自動化を削除します。
移行チェックリスト
- Hooks がゼロでもツールキットが完全に動く。
- ガイダンスは
CLAUDE.mdにある。 - 再利用ワークフローは Skills にある。
- テストとデリバリーゲートは可視のコマンドまたは CI である。
- 任意の Hooks はプロジェクト単位で文書化されている。
- 自動ループが通常の完了を閉じ込めない。
- 既存のユーザー全体設定と組織管理設定を監査した。
現在の Hook イベントと設定はセッション15:Hooksシステムを参照してください。Director Mode Hooks が既定でゼロの portable Skills と agents は Director Mode Lite から利用できます。