AIコーディング 2026.05.08
Claude Codeで午前中に機能を完成させる|専門家ロール16種のCLAUDE.mdテンプレート
CLAUDE.mdに専門家ロールを定義する
プロジェクトルートの CLAUDE.md に各ロールを記述しておくと、全セッションで再利用できます。
# CLAUDE.md — 専門家ロール定義
## 利用可能なロール(必要なものを指定して呼び出す)
### backend
FastAPIとPostgreSQLを使用。Pydanticでバリデーション。SQLAlchemyよりsqlmodelを優先。
パフォーマンスを意識し、N+1クエリを避ける。
### frontend
Next.js App Router + TypeScript + Tailwind CSS + shadcn/ui。
Server Componentをデフォルトとし、必要な場合のみuseClient。
### security
OWASPトップ10を基準にコードをレビュー。
SQLインジェクション・XSS・認証バイパス・機密情報のハードコードを確認。
### database
PostgreSQL設計者。正規化・インデックス・マイグレーション設計。
Prismaスキーマを出力する。
### devops
GitHub Actions・Docker・Vercelを使用したCI/CD設計。
本番環境のセキュリティとスケーラビリティを考慮する。
### tester
pytest(バックエンド)とPlaywright(E2E)でテストを書く。
境界値・異常系・ハッピーパスを必ず網羅する。
### reviewer
コードレビュアーとして問題点を列挙する。
実装の提案はせず、問題の指摘と改善提案のみを行う。
実際の開発セッション例
# 午前8:00 - 機能要件の確認
claude "database ロールとして:ユーザーがプロジェクトを複数持てる
設計のPrismaスキーマを書いて。Soft deleteが必要。"
# 8:20 - APIの設計
claude "backend ロールとして:さっきのスキーマを使ったプロジェクト
CRUD APIをFastAPIで実装して。認証はJWT。Pydanticで入出力を型定義。"
# 9:10 - セキュリティチェック
claude "security ロールとして:上記のAPIをレビューして。
認可チェック漏れ・SQLインジェクション・JWTの検証を確認して。"
# 9:30 - フロントエンド
claude "frontend ロールとして:プロジェクト一覧と作成フォームを
Next.js App RouterのServer Actionで実装して。"
# 10:45 - テスト
claude "tester ロールとして:プロジェクトCRUDのpytestテストを書いて。
正常系・異常系・権限違反ケースを含めて。"
トークン節約:長いコンテキストの管理
# BAD: 毎回全コンテキストを説明する(トークン大量消費)
claude "Pythonで書いたFastAPIのプロジェクトで、PostgreSQLを使っていて、
ユーザーテーブルがあって、プロジェクトテーブルがあって... ○○を実装して"
# GOOD: CLAUDE.mdに書いておいて、ロール指定だけで済ます
claude "backend ロールとして:プロジェクトにタグ機能を追加して"
# /compact コマンドでコンテキストを圧縮(長いセッションで有効)
# Claude Code 内で実行
/compact
# または新しいセッションを始める際に要点だけ渡す
claude --resume # 最後のセッションのサマリーを引き継ぐ
ロール別のプロンプトテンプレート
# role_prompt_templates.py
# CLIツールや自動化スクリプトからClaude Codeを呼ぶ場合のテンプレート
ROLE_PROMPTS = {
"backend": """backendロールとして実装してください:
- FastAPI + SQLModel(PostgreSQL)を使用
- Pydanticでリクエスト/レスポンスを型定義
- エラーハンドリングはHTTPException
タスク: {task}""",
"security": """securityロールとして以下のコードをレビューしてください:
確認項目:
1. 入力バリデーション(SQLi/XSS)
2. 認証・認可チェック
3. 機密情報のハードコード
4. エラーメッセージの情報漏洩
コード:
{code}""",
"reviewer": """reviewerロールとして問題点を列挙してください。
修正コードは書かず、問題とその理由だけを指摘してください。
コード:
{code}""",
}
def build_prompt(role: str, **kwargs) -> str:
template = ROLE_PROMPTS.get(role, "{task}")
return template.format(**kwargs)
# 使い方
security_prompt = build_prompt(
"security",
code="""
def get_user(user_id: str):
query = f"SELECT * FROM users WHERE id = {user_id}"
return db.execute(query)
"""
)
print(security_prompt)
Geminiプロキシでコスト削減(実験的)
# LiteLLMをGemini Flash経由のプロキシとして立てる
pip install litellm[proxy]
# 設定ファイル
cat > litellm_config.yaml << 'EOF'
model_list:
- model_name: claude-sonnet # Claude CodeはこのモデルIDを使う
litellm_params:
model: gemini/gemini-2.0-flash # 実際はGemini
api_key: $GOOGLE_API_KEY
EOF
litellm --config litellm_config.yaml --port 4000
# Claude CodeにプロキシのURLを向ける(非公式の方法)
export ANTHROPIC_BASE_URL=http://localhost:4000
claude "backend ロールとして: ..."
# 注意: これは公式サポート外。APIレスポンス形式の差異で
# 一部の機能(コンテキスト管理等)が正常に動かない場合がある。
# コスト削減の実験的な方法として使う。
60日・20機能を達成したソロ開発の実際の時間割
1機能あたりの平均開発フロー(3〜4時間):
8:00 database: スキーマ設計 → Prismaに書き出し(30分)
8:30 backend: CRUD API実装 → ファイル書き出し(60分)
9:30 security: APIレビュー → 問題修正(20分)
9:50 frontend: UI実装 → Server Action連携(60分)
10:50 tester: pytestコード生成 → 実行確認(30分)
11:20 reviewer: 最終コードレビュー → 修正(20分)
11:40 devops: GitHub Actionsに追加 → プッシュ(10分)
合計: 〜3.5時間 → 午前中に完成
あわせて読みたい
- Claude Code制御ルールが機能しない原因と5つの検証方法
- AIから正確な回答をもらう7つのプロンプト術【Claude・ChatGPT実例付き】
- Claude Codeのコンテキスト力を上げる7つのコツ。質問の工夫で精度が変わる