🔦

Claude Code 私のTips

に公開

はじめに

私が取り入れて感覚的に良かった Claude Code の Tips を記します。目新しいものはないかも知れませんが、なにか 1 つでも参考になれば幸いです。

Tips

Opus Plan Mode を使う

設計・計画は「Opus」、実装は「Sonnet」を使うようモデルを自動で切り替えてくれる「Opus Plan Mode」が v1.0.77 から利用可能になりました。
設計では時間とトークンを多く消費してでも高精度なモデルを動かしつつ、実装は素早くかつトークン消費の少ないモデルを自動で切り替えて使うことができます。

https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#1077

日本語で回答させるユーザー設定を入れる

ユーザー設定(~/.claude/CLAUDE.md)に日本語で回答させる 1 文を入れています。
これまで Claude Code のレスポンスが英語で返ってくることがありましたが、この設定を入れてから英語で返ってくることがほぼなくなりました。

~/.claude/CLAUDE.md
# CLAUDE.md
Please respond in Japanese for all interactions.

/reviewコマンドでレビューさせる

コードレビュー時は標準の /review コマンドで、変更差分の全体把握も含めてまずは荒くレビューしてもらっています。/review [PR番号] のように PR 番号を渡すことも可能です。
自分がコードレビューをお願いするときも、1 回 Claude Code のレビューを挟むことでレビュワーのレビューコストを下げるようにしています。

タスクが完了・中断したときに通知を出す

Claude Code は長めの処理や推論を走らせることも多く、その間はエディタから目を離して別の作業をすることがあります。
その際にタスクが完了・中断されたときに通知が出るようにしておくと、他の作業をしていても「いつの間にか止まっていた」を防げて便利です。

Claude Code の Hooks で Notification と Stop のイベントを拾い、通知を飛ばすようにしています。

通知は、macOS 標準の osascript ではなくコマンドライン用通知ツール terminal-notifier を使っています。
terminal-notifier の -activate オプションを使うことで、通知をクリックして VSCode に起動・遷移させられます。

~/.claude/settings.json
{
  "hooks": {
    "Notification": [
      {
        "hooks": [
          {
            "command": "terminal-notifier -title 'Claude Code' -message 'Claude Codeが確認を求めています' -activate com.microsoft.VSCode",
            "type": "command"
          }
        ],
        "matcher": ""
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "command": "terminal-notifier -title 'Claude Code' -message 'タスクが完了しました' -activate com.microsoft.VSCode",
            "type": "command"
          }
        ],
        "matcher": ""
      }
    ]
  }
}

https://docs.anthropic.com/ja/docs/claude-code/hooks

https://zenn.dev/yuru_log/articles/claude-code-hooks-terminal-notifier-guide

トークン消費量をステータスラインに表示する

Claude Code の最下部に 1 行で表示されているステータスラインをカスタマイズできるようになったので、ccusage でトークン消費量を可視化しています。

~/.claude/settings.json
{
  "statusLine": {
    "type": "command",
    "command": "npx ccusage@latest statusline"
  }
}

https://docs.anthropic.com/ja/docs/claude-code/statusline

カスタムコマンドで CLAUDE.md を定期的に更新する

Claude Code が正しくコンテキストを読み込むためにも CLAUDE.md を更新し続けることが重要です。とはいえ実装を進めていくと CLAUDE.md と実装に乖離が生まれることがあります。

そこで、実装を見て自動で CLAUDE.md を更新するカスタムスラッシュコマンドを作り、工数を抑えながら更新し続けるようにしています。
CLAUDE.mdを更新するためのカスタムスラッシュコマンド用のマークダウンも Claude Code に作らせています。

カスタムスラッシュコマンド用マークダウンのイメージ
---
description: "update CLAUDE.md"
---

# /update-claude-md Command

このコマンドは、プロジェクトの現状を解析し、`CLAUDE.md` ドキュメントを最新の情報で更新します。

## 実行手順

1. **プロジェクト構造の解析**
   - ディレクトリ構成を確認
   - 主要な設定ファイルを読み込む
     (例: `package.json`, `tsconfig.json`, `biome.json`, `next.config.js` など)
   - 技術スタックやフレームワークを特定

2. **既存の CLAUDE.md を確認**
   - 現在の内容とセクション構成を把握

3. **更新内容の決定**
   - 現状との差分を洗い出す
   - 以下を反映:
     - プロジェクト概要
     - 使用技術・依存関係
     - ディレクトリ構造
     - セットアップ手順
     - 利用可能なスクリプト
     - コーディング規約
     - その他プロジェクト固有の情報

4. **CLAUDE.md を更新**
   - 必要ならバックアップ作成
   - 新しい内容で `CLAUDE.md` を上書き
   - 更新サマリーを報告

## 使用方法

```bash
/update-claude-md

context7 経由でドキュメントを読ませる

Claude Code に対して、明示的に使っている技術の公式ドキュメントを読ませたくなるときがあります。そのときに生のドキュメントページを直接読ませるのではなく、context7 からドキュメントを読ませることで、最新かつ圧縮したドキュメントのコンテキストを与えられます。

とくに Next.js の App Router や React Router の Framework Mode のように、直近で仕様や推奨パターンが大きく変わった領域では、旧情報の混入を避けつつ最新のベストプラクティスに沿った回答を得やすく、context7 経由は特に有効だと感じています。

言語を問わずパッと思いついた大小様々なライブラリはすべてドキュメント登録されていました。

プロンプト例)
Next.js 14のApp Routerについて教えて。use context7

https://context7.com/

https://zenn.dev/spacemarket/articles/21c4df0b7795f9

Discussion