TL;DR
-
CLAUDE.mdにコンテキストを集約すると Claude Code の回答精度が段違いに上がる - Slash Command(
/project:xxx)を自作すれば繰り返し作業を 1 行で呼び出せる -
--allowedToolsフラグと並列サブエージェントを組み合わせると安全かつ高速
背景
Claude Code(Anthropic 公式 CLI)は 2025 年に GA し、ターミナルから Claude 3.x 系モデルを呼び出してファイル読み書き・シェル実行・Web 取得を行う開発支援ツールとして急速に普及しました。
しかし「とりあえず claude と打って雑に指示する」だけでは能力の半分も引き出せません。本記事では 実務ですぐ使えるパターンを 5 つに絞って解説します。
動作確認バージョン:
@anthropic-ai/claude-code>= 1.x 系(2025 年中旬以降)
パターン 1: CLAUDE.md でプロジェクトコンテキストを固定する
なぜ重要か
Claude Code はセッション開始時にカレントディレクトリの CLAUDE.md を自動読み込みします。ここにプロジェクト固有の情報を書いておくと、毎回「このプロジェクトは〜」と説明しなくて済みます。
最小構成テンプレート
# プロジェクト概要
Next.js 15 (App Router) + TypeScript + Prisma + PostgreSQL の SaaS。
パッケージマネージャは pnpm。
## 開発コマンド
| コマンド | 用途 |
|---|---|
| `pnpm dev` | ローカル開発サーバー起動 |
| `pnpm build` | 本番ビルド |
| `pnpm test` | Vitest 実行 |
| `pnpm lint` | ESLint + Prettier |
## コーディング規約
- 関数コンポーネントのみ (class component 禁止)
- `any` 型は原則禁止 (外部 API レスポンス等は `unknown` → 型ガード)
- コメントは日本語 OK
- テストファイルは `__tests__/` 以下に集約
## よく使うパス
- API Routes: `src/app/api/`
- DB スキーマ: `prisma/schema.prisma`
- 型定義: `src/types/`
- 環境変数の型: `src/env.ts` (T3 Env 互換)
ポイント
- 50 行以内に収めると Claude が全文参照してくれる確率が上がります(長すぎると途中でカットされることがある)
- ネストした
CLAUDE.mdも有効。src/app/api/CLAUDE.mdに「このディレクトリは Edge Runtime 限定」等を書くと局所的なコンテキスト注入ができます
パターン 2: Slash Command でリピート作業を 1 行化する
仕組み
.claude/commands/ 以下に .md ファイルを置くと /project:<ファイル名> で呼び出せます。
.claude/
commands/
review.md
test-gen.md
changelog.md
実例: PR レビュー用コマンド
<!-- .claude/commands/review.md -->
以下の観点でこのファイルのコードレビューを行ってください。
1. **型安全性**: `any` / `as` キャストの濫用がないか
2. **エラーハンドリング**: 非同期処理の catch 漏れがないか
3. **パフォーマンス**: 不要な再レンダリング・N+1 クエリの疑いがないか
4. **セキュリティ**: ユーザー入力のサニタイズ漏れ・IDOR がないか
5. **テスト**: カバーされていないエッジケースの提案
各指摘は以下の形式で出力してください:
- 重大度: 🔴 Critical / 🟡 Warning / 🟢 Suggestion
- 行番号 (わかる場合)
- 修正案コード付き
使い方:
claude
> /project:review
> src/app/api/payments/route.ts を見て
実例: テスト自動生成コマンド
<!-- .claude/commands/test-gen.md -->
$ARGUMENTS で指定されたファイルに対して Vitest のユニットテストを生成してください。
要件:
- describe / it ブロックで階層化
- 正常系・異常系・境界値を網羅
- モックは `vi.mock()` を使用
- テストファイルは `__tests__/<元ファイルのパス>.test.ts` に保存
> /project:test-gen src/lib/pricing.ts
$ARGUMENTS は Slash Command 呼び出し時にコマンド名の後ろに書いた文字列が展開されます。
パターン 3: --allowedTools で安全サンドボックスを作る
課題
デフォルトでは Claude Code にファイル書き込み・シェル実行の権限があります。CI や共有環境で「読み取り専用」で走らせたいケースがあります。
解決策
# 読み取り + WebFetch のみ許可(書き込み・シェル実行を禁止)
claude --allowedTools "Read,LS,Glob,WebFetch" \
"依存パッケージの脆弱性をざっとチェックして要約してください"
# Bash は禁止・ファイル書き込みも禁止
claude --allowedTools "Read,LS,Glob,WebFetch,WebSearch" \
"README を読んでドキュメントの不足箇所を洗い出して"
よく使うツール名一覧
| ツール名 | 概要 |
|---|---|
Read |
ファイル読み取り |
Write |
ファイル書き込み |
Edit |
部分編集(差分適用) |
LS |
ディレクトリ一覧 |
Glob |
パターンマッチでファイル検索 |
Bash |
シェルコマンド実行 |
WebFetch |
URL 取得 |
WebSearch |
検索 |
CI パイプラインでコードレビューコメントを自動生成する用途では Read,Glob だけ許可するのが安全です。
パターン 4: サブエージェントを活用した並列調査
概要
Claude Code は Task ツールを使って自律的にサブエージェントを起動できます。ユーザー側から明示的に並列化を指示する書き方が効果的です。
指示例
以下の 3 ファイルを並列に調査して、それぞれの責務と依存関係をまとめてください:
- src/lib/auth.ts
- src/lib/session.ts
- src/middleware.ts
並列で調べて、最後に統合サマリーを出してください。
Claude Code は内部で複数のコンテキストウィンドウを並列起動し、結果をマージして返します。大規模リポジトリの影響調査やリファクタリング前の全体把握に便利です。
注意点
- 並列度が高いほどトークン消費は増えます
-
--allowedTools Bashを外しておくと、サブエージェントがシェルを叩くのを防げます
パターン 5: headless モードで CI/CD に組み込む
--print フラグ (非インタラクティブ実行)
# 標準出力に結果だけ吐かせる
claude --print "src/app/api/webhooks/stripe/route.ts の型エラーを修正して" \
> /tmp/claude-output.txt
# GitHub Actions で PR に自動コメント
- name: Claude Code Review
run: |
REVIEW=$(claude \
--allowedTools "Read,Glob" \
--print \
"変更ファイルのレビューを markdown 形式で出力して")
gh pr comment ${{ github.event.pull_request.number }} --body "$REVIEW"
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
--output-format json で構造化出力
claude --print --output-format json \
"以下の関数の複雑度・行数・依存モジュール数を JSON で出力: src/lib/pricing.ts"
出力例:
{
"functions": [
{
"name": "calculatePrice",
"lines": 42,
"complexity": 7,
"dependencies": ["./discount", "./tax"]
}
]
}
CI でメトリクスを収集・閾値チェックする用途に使えます。
まとめ
| パターン | 効果 | 難易度 |
|---|---|---|
CLAUDE.md でコンテキスト固定 |
回答精度向上・説明コスト削減 | ⭐ |
| Slash Command 自作 | 繰り返し作業の 1 行化 | ⭐ |
--allowedTools でサンドボックス |
CI・共有環境での安全運用 | ⭐⭐ |
| 並列サブエージェント指示 | 大規模コードベースの高速調査 | ⭐⭐ |
| headless + CI 組み込み | 自動レビュー・メトリクス収集 | ⭐⭐⭐ |
どれも「公式ドキュメントには載っているが、実務でどう使うか」が分かりにくいポイントを具体化したものです。特に CLAUDE.md + Slash Command の組み合わせは導入コストが低いわりに効果が大きいのでまず試してみてください。
参考リンク
- Claude Code 公式ドキュメント — Anthropic
- Claude Code: Best practices for agentic coding — Anthropic Engineering Blog
- CLAUDE.md 仕様 (GitHub 統合) — Anthropic
- Slash Commands リファレンス — Anthropic
- GitHub Actions + Claude Code インテグレーション — Anthropic
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!