✦ AI-SDLC ✦ Plan · Design · Implement · Review · Test · Ship ✦ Claude Code · Codex · Kiro · Antigravity ✦
AI-SDLC

Claude Code と
ソフトウェア開発の全フェーズ

計画から運用まで、各フェーズで Claude Code をどう使うかの考え方と判断軸

個人開発者向け Claude Code 公式ドキュメントベース
AI-SDLC とは、ソフトウェア開発ライフサイクル(SDLC)の各フェーズに AI を組み込んで開発を進める考え方です。Claude Code はコードを書くだけのツールではなく、計画・設計・実装・テスト・レビュー・デプロイという開発の全工程で使える エージェント型コーディング環境 です。このページでは各フェーズで「何を考えてどう使うか」の判断軸を整理します。
01 計画・要件定義
このフェーズの目的は「何を作るかを明確にする」こと。Claude Code はチャットボットとしてではなく、インタビュアー として使うのが効果的。自分だけでは考えつかない観点を引き出してもらう。

Claude にインタビューしてもらう(推奨パターン)

大きめの機能開発では、最初に Claude へ大まかなアイデアを伝え、詳細を聞き出してもらう。

[ユーザー認証機能を追加したい] と伝えた後:

I want to build [brief description].
Interview me in detail using the AskUserQuestion tool.

Ask about technical implementation, UI/UX, edge cases, concerns,
and tradeoffs. Keep interviewing until we've covered everything,
then write a complete spec to SPEC.md.

インタビューが終わったら 新しいセッションを開始 して実装に移る。実装セッションのコンテキストが要件定義の会話で汚染されない。

未知のコードベースに参加するとき

既存プロジェクトに参加した直後は、Claude Code をシニアエンジニアへの質問相手として使う。

コードベース理解
give me an overview of this codebase

アーキテクチャ・パターン・データモデルを質問する

設計意図の把握
look through ExecutionFactory's
git history and summarize how
its api came to be

「なぜこうなっているか」を git 履歴から読み解く

CLAUDE.md の生成
claude /init

プロジェクト構造を解析して CLAUDE.md のたたき台を自動生成

SPEC.md は「何を作らないか(スコープ外)」「エンドツーエンドの動作確認方法」まで書いておくと、実装フェーズで迷わなくなる。
公式: Let Claude interview you
02 設計・アーキテクチャ
このフェーズの目的は「どう作るかを決める」こと。Claude Code の Plan mode を使い、ファイルを編集させずに探索と計画だけをさせる。コードを書かせる前に変更範囲・影響範囲を把握するのが重要。

Explore → Plan → Implement の 4 ステップ(公式推奨)

  1. Explore(探索): Plan mode に入り、Claude にファイルを読ませて現状を把握させる。ファイルは一切編集されない。
    claude --permission-mode plan または セッション中に Shift+Tab
  2. Plan(計画): 実装プランを作らせる。Ctrl+G でプランをテキストエディタで直接編集できる。
    「What files need to change? Create a plan.」
  3. Implement(実装): Plan mode を解除してコーディングさせる。プランに沿って進んでいるか確認しながら進める。
  4. Commit: 実装が終わったら commit と PR を作らせる。
タスクのスコープが小さい(1文で差分を説明できる)場合は Plan mode をスキップして直接実装して OK。Plan mode はスコープが不明確・複数ファイルにまたがる変更・慣れていないコードの変更時に特に効果的。

CLAUDE.md にアーキテクチャ判断を記録する

プロジェクト固有の設計判断(使用ライブラリ・パターン・禁止事項)は CLAUDE.md に書いておく。毎セッションで Claude が読み込むため、「毎回同じことを説明する」手間がなくなる。

# CLAUDE.md の例
# Code style
- Use ES modules (import/export), not CommonJS (require)
- Prefer functional components over class components

# Architecture
- API calls go through src/api/ — never fetch() directly in components
- State management: Zustand only (no Redux)
CLAUDE.md は長すぎると Claude が指示を無視し始める。「これがないと Claude が間違いを犯すか?」と問いかけて、NO なら削除する。

調査をサブエージェントに委ねる

大きなコードベースの調査は サブエージェント に委ねる。調査の全ファイル読み込みが自分のコンテキストを消費しなくなる。

Use a subagent to investigate how our auth system handles
token refresh, and whether we have any existing OAuth utilities.
公式: Explore first, then plan, then code
03 実装
実装フェーズのキーワードは「コンテキストの質」。Claude は読んだファイル・実行したコマンド・会話履歴すべてをコンテキストとして持つ。コンテキストが汚れると精度が落ちる。どこで何を指示するかの管理が重要。

プロンプトに具体的なコンテキストを与える

戦略曖昧な指示(Bad)具体的な指示(Good)
スコープを絞る "add tests for foo.py" "write a test for foo.py covering the case where the user is logged out. avoid mocks."
既存パターンを参照 "add a calendar widget" "look at HotDogWidget.php for the pattern, then implement a calendar widget following it"
症状と場所を伝える "fix the login bug" "users report login fails after session timeout. check src/auth/, write a failing test, then fix it"

@ でファイルを参照する

Explain the logic in @src/utils/auth.js

What's the structure of @src/components?

並行作業: ワークツリーで複数セッション

「フィーチャーAを開発しながら、別のセッションでバグ修正」をファイルの衝突なしにできる。

claude --worktree feature-auth    # ターミナル1
claude --worktree fix-payment-bug  # ターミナル2(別ブランチ・別チェックアウト)

auto mode で割り込みを減らす

スコープが明確なタスクでは --permission-mode auto を使う。分類器がコマンドを評価し、危険なものだけをブロックする。

claude --permission-mode auto -p "fix all lint errors"

スキルで繰り返しワークフローを標準化

チームや個人で何度も使う手順は .claude/skills/ にスキルとして定義する。

# .claude/skills/fix-issue/SKILL.md
---
name: fix-issue
description: Fix a GitHub issue end-to-end
disable-model-invocation: true
---
1. Use `gh issue view` to get details
2. Search relevant files
3. Implement fix with tests
4. Create a PR

コンテキスト管理の判断基準

  • 関係ないタスクに切り替えるときは /clear でリセット
  • 同じ修正を 2 回以上やり直したら /clear して新しいプロンプトで再スタート
  • /rewind(または ESC × 2)で前のチェックポイントに戻れる
  • 脇道の質問は /btw で聞く(回答がコンテキストに残らない)
公式: Provide specific context in your prompts
04 テスト・検証
テストフェーズの核心は「Claude が自分で検証できる環境を作る」こと。検証手段がないと、Claude は「見た目が正しそう」な状態で止まる。パス/フェイルを返せるものを渡せば、Claude は自律的にループを回す。

検証手段を渡す(最重要)

検証の種類プロンプト例
テストスイート "write tests for the auth module, run them, and fix any failures"
ビルド終了コード "the build fails with [error]. fix it and verify the build succeeds. fix the root cause, don't suppress the error"
UI のスクリーンショット比較 "[デザイン画像を貼る] implement this design. take a screenshot and compare it to the original. fix differences."
スクリプトで fixture と diff 出力を fixture と比較するスクリプトを渡す

検証をどこで実施するか選ぶ

  • プロンプト内: 1 回のメッセージでテスト実行 + 修正を依頼する(最もシンプル)
  • /goal 条件: 目標条件を設定し、条件を満たすまで Claude が繰り返す
  • Stop hook: ターンが終わるたびにテストスクリプトを実行。失敗すると Claude が続ける(完全自律)
  • サブエージェントによる二次検証: 実装したエージェントとは別のエージェントがレビュー(バイアスなし)

テストファーストパターン

実装前にテストを書かせ、別のセッションで実装させる手法も有効。

# セッション A: テストを書く
"find functions in NotificationsService.swift
that are not covered by tests, then add tests
for edge cases"

# セッション B: テストを通す実装を書く
(新しいセッションで @テストファイルを渡す)
Claude に「成功した」と言わせるのではなく、テスト出力・コマンド結果・スクリーンショットを提示させる。エビデンスを確認する方が、もう一度実行し直すより速い。
公式: Give Claude a way to verify its work
05 コードレビュー
コードレビューで重要な原則は「実装したエージェントにレビューさせない」こと。実装時のコンテキストを持つセッションは、自分が書いたコードに有利な判断をしがち。新鮮なコンテキストでレビューする仕組みが精度を上げる。

Writer / Reviewer パターン(公式推奨)

2つのセッションで役割を分担する。

セッション A(Writer)セッション B(Reviewer)
"Implement a rate limiter for our API endpoints" (実装後)
"Review @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with existing patterns."
"Here's the review: [Session B output]. Address these issues."

/code-review スキル(組み込み)

Claude Code 組み込みの /code-review コマンドは、現在の diff に対してサブエージェントが独立してバグチェックを行い、結果をセッションに返す。

/code-review          # 現在の diff をレビュー
/code-review ultra    # マルチエージェントクラウドレビュー(深い)

CI での自動レビュー

PR が開かれたときに自動でコードレビューするには GitHub Actions 統合を使う。

git diff main --name-only | claude -p \
  "review these changed files for security issues"

レビューの指示精度を上げる

レビュアーに「ギャップを探せ」と指示すると問題がなくても何か報告する。正確さや要件に影響するものだけを報告させる。

Use a subagent to review the rate limiter diff against PLAN.md.
Check that every requirement is implemented, listed edge cases
have tests, and nothing outside scope changed.
Report gaps that affect correctness, not style preferences.
公式: Add an adversarial review step
06 デプロイ・運用
デプロイ・運用フェーズでは Claude Code を 自動化・監視・定期タスク のパイプラインに組み込む。claude -p は Unix コマンドとして他のツールと連携できる。

PR 作成・コミット

claude "commit my changes with a descriptive message"
claude "create a pr"

PR 作成後は claude --from-pr <number> でそのセッションに戻れる。

CI / CD に組み込む(非インタラクティブモード)

claude -p で Claude をスクリプトやパイプラインに組み込める。

# ログ異常の検知
tail -200 app.log | claude -p "Slack me if you see any anomalies"

# CI での翻訳
claude -p "translate new strings into French and raise a PR"

# セキュリティチェック
git diff main --name-only | claude -p "review for security issues"

# JSON 出力(パーサー向け)
claude -p "List all API endpoints" --output-format json

定期タスクの自動化(スケジュール実行)

方法実行場所向いている用途
Routines Anthropic クラウド PC がオフでも動かしたいタスク(毎朝 PR レビュー・週次依存関係チェック等)
Desktop scheduled tasks 自分のマシン ローカルファイルや未コミット変更へのアクセスが必要なタスク
GitHub Actions CI パイプライン PR オープン・push などリポジトリイベントに連動するタスク
/loop 現在の CLI セッション セッション中の短期ポーリング

スケジュールタスクのプロンプトの書き方

自律実行するタスクは、「成功とは何か」「結果をどこに出すか」を明示する。確認質問ができないため。
例: 「Review open PRs labeled `needs-review`, leave inline comments, and post a summary in #eng-reviews Slack channel.」

どこからでも作業できる

  • Remote Control: スマホから Mac/Windows 上のセッションを操作・承認
  • Web / iOS app: ブラウザやスマホで長時間タスクを開始し、ターミナルで claude --teleport して引き継ぐ
  • Slack: @Claude にバグレポートをメンションすると PR が返ってくる
公式: Run Claude on a schedule
⚠️ よくある失敗パターンと対策

公式ドキュメントが明示的にまとめている「避けるべきパターン」。

パターン名何が起きるか対策
キッチンシンクセッション 1つのタスクをしながら関係ない質問を混ぜる → コンテキストが無関係な情報で汚染される 関係ないタスクへの切り替えは /clear でリセット
繰り返し修正ループ 同じ間違いを 2 回以上修正 → コンテキストが失敗した試みで汚染 2 回失敗したら /clear → 学んだことを含めたより具体的なプロンプトで再スタート
肥大化した CLAUDE.md CLAUDE.md が長すぎて重要な指示が無視される 「これがないと Claude が間違えるか?」→ NO なら削除。フック化できるものはフックに移す
信頼して検証しないギャップ もっともらしい実装がエッジケースを処理していない 常に検証手段(テスト・スクリプト・スクリーンショット)を渡す
無限探索 「調査して」とだけ指示して数百ファイルを読まれる → メインのコンテキストが枯渇 調査は範囲を絞るか、サブエージェントに委ねる
公式: Avoid common failure patterns
各フェーズの判断基準まとめ
フェーズClaude Code の使い方核心の判断基準
計画・要件定義インタビュアー / 質問相手SPEC.md ができるまでコードを書かせない
設計Plan mode で探索・プラン生成差分を 1 文で説明できないなら Plan mode を使う
実装具体的なコンテキストを与えて実装コンテキストが汚れたら /clear、2 回失敗したら再スタート
テスト検証手段を渡して自律ループ「言葉で成功を報告」ではなくエビデンスを出させる
レビュー別セッション・サブエージェントでレビュー実装したエージェントにレビューさせない
デプロイ・運用非インタラクティブ・スケジュール実行自律タスクは「成功とは何か」「結果をどこへ」を明示