保存のたびにフォーマットを走らせたいのに、毎回「あとで Claude Code に整えて」と頼んでいるなら、かなり遠回りだ。フック、つまり hooks を使えば、その面倒な一手を先回りできる。
やりたいことは単純で、ファイルを保存した瞬間に Claude Code がフォーマット用の指示を受け取り、見た目や表記ゆれを整える流れを作ることだ。コードでも文章でも、雑に保存しても最後は同じ型に寄せたい。ファイル整理でも、Markdown の文書整形でも、この発想は効く。人間が毎回「整えて」と言うより、保存後の処理に吸わせたほうが圧倒的にだるくない。
ただし、ここで雑にやると逆に荒れる。保存のたびに全文をいじる、曖昧な指示で毎回違う結果になる、差分がでかくなって見直しづらくなる。この手の手戻りは、筆者も最初にかなり踏んだ。便利そうだからと丸投げすると、保存のたびに余計な修正が増えて、かえって手作業より面倒になる。だから最初から「何を直すか」を狭く決めるのがコツだ。
Claude Code には hooks がある。要するに、あるタイミングで決まった処理を差し込む仕組みだ。保存後にフォーマット、編集前に警告、完了後に通知、といった用途に使う。ここでは「保存したら自動でフォーマット」に絞って話す。
まず考えるべきは、何をフォーマット対象にするかだ。全部のファイルを対象にすると、Markdown の整形とコード整形がごちゃつく。実務では、たとえばこう分けるといい。
.md は見出しや箇条書きの揺れを整える.json はインデントと並びを整えるClaude Code に直接「保存時にこれをやって」と頼むより、対象のルールを先に決めておくほうが安定する。
実際の頼み方は、かなり具体的に書く。曖昧な「きれいにして」だけだと、何を基準に整えるかがぶれる。例えばこうだ。
保存後に hooks で自動フォーマットしたい。
対象は Markdown ファイルのみ。
やることは次の3つ。
1. 連続した空行を1行にそろえる
2. 箇条書きのインデントをそろえる
3. 見出し前後の余計な空白を整理する
ただし本文の意味は変えない。語尾や表現は勝手に書き換えない。
差分が最小になるように直してほしい。
ここで大事なのは、「意味を変えない」と明記することだ。保存ごとの自動処理で一番まずいのは、フォーマットのつもりで文章まで書き換わることだ。文書作成で使っている人は特にここを締めておいたほうがいい。弁護士の下書きや社内文書で、勝手に語尾や用語が変わったら目も当てられない。
コードを触る場面なら、フォーマッタは Claude Code の外に任せるのが筋だ。たとえば prettier や black のような既存ツールがあるなら、Claude Code の役目は「保存後にそのコマンドを走らせる」「差分を見て必要なら整える」くらいに絞る。Claude Code 自身にすべてをやらせるより、得意な道具に分業させたほうが事故が少ない。
たとえば、JSON を保存したあとに整えるなら、こんな指示が使いやすい。
保存された JSON を見て、整形だけを行ってください。
値は変更しない。
キーの順序は維持する。
整形後の差分は最小にする。
Markdown を文書整理に使うなら、こういう頼み方のほうが実務向きだ。
この Markdown ファイルは保存後に自動整形したい。
やることは次だけ。
- 見出しレベルを勝手に変えない
- 箇条書きのインデントをそろえる
- 余分な空行を整理する
- コードブロックの中身には触らない
文章の内容は絶対に変えない。
ここで「コードブロックの中身には触らない」を入れておくのが地味に効く。雑な整形系の指示は、コードや記号まで巻き込んで壊すことがある。筆者は一度、箇条書き整理のつもりで Markdown 内のコード例まで崩され、差分を戻す羽目になった。保存時に自動化したのに、戻し作業が増えたら本末転倒だ。だから、触っていい範囲を細く切る。
運用で詰まりやすいのは、保存のたびに毎回フルで処理させるやり方だ。ファイルが大きくなるほど待ち時間が気になるし、ちょっとした保存でも差分が生まれて落ち着かない。自動フォーマットは「軽く、狭く、決まった範囲だけ」が正解になる。全部を賢くしようとすると、かえって鈍る。
もう一つ、フックの中でやることを盛りすぎないことだ。保存時に整形、保存時に要約、保存時に不要ファイル掃除、保存時にコミット候補抽出、まで一気に載せると、どれが効いているのか分からなくなる。Claude Code は便利だが、フックは裏方だ。裏方に何役もやらせると、トラブルの切り分けが面倒になる。
非エンジニアの使い方でも、考え方は同じだ。たとえば案件ごとにフォルダを分けて、そこで作るメモや申請書の体裁をそろえたいなら、保存後に見出し・余白・箇条書きだけを整える hooks が役に立つ。契約書の条文を勝手にいじるのは論外だが、メモや下書きの見た目を揃えるだけでも、後で読み返したときの疲れ方がかなり違う。ファイル整理や文書作成では、内容の自動改変より「体裁の固定」のほうが効くことが多い。
実際に始めるときは、次の順で詰めると失敗しにくい。
1. 対象ファイルを決める
2. 整えるルールを3つ以内に絞る
3. 変更してはいけない範囲を明記する
4. 差分が大きくなるなら、処理を弱める
5. 問題が出たらまず hooks の指示を疑う
この順番は地味だが、かなり効く。先に「何をやるか」ではなく「何をやらないか」を決めるのがポイントだ。自動化は強いが、境界が曖昧だとすぐ暴れる。
最後に一つだけはっきり言う。hooks で「保存したら自動でフォーマット」を仕込むときは、派手な賢さを狙わないことだ。狙うのは、毎回同じ形に戻る安心感である。差分が小さい、意図がぶれない、直す範囲が狭い。この3つがそろうと、Claude Code は裏でかなり頼れる相棒になる。逆にここを外すと、便利なはずの自動化が、手直しの温床になる。公式の hooks 周りの仕様は docs.claude.com で確認しつつ、まずは小さく一箇所から入れるのが正解だ。