TL;DR
-
CLAUDE.mdでコンテキストを渡せば指示が半分になる -
--allowedToolsでエージェントの権限を絞るとミスが激減 - サブエージェント並列呼び出しで独立タスクを同時処理できる
背景
Claude Code は Anthropic が公開している CLI ベースのコーディングエージェントです。2025 年に一般公開されて以来、ターミナルに常駐してコードを自律的に読み書き・実行できる点が多くの開発者に注目されています。
本記事では「なんとなく使っている」状態から一歩踏み込み、日常の開発フローに組み込んで実際に速くなるテクニックを 7 つ紹介します。対象読者は Claude Code を導入済みだが「思ったより出力がブレる」「長い会話になると指示が伝わらない」と感じているエンジニアです。
1. CLAUDE.md でプロジェクト固有の文脈を注入する
Claude Code はリポジトリのルートに CLAUDE.md があると自動的に読み込み、そのセッション全体のコンテキストとして扱います。
# CLAUDE.md (例)
## プロジェクト概要
- 言語: TypeScript (strict)
- フレームワーク: Next.js 15 App Router
- スタイリング: Tailwind CSS v4
## コーディング規約
- export default は使わず named export で統一
- コンポーネントは `src/components/<機能>/<ComponentName>.tsx`
- API ルートは `src/app/api/<resource>/route.ts`
## よく使うコマンド
- `pnpm dev` — 開発サーバー起動
- `pnpm test:unit` — Vitest 実行
- `pnpm lint:fix` — ESLint + Prettier 一括適用
効果: 毎回「TypeScript strict で」「App Router のファイル構成で」と言わなくて済みます。新しいセッションを開くたびに前提をゼロから伝える手間がなくなり、初回の指示が短くて済むようになります。
CLAUDE.md はネストできるため src/CLAUDE.md に「フロントエンド固有のルール」、server/CLAUDE.md に「バックエンド固有のルール」を分けて書くと、Claude Code がファイルを触るディレクトリに応じて関連ルールを自動参照します。
2. --allowedTools でエージェント権限を最小化する
Claude Code はデフォルトで多くのツール (ファイル読み書き・シェル実行・WebFetch など) を使います。ただし 「何でもできる」状態は思わぬ副作用の温床です。
# ファイルを読む・書く・検索するだけに絞る (シェル実行を禁止)
claude --allowedTools "Read,Write,Glob,Grep" "ログ出力を structuredClone に置き換えて"
# 読み取り専用 (コードレビュー専用エージェントとして使う)
claude --allowedTools "Read,Glob,Grep" "src/ 以下で未使用の export を列挙して"
レビュー・調査系タスクでは書き込み権限を外しておくと、確認前にファイルが変わっていた、という事故を防げます。
3. --print フラグでパイプラインに組み込む
--print (または -p) を付けると対話モードに入らず、回答を標準出力に書いて終了します。スクリプトからの呼び出しや他コマンドとのパイプが可能です。
# git diff の内容を渡してコミットメッセージを生成
git diff --staged | claude -p "Conventional Commits 形式でコミットメッセージを 1 行で書いて"
# テスト失敗ログを渡して原因を要約させる
pnpm test 2>&1 | claude -p "テスト失敗の根本原因を箇条書きで 3 点以内で答えて"
CI の失敗ログを Slack に流す前に要約させたり、PR テンプレートに差分サマリーを自動入力したりと、用途が広がります。
4. 長いタスクは「サブゴール分割」で指示する
Claude Code に「A と B と C をやって」と一度に頼むと、途中のステートが複雑になって迷走しやすくなります。代わりに チェックリスト形式のサブゴールを渡すと進捗が見えやすく、失敗時の巻き戻しコストも下がります。
以下の順でリファクタリングを進めてください。
各ステップが完了したら完了と報告してから次に進んでください。
- [ ] `UserService` クラスを `src/services/user.service.ts` に移動する
- [ ] `import` 参照を全ファイルで修正する
- [ ] `UserService` の unit test を Vitest で書く (カバレッジ 80% 以上)
- [ ] `pnpm test:unit` が全件 PASS することを確認する
ポイント: 「完了したら報告してから次に進む」の一言があるとエージェントが暴走せず、人間が途中で確認・中断できます。
5. # important-instruction-reminders ブロックで強調する
長いプロンプトの中で「これだけは絶対守って」というルールがある場合、CLAUDE.md に専用ブロックを設けると効果的です。Anthropic の公式ドキュメントでも推奨されているパターンです。
## important-instruction-reminders
1. **既存のテストを削除しない** — 失敗するテストは修正するか skip 理由をコメントに書く
2. **`any` 型を使わない** — 型が不明な場合は `unknown` を使い、型ガードを書く
3. **副作用を持つコードを `useEffect` 外に書かない**
4. **`console.log` をコミットしない** — デバッグ出力は作業後に必ず削除
通常の指示文と混ざらず視認性が高いため、Claude Code が守るべきルールを「忘れる」率が下がります。
6. ヘッドレスモード + Git worktree で並列作業する
Claude Code の --dangerously-skip-permissions フラグを --print と組み合わせ、Git の worktree を使うと 複数の独立タスクを並列実行できます (公式ドキュメントに記載のある構成です)。
# worktree を 2 つ作る
git worktree add /tmp/feat-a origin/main
git worktree add /tmp/feat-b origin/main
# それぞれのディレクトリで別タスクをバックグラウンド実行
(cd /tmp/feat-a && claude --dangerously-skip-permissions -p \
"決済モジュールに unit test を追加して PR 用ブランチを作成して") &
(cd /tmp/feat-b && claude --dangerously-skip-permissions -p \
"i18n の ja.json に欠けているキーを en.json から補完して") &
wait
echo "両タスク完了"
注意事項:
-
--dangerously-skip-permissionsは名前の通りリスクがあるため、使うのは独立した worktree 内 + 変更内容をレビューしてからマージ、という運用が前提です。 - 共有ファイル (例:
package-lock.json) に同時書き込みするタスクは並列化しないよう設計してください。
7. カスタムスラッシュコマンドでよく使う指示を再利用する
Claude Code は ~/.claude/commands/ または .claude/commands/ 以下に *.md を置くと、/コマンド名 で呼び出せるカスタムコマンドとして機能します。
# .claude/commands/review.md
以下の観点でコードレビューを行い、Markdown テーブルで出力してください。
| 種別 | ファイル | 行 | 指摘内容 | 重要度 |
|------|----------|-----|----------|--------|
観点:
- TypeScript の型安全性
- 不要な再レンダリングが起きていないか (React)
- エラーハンドリングの漏れ
- テストカバレッジの不足
設置後は claude セッション内で /review と打つだけで、毎回同じ観点でレビューを実行できます。チームで .claude/commands/ を Git 管理すれば レビュー観点を組織で標準化できます。
まとめ
| テクニック | 主な効果 |
|---|---|
1. CLAUDE.md でコンテキスト注入 |
前提説明の繰り返しを排除 |
2. --allowedTools で権限最小化 |
意図しないファイル変更を防止 |
3. --print でパイプライン化 |
CI / スクリプトと連携 |
| 4. サブゴール分割で指示 | 長タスクの迷走・巻き戻しコスト削減 |
5. important-instruction-reminders
|
守らせたいルールの失念を防止 |
| 6. worktree + 並列実行 | 独立タスクのスループット向上 |
| 7. カスタムスラッシュコマンド | よく使う指示をチームで標準化 |
Claude Code は「賢いペアプログラマー」に近い存在ですが、どんな文脈で動かすか・どこまで権限を与えるか を整備するかどうかで生産性が大きく変わります。まず CLAUDE.md の整備から始めて、徐々に他のテクニックを重ねていくと効果を実感しやすいです。
参考リンク
- Claude Code 公式ドキュメント — Anthropic
- Claude Code: Best practices for agentic coding — Anthropic
- GitHub: anthropics/claude-code
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!