Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

『Steering Claude Code』日本語版 要約

本ドキュメントは、Claude Codeの動作をカスタマイズ・制御するための7つの手法の特徴、コンテキストコスト、および適切なユースケースについてまとめたものです。


1. 7つのカスタマイズ手法と特徴

手法読み込みのタイミング特徴とコンテキストコスト主なユースケース
CLAUDE.md (ルート)セッション開始時(常時)常にコンテキストに維持されるため、コストは高め。ビルドコマンド、ディレクトリ構成、コーディング規約、チームの規範など。
CLAUDE.md (サブディレクトリ)対象サブディレクトリのファイル読み込み時必要な時のみ読み込まれるため、コストは低め。特定のサブディレクトリに特有のローカルな規約。
ルール (Rules)セッション開始時、またはパスに一致した時パス制限がない場合は常時オン。コンパクション時に再注入される。特定の制約や規約(例: すべてのAPIハンドラーはZodで入力検証を行うなど)。
スキル (Skills)スキル呼び出し時(オンデマンド)呼び出されるまで本文は未ロードのため低コスト。共有のトークン予算内で管理される。デプロイやリリースチェックリストなどの手順ベース of ワークフロー。
サブエージェント (Subagents)エージェントツールによる呼び出し時独立したコンテキストで実行され、結果のみをメインセッションに返すため低コスト。ディープサーチ、ログ分析、依存関係監査など、メインの履歴を汚したくないタスク。
フック (Hooks)ライフサイクルイベントの発生時設定はメインコンテキストの外にあるため、基本的にコンテキストを消費しない。リンターの自動実行、Slackへの完了通知、特定コマンドの実行ブロックなど。
出力スタイル (Output styles)セッション開始時(常時)システムプロンプトを上書きするためコストは高いが、指示の追従性が最も高い。アシスタントの役割自体の変更(例: ソフトウェア開発から一般アシスタントへの変更)。
システムプロンプトの追加セッション開始時(起動時のCLIフラグ)その呼び出しのみに適用され、中程度のコスト(プロンプトキャッシュ適用可)。特定のコーディング基準、フォーマット、ドメイン知識の追加。

2. 適切なカスタマイズを選択するためのクイックヒント

  • 自動化には「フック」を使用する
    • 「〜するたびに、〜を実行する」といった決定論的な処理は、CLAUDE.mdに指示として書くのではなく、フック(settings.json)で自動化すべきです。
  • 強力な制約には「ガードレール(フックや権限)」を使用する
    • 「絶対に〜してはならない」といった強力なルールは、指示(プロンプト)だけでは防げない場合があるため、PreToolUse フックによるブロックやマネージド設定などの決定論的なガードレールを使用してください。
  • 手順は「スキル」に記述する
    • 30行を超えるようなデプロイ手順書やチェックリストは、CLAUDE.mdではなく .claude/skills/ にスキルとして記述し、必要な時だけ呼び出します。
  • 特定の場所にのみ適用するルールにはパス制限をかける
    • API関連など、特定のパスにしか適用されないルールは、paths スコープを制限することで、不要な時のトークン消費を防ぎます。
  • 個人の好みはローカル(ユーザーレベル)に分離する
    • セマンティックコミットの使用など、個人の開発スタイルに関する設定は、プロジェクト内のCLAUDE.mdではなく、ユーザーレベルのファイルに記述します。