Claude Codeの作者であるBoris氏が、自身のClaude Code活用法をX(旧Twitter)で共有していた。これが非常に参考になったので、翻訳と所感をまとめてみる。


導入:意外とバニラな使い方

僕はBorisで、Claude Codeを作りました。たくさんの人から「どうやってClaude Codeを使ってるの?」と聞かれるので、僕のセットアップを少し紹介したいと思います。

僕のセットアップは意外とバニラ(素のまま)かもしれません!Claude Codeは箱から出してすぐ(out of the box)でも十分うまく動くので、僕自身はあまりカスタマイズしていません。Claude Codeに「正しい使い方」は一つもありません。僕たちは意図的に、あなたが好きなように使い、カスタマイズし、ハックできるように作っています。Claude Codeチームの各メンバーも、それぞれまったく違う使い方をしています。

作った本人が「あんまりカスタマイズしてない」と言っているのは個人的にかなり助かる。あまりにも進化が早すぎて一時的なカスタマイズをしないと最大限のパフォーマンスが引き出せないのは辛い。


1. ターミナルで5つのClaudeを並列実行

ターミナルで5つのClaudeを並列で動かしています。タブに1〜5の番号を振って、Claudeが入力を必要としているときはシステム通知で知らせてもらっています。

所感: 並列で5つ動かしているのは凄い。正直、Proプラン契約をしているのも相まってそこまで並列で流せていないのは実情。Opus 4.5だとすぐ5時間の制限にひっかかるので、中々厳しい。

参考: iTerm2 システム通知設定


2. Web版 + モバイルとの連携

ローカルのClaudeと並行して、claude.ai/code でも5〜10個のClaudeを動かしています。ターミナルでコーディングしながら、ローカルのセッションをWeb版に渡したり(&を使って)、Chromeで手動でセッションを立ち上げたり、時には --teleport で行ったり来たりもします。毎朝、そして一日を通してiPhoneのClaudeアプリからもいくつかセッションを開始して、後でチェックしています。

補足:

  • claude.ai/code: ブラウザからGitHubリポジトリに直接接続して作業できるWeb版Claude Code。Pro/Max/Team/Enterpriseプラン向け
  • & キー: ローカルセッションをWeb版に引き継ぐ
  • teleport: 公式ドキュメントに明記なし。類似機能として claude --resumeclaude --continue がある

所感: うーん物凄い運用してる。朝起きたらスマホからタスクを投げて、パソコンの前に座ったら結果を見る、という非同期ワークフローは理想的だとは思うけど、そこまでやるのも凄いな。


3. Opus 4.5 with thinking を使う理由

すべての作業にOpus 4.5(thinkingモード)を使っています。今まで使った中で最高のコーディングモデルです。Sonnetより大きくて遅いけれど、指示を細かく出す必要が少なく、ツールの使い方も上手なので、結局は小さいモデルを使うよりほぼ常に速く終わります。

所感: 実際、Opus 4.5を使うのが最適に感じる。Sonnetだと中途半端に手戻りする感覚はある。


4. CLAUDE.mdをチームでgit管理

私たちのチームはClaude Codeリポジトリで1つのCLAUDE.mdを共有しています。gitにチェックインしていて、チーム全員が週に何度も貢献しています。Claudeが何か間違ったことをするたびにCLAUDE.mdに追記して、次回は同じことをしないようにしています。

所感: CLAUDE.mdの管理は必須だよね。どこまで何書くかだよなぁとは。


5. PRに@.claudeでコメント

コードレビュー中、同僚のPRに@.claudeをタグ付けして、そのPRの一部としてCLAUDE.mdに何かを追加してもらうことがよくあります。これにはClaude CodeのGitHubアクション(/install-github-action)を使っています。これはDan Shipper氏の「Compounding Engineering(複利エンジニアリング)」の私たちなりのやり方です。

所感: これはやりたい機能。個人的にはCLIベースでやりたいし、パブリックリポジトリにはCLAUDE.mdを置きたくない事情もあるので今は見送っているが、チーム開発なら必須だと思う。

補足: 「複利エンジニアリング」とは、知識やドキュメントを積み重ねることで、複利のように効果が増えていくという考え方。


6. Planモードから始める

ほとんどのセッションはPlanモード(Shift+Tab を2回)から始めます。プルリクエストを書くことが目標なら、Planモードを使って、計画が気に入るまでClaudeと何度もやり取りします。そこから編集の自動承認モードに切り替えると、Claudeは大抵1発で仕上げてくれます。良い計画は本当に重要です!

所感: Planモードは最近使ってみて、とても良い仕組みだと感じた。計画をしっかり立てたら、あとは一気に実装できる。今後も何か作るときは積極的に使いたい。

操作: Shift+Tab を2回押すとPlanモードに入る


7. スラッシュコマンドで定型作業を自動化

1日に何度も行う「インナーループ」のワークフローには、すべてスラッシュコマンドを使っています。これで繰り返しプロンプトを打つ手間が省けるし、Claudeもこれらのワークフローを使えるようになります。コマンドはgitにチェックインされ、.claude/commands/ に置いてあります。

例えば、Claudeと私は /commit-push-pr というスラッシュコマンドを毎日何十回も使います。

補足:

  • 作成場所: .claude/commands/(プロジェクト共有)または ~/.claude/commands/(個人用)
  • 例: .claude/commands/security-check.md を作成 → /security-check で呼び出せる
  • 登録すべきもの: 毎日何度もやる作業、定型的なレビュー依頼、テスト実行手順など

所感: スラッシュコマンドの存在は知っているが、何を登録すべきか悩んでいた。「インナーループ」(開発中に何度も繰り返す作業)を意識して、自分の作業を振り返ってみると良さそう。

よく考えると、自分も「プッシュしていいよ」「コミットして」みたいなことを毎回自然言語で送っている。固定の作業なら、コマンドにしてしまった方が楽だし確実だ。

参考: スラッシュコマンド


8. サブエージェントで複雑なワークフローを自動化

いくつかのサブエージェントを定期的に使っています:code-simplifier はClaudeの作業が終わった後にコードを簡潔にし、verify-app はClaude Codeをエンドツーエンドでテストするための詳細な手順を持っています。

補足:

  • 設定場所: .claude/agents/
  • /agents コマンドで管理できる
  • 組み込み: Plan subagent(計画用)、Explore subagent(高速検索)など

所感: サブエージェントも何に使えばよいか分からなかった。「Claudeが書いたコードを、別のClaudeが簡潔にする」という二段構えは面白い。AIの出力をAIがレビューするパターン。

参考: サブエージェント


9. PostToolUseフックでフォーマット自動化

PostToolUse フックを使ってClaudeのコードをフォーマットしています。Claudeは通常そのままでも整形されたコードを生成しますが、フックが残り10%を処理して、後でCIでフォーマットエラーが出るのを防いでいます。

補足: PostToolUseフックは、ツール(Write, Edit等)の実行完了直後に自動実行されるスクリプト。

.claude/settings.json での設定例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [{
          "type": "command",
          "command": "./format.sh"
        }]
      }
    ]
  }
}

所感: ファイル編集後に自動でフォーマッタを走らせる、という使い方は便利そう。CIで落ちる前に手元で直せる。

参考: フック


10. /permissionsで安全にパーミッション設定

--dangerously-skip-permissions は使っていません。代わりに /permissions を使って、自分の環境で安全だとわかっているbashコマンドを事前に許可し、不要なパーミッションプロンプトを避けています。

補足: /permissions はパーミッションの表示・編集ができるコマンド。

主なモード:

  • default: 初回使用時に確認
  • acceptEdits: ファイル編集を自動承認
  • dontAsk: 事前承認済みのみ実行

所感: --dangerously-skip-permissions は以前ルートディレクトリ消した事故をしてた人がいた気がする。permissionsの登録も最近のアプデで楽になったし、それでよいかな。


11. MCPで外部ツール連携

Claude Codeは私のすべてのツールを代わりに使ってくれます。よくSlackを検索して投稿したり(MCPサーバー経由)、BigQueryクエリを実行して分析の質問に答えたり、Sentryからエラーログを取得したりしています。

所感: MCP連携は大事だが、どこまで連携するか問題がある。Slack、BigQuery、Sentryなど、開発に必要なツールを一元管理できるのは魅力的だが、最近は環境が変わったのもあって何も繋いでいない。


12. 長時間タスクの管理

非常に長時間のタスクでは、(a) 完了時にバックグラウンドエージェントで作業を検証するようClaudeにプロンプトする、(b) エージェントのStopフックを使ってより確実に検証する、または(c) ralph-wiggumプラグインを使います。

補足:

  • --permission-mode dontAsk: 事前承認済みのツールのみ実行し、未承認なら停止
  • Stopフック: Claude停止時に自動で何か実行する
  • ralph-wiggum: 公式ドキュメントに記載なし(カスタムプラグインの可能性)

所感: 長時間タスクを走らせている間、人間がボトルネックにならないようにする工夫。サンドボックス環境なら --permission-mode=dontAsk で放置できる。

参考: フックガイド


13. 検証手段を与える(最重要)

最後のヒント:Claude Codeから素晴らしい結果を得るために、おそらく最も重要なこと ── Claudeに自分の作業を検証する方法を与えてください。そのフィードバックループがあれば、最終結果の品質は2〜3倍になります。

Claudeは、Claude Chrome拡張機能を使って、私がclaude.ai/codeにデプロイするすべての変更をテストしています。ブラウザを開き、UIをテストし、コードが動いてUXが良くなるまで繰り返します。

補足: Chrome拡張機能を使うと、以下のことができる:

  • DOM読み取り・クリック・入力
  • フォームテスト
  • UIレイアウト検証
  • GIF記録

起動方法: claude --chrome

所感: これが一番重要なポイント。検証手段があるかないかで、結果の品質が2〜3倍変わるというのは大きい。テストスイート、ブラウザ確認、シミュレータなど、何でもいいから「自己検証できる仕組み」を用意することが大事。

なお、Chrome拡張はWSL環境では使えない(GitHub Issue #14367)。macOSかWindows(ネイティブ)環境が必要になる。WSLユーザーとしては少し残念だが、Mac側で開発するか、MCP経由でPlaywright等を使う方法もある。 → 最近のアプデで対応した。

参考: Chrome統合


まとめ

Boris氏のTipsを振り返ると、以下の3つがポイントだと感じた:

  1. 並列化: 複数のClaudeを同時に走らせて、人間がボトルネックにならないようにする
  2. 自動化: スラッシュコマンド、サブエージェント、フックで定型作業を自動化
  3. 検証: Claudeに自己検証する手段を与えることで、品質が2〜3倍になる

特に「検証手段を与える」は、すぐに実践できそうなポイント。まずはテストを書くことから始めてみたい。


この記事はClaude Codeと一緒に書きました。