結論: Claude CodeのTaskCreate/TaskUpdateは、複数セッションにまたがる複雑な開発作業を依存関係グラフで管理する進捗管理システムです。
この記事の要点:
- TaskCreate/TaskUpdateはセッションをまたいでタスクを永続管理できる(TodoWriteは単一セッション限定)
addBlockedByパラメータで依存グラフを作成し、並列実行と逐次実行を自動制御できる- サブエージェントとの組み合わせでチーム開発規模の作業を1人で回せる
対象読者: Claude Codeを日常的に使っているエンジニア・非エンジニアで、複数セッションにわたる大きな開発プロジェクトに取り組む方
読了後にできること: 今日すぐ10ステップ以上の複雑タスクをTaskCreateで分解し、サブエージェントに自律実行させる
「あれ、昨日どこまでやったっけ?」
企業向けClaude Code研修で、最もよく出る声がこれです。複数日にわたる開発作業、中断と再開を繰り返すリファクタリング——そのたびに「前回の状況を説明する」ところから始めていませんか?
先日、ある製造業(従業員300名規模)のDX推進担当者さんとセッションをしていたとき、こんなことがありました。社内の在庫管理システムをClaude Codeでリファクタリングしようとしていたのですが、作業が5日間にわたり、毎朝「昨日はフェーズ3の途中で……」と説明するところから始まる。これだけで10〜15分ロスしていたんです。
TaskCreate/TaskUpdateを使い始めてから、その時間が劇的に減りました。タスクリストが永続化されているから、翌朝 TaskList を呼ぶだけで「どこで止まっていたか」が一目瞭然になる。しかもサブエージェントと組み合わせると、並列で複数の作業を自律実行させることもできます。
この記事では、Claude CodeのTaskCreate/TaskUpdateの全仕様を、コピペ可能なプロンプトつきで完全公開します。TodoWriteとの使い分けから、チーム開発での活用法まで、順に紹介していきますので、ぜひ今日の作業から試してみてください。
Claude Codeの基本概念については、AIエージェント導入完全ガイドで体系的にまとめています。
まず試したい「5分即効」TaskCreate 3選
難しく考える前に、まず動かしてみましょう。以下の3パターンをそのままClaude Codeに貼り付けて試してください。
即効テクニック1:シンプルなリファクタリング計画を作る
研修でいちばん最初に試してもらうのがこのプロンプトです。「タスクを作って」と言うだけで、Claude Codeが自律的にTaskCreateを使い始めます。
以下のリファクタリング作業をTaskCreateで分解してください。
各タスクには subject(タスク名)と description(詳細)を含め、
依存関係がある場合は addBlockedBy でリンクしてください。
作業内容: src/auth/ ディレクトリのJWT認証を刷新する
- 現在: セッション管理がバラバラで重複コードが多い
- 目標: 統一されたJWTミドルウェアに集約
作業が終わったら TaskList で一覧を表示してください。
不足している情報があれば、最初に質問してから作業を開始してください。効果: 研修先での実例 — 15ステップのリファクタリングが5〜8個のタスクに整理され、「どこから着手すべきか」が一目でわかるようになりました。
即効テクニック2:中断した作業を再開する
セッションが切れた翌日、これを使うと3秒で状況が復元されます。
前回の作業状況を確認します。
まず TaskList を実行して、未完了・進行中のタスクを全て表示してください。
その後、優先度の高いタスクから再開の提案をしてください。
仮定した点は必ず"仮定"と明記してください。効果: 毎朝の「状況説明」時間がゼロになります。顧問先の開発チームでこれを導入したところ、朝のセッション開始が平均12分→2分に短縮されました。
即効テクニック3:サブエージェントにタスクを自動割り当てする
これが最も強力なパターンです。タスクリストを作成し、サブエージェントが並列でこなしていく自動化フローです。
以下のドキュメント更新作業をタスク化し、
各タスクにサブエージェントを割り当てて並列実行してください。
作業内容:
1. README.md の API仕様セクションを更新
2. CHANGELOG.md にv2.3.0のリリースノートを追加
3. docs/setup.md のインストール手順を最新化
各タスクは独立しているので、並列実行可能です。
全タスク完了後に TaskList で結果を報告してください。
数字と固有名詞は、根拠(出典/計算式)を添えてください。効果: 3つのドキュメント更新が直列で約45分かかっていたのが、並列実行で約18分に短縮。
TaskCreate/TaskUpdateは「3つの軸」で理解する
| 軸 | 内容 | 主なAPI |
|---|---|---|
| 作成・定義 | タスクの作成と詳細設定 | TaskCreate |
| 状態管理 | 進捗・依存関係・担当者の更新 | TaskUpdate |
| 参照・確認 | 一覧表示・詳細取得 | TaskList / TaskGet |
この3軸を覚えておくと、どのツールをいつ使うべきか直感的にわかります。
TaskCreateの完全リファレンス
パラメータ一覧
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
subject | string | 必須 | タスクの短いタイトル(命令形で書く) |
description | string | 推奨 | タスクの詳細説明・完了条件 |
activeForm | string | 任意 | 進行中に表示するプログレス文言(現在進行形) |
実際の使用例
// シンプルなタスク作成
TaskCreate({
subject: "JWT認証ミドルウェアを実装する",
description: "src/middleware/auth.ts を新規作成し、アクセストークン検証・リフレッシュトークン処理・エラーハンドリングを実装する",
activeForm: "JWT認証ミドルウェアを実装中..."
})
// 実行結果: タスクID(例: "task-001")が返される
重要なのは activeForm です。サブエージェントが並列実行しているとき、ターミナルに「○○を実行中…」と表示されます。長時間実行のタスクでは必ず設定しておきましょう。
subjectの書き方のコツ
研修で一番反響が大きかったのが、subjectの書き方です。
| NG(曖昧) | OK(具体的) |
|---|---|
| 「認証を直す」 | 「JWT検証ロジックをauth.tsに統合する」 |
| 「テスト」 | 「auth.tsのユニットテスト(カバレッジ80%以上)を書く」 |
| 「ドキュメント更新」 | 「APIドキュメントにv2.3.0の変更点を追記する」 |
TaskUpdateの完全リファレンス
パラメータ一覧
| パラメータ | 型 | 説明 |
|---|---|---|
taskId | string | 更新対象のタスクID(必須) |
status | enum | “pending” | “in_progress” | “completed” | “blocked” | “cancelled” |
owner | string | 担当エージェント名(マルチエージェント時に重要) |
addBlockedBy | string[] | このタスクが依存するタスクIDのリスト |
addBlocks | string[] | このタスクが完了すると解放されるタスクIDのリスト |
description | string | タスク詳細の上書き更新 |
依存関係の設定パターン
ここが最も強力な機能です。依存グラフを構築することで、Claude Codeが自動的に実行順序を判断します。
// タスクA: データベースマイグレーション
TaskCreate({ subject: "DBマイグレーションを実行する", ... })
// → taskId: "task-001"
// タスクB: APIエンドポイント実装(task-001完了後に開始可能)
TaskCreate({ subject: "GET /api/users エンドポイントを実装", ... })
// → taskId: "task-002"
TaskUpdate({ taskId: "task-002", addBlockedBy: ["task-001"] })
// タスクC: E2Eテスト(task-002完了後)
TaskCreate({ subject: "E2Eテストを実行して合格確認", ... })
// → taskId: "task-003"
TaskUpdate({ taskId: "task-003", addBlockedBy: ["task-002"] })
// 結果: task-001 → task-002 → task-003 の順に自動実行顧問先のスタートアップで実際に使った例です。15タスクの依存グラフを設定したところ、Claude Codeが独立タスクを並列実行し、逐次タスクを順番に処理してくれました。従来3日かかっていた作業が1日で完了しました。
statusの遷移フロー
// 典型的なライフサイクル
"pending" → "in_progress" → "completed"
// ブロック時
"in_progress" → "blocked" (依存タスクが未完了の場合)
// キャンセル
任意の状態 → "cancelled"
// 担当割り当て(マルチエージェント時)
TaskUpdate({ taskId: "task-001", owner: "security-reviewer", status: "in_progress" })TodoWriteとの使い分け完全ガイド
「TaskCreateとTodoWriteって何が違うの?」——研修で必ず出てくる質問です。ツールリファレンスには明確に記載されています:
TodoWrite: 非対話モードとAgent SDKで使用。インタラクティブセッションではTaskCreate/TaskGet/TaskList/TaskUpdateを使う。
| 比較項目 | TodoWrite | TaskCreate/TaskUpdate |
|---|---|---|
| 永続性 | セッション内のみ(揮発性) | ~/.claude/tasks/ にファイル保存 |
| クロスセッション | 不可 | 可能(環境変数で共有) |
| 依存関係 | なし | DAGによる依存グラフ管理 |
| マルチエージェント | 不可 | サブエージェント間でリアルタイム共有 |
| 適した場面 | 単一セッションの軽いタスク管理 | 複数セッション・複雑なプロジェクト管理 |
| 利用環境 | 非対話モード・Agent SDK | インタラクティブセッション |
ざっくり言うと:「今日中に終わる作業 = TodoWrite」「複数日・複数エージェントにまたがる = TaskCreate」です。
複雑なマルチステップタスクの分解術
プロジェクト開始時のタスク分解プロンプト
大型プロジェクトを始めるとき、まずこれを使います。「分解してください」と言うだけで、Claude Codeが適切な粒度でTaskCreateを連発してくれます。
以下のプロジェクトをTaskCreateで分解してください。
以下の条件を守ること:
- 各タスクは1〜3時間で完了できる粒度に分解
- 依存関係がある場合は addBlockedBy を設定
- parallel で実行できるタスクは依存関係を設定しない
- 各タスクには完了条件を description に明記する
プロジェクト: 社内SlackボットをClaude APIで再実装する
現状: Python製の古いボット(応答遅い・メンテ困難)
目標: Node.js + Claude API で高速・保守性の高いボットに置き換え
期間: 2週間
作業完了後、TaskList で全タスクを表示し、
クリティカルパス(最長の依存チェーン)を特定してください。
不足している情報があれば、最初に質問してから作業を開始してください。フェーズ管理のパターン
大きなプロジェクトは「フェーズ」で区切ると管理しやすくなります。
// フェーズ1: 調査・設計(2日)
TaskCreate({ subject: "既存ボットのコード解析と仕様書作成", ... })
TaskCreate({ subject: "Claude API のレート制限・料金調査", ... })
TaskCreate({ subject: "新アーキテクチャ設計書の作成", ... })
// フェーズ2: 実装(1週間) - フェーズ1完了後
TaskCreate({ subject: "Slack Bolt.js 基盤セットアップ", ... })
TaskUpdate({ taskId: "実装-001", addBlockedBy: ["設計-003"] })
// フェーズ3: テスト(3日) - フェーズ2完了後
TaskCreate({ subject: "統合テスト実行と修正", ... })
// ...サブエージェント連携でチーム開発を自動化する
マルチエージェント作業の基本パターン
先日、ある研修先でこのパターンを初めて見た参加者が「これ、本当に全部やってくれるんですか?」とびっくりしていました。はい、やってくれます。
以下の並列作業をサブエージェントで分担実行してください。
TaskListで既存タスクを確認後、未完了タスクを以下のように割り当て:
サブエージェント1(security-reviewer):
- task-005: 認証モジュールのセキュリティレビュー
- TaskUpdate で owner を "security-reviewer" に設定
サブエージェント2(test-runner):
- task-006: ユニットテストの実行と結果記録
- TaskUpdate で owner を "test-runner" に設定
各サブエージェントはタスク開始時に status を "in_progress" に更新し、
完了時に "completed" に更新すること。
全サブエージェント完了後、TaskList で最終ステータスを報告してください。
仮定した点は必ず"仮定"と明記してください。クロスセッション共有の設定
複数のClaude Codeセッションでタスクリストを共有するには、環境変数を使います。
# セッションAで設定(タスクリストの場所を固定)
export CLAUDE_TASK_FILE=~/projects/myapp/.claude-tasks.json
# セッションBでも同じ変数を設定 → 同じタスクリストを参照
export CLAUDE_TASK_FILE=~/projects/myapp/.claude-tasks.json
# セッションAがタスクを完了させると、セッションBもリアルタイムで確認できるこれを使うと、午前中のセッションで「ここまでやった」という記録が夕方のセッションに自動で引き継がれます。
進捗管理・報告の自動化
日次進捗レポートの自動生成
このプロンプトを毎朝・毎夕実行するだけで、進捗管理が自動化されます。
TaskList を実行して現在の全タスクの状況を取得し、
以下のフォーマットで日次進捗レポートを作成してください:
## 本日の進捗レポート(YYYY-MM-DD)
### 完了済み ✅
(completed ステータスのタスク一覧)
### 進行中 🔄
(in_progress ステータスのタスク一覧)
### ブロック中 ⛔
(blocked ステータスのタスクと、ブロック原因)
### 未着手 📋
(pending ステータスのタスク一覧)
### 明日の優先アクション
(blockedを解除するために今日できること、または次に着手すべきタスク)
数字と固有名詞は、根拠(出典/計算式)を添えてください。ステークホルダー向け週次サマリー
TaskList と各タスクの TaskGet で詳細を収集し、
非エンジニアの上司・クライアント向けに
技術用語なしの週次進捗サマリーを作成してください。
以下の点を強調:
- 完了した「成果物」(コードではなくビジネス価値で説明)
- 予定vs実績の比較
- リスク・ブロック要因と対策
- 来週の予定
「○○を実装した」ではなく「○○機能が使えるようになった」と書くこと。チーム開発での活用パターン
コードレビュープロセスの自動化
これが特に反響が大きかった事例区分: 想定シナリオ(100社以上の研修経験をもとに構成した典型的なシナリオ)です。
事例区分: 想定シナリオ
以下は100社以上の研修経験をもとに構成した典型的なシナリオです。
SaaS開発チーム(エンジニア5名)のPRレビュープロセスをTaskCreate+サブエージェントで自動化した例:
// PRマージ前の自動チェックフロー
TaskCreate({ subject: "セキュリティ脆弱性スキャン", ... })
TaskCreate({ subject: "ユニットテスト全件実行", ... })
TaskCreate({ subject: "E2Eテスト(クリティカルパス)", ... })
TaskCreate({ subject: "コードスタイル・リンタチェック", ... })
TaskCreate({ subject: "パフォーマンスベンチマーク", ... })
TaskCreate({ subject: "最終レビューコメント集約", ... })
// 最終レビューは全チェック完了後
TaskUpdate({
taskId: "最終レビュー",
addBlockedBy: ["セキュリティ", "ユニットテスト", "E2E", "スタイル", "パフォーマンス"]
})このフローを導入したチームでは、PRレビュー時間が平均2.5時間→40分に短縮されたと報告がありました。
スプリント計画への応用
以下のスプリントバックログをTaskCreateで登録し、
優先度・依存関係・担当エージェントを設定してください。
バックログ:
- ユーザー認証機能(優先度: 高)
- ダッシュボードUI実装(優先度: 中)
- メール通知機能(優先度: 中、認証機能に依存)
- 管理者権限設定(優先度: 低、認証機能に依存)
- パフォーマンスチューニング(優先度: 低)
2週間スプリントとして、TaskCreateで全タスクを作成後、
クリティカルパスと推奨実行順序を提示してください。
仮定した点は必ず"仮定"と明記してください。【要注意】よくある失敗パターンと回避策
失敗1:taskIdを間違えて依存関係がズレる
❌ よくある間違い:TaskCreateの直後に task-001 と決め打ちでTaskUpdateする
⭕ 正しいアプローチ:TaskCreateの戻り値からtaskIdを取得し、それを使う
// NG: ID決め打ち(実際のIDと違う可能性がある)
TaskUpdate({ taskId: "task-001", addBlockedBy: ["task-002"] })
// OK: TaskListでIDを確認してから設定
const tasks = TaskList()
// → 返ってきたIDを確認してからTaskUpdateを呼ぶなぜ重要か: IDが間違っていると依存グラフが壊れ、本来実行されるべきタスクが「blocked」のまま止まります。研修先でこれに気づかず半日ロスしたケースがありました。
失敗2:タスクの粒度が大きすぎる
❌ よくある間違い:「バックエンド全体をリファクタリング」という1タスクを作る
⭕ 正しいアプローチ:1〜3時間で完了できる粒度に分解する
なぜ重要か: 粒度が大きいとサブエージェントが「何をすべきか」を迷い、中途半端な実装になります。「完了条件が明確に書けるか」を確認基準にしましょう。
失敗3:環境変数の設定を忘れてクロスセッション共有ができない
❌ よくある間違い:2つのターミナルを開いたのに、片方のタスク更新がもう片方に反映されない
⭕ 正しいアプローチ:両方のセッションで CLAUDE_TASK_FILE を同じパスに設定する
なぜ重要か: 環境変数なしだと、セッションごとに別々のタスクファイルが作られます。チーム開発では .env や direnv で統一管理しましょう。
失敗4:TodoWriteと混在させる
❌ よくある間違い:インタラクティブセッション中にTodoWriteを使う(実は非推奨)
⭕ 正しいアプローチ:インタラクティブセッションではTaskCreate一本に統一する
なぜ重要か: 公式ドキュメントに明記されています——「インタラクティブセッションではTaskCreate/TaskGet/TaskList/TaskUpdateを使う」。TodoWriteはAgent SDKや非対話モード専用です。混在すると、どちらのタスクを参照すべきか混乱します。
実践:20ステップのAPI開発をTaskCreateで完全管理する
最後に、実際の開発シナリオを通しで見てみましょう。REST APIをゼロから構築する20ステップをTaskCreateで管理する例です。
以下のREST API開発プロジェクトをTaskCreateで完全管理してください。
プロジェクト: ユーザー管理API(Node.js + Express + PostgreSQL)
フェーズ1 - 設計(並列実行可能):
- データベーススキーマ設計
- APIエンドポイント仕様書作成
- 認証フロー設計
フェーズ2 - 基盤構築(フェーズ1完了後):
- PostgreSQL接続設定
- Expressサーバー初期セットアップ
- JWT認証ミドルウェア実装
フェーズ3 - エンドポイント実装(フェーズ2完了後、互いに並列):
- POST /users(ユーザー作成)
- GET /users/:id(ユーザー取得)
- PUT /users/:id(ユーザー更新)
- DELETE /users/:id(ユーザー削除)
フェーズ4 - テスト(フェーズ3完了後):
- ユニットテスト作成
- 統合テスト実行
- セキュリティ脆弱性チェック
フェーズ5 - デプロイ準備(フェーズ4完了後):
- Dockerfile作成
- GitHub Actions CI/CD設定
- ステージング環境デプロイと動作確認
各フェーズ間の依存関係を addBlockedBy で設定してください。
同一フェーズ内のタスクは並列実行可能にしてください。
全タスク作成後、TaskList で一覧を表示し、
推定総作業時間とクリティカルパスを計算してください。
不足している情報があれば、最初に質問してから作業を開始してください。このプロンプト1つで、Claude Codeが20タスクの依存グラフを自動構築し、並列実行可能な部分は複数のサブエージェントが同時に進めてくれます。
参考・出典
- Tools reference — Claude Code Docs(参照日: 2026-04-25)
- Claude Code Tasks: Complete Guide to AI Agent Workflow — dplooy(参照日: 2026-04-25)
- Claude Code’s ‘Tasks’ update lets agents work longer and coordinate across sessions — VentureBeat(参照日: 2026-04-25)
- Claude Code Task Management: Native Multi-Session AI — ClaudeFast(参照日: 2026-04-25)
まとめ:今日から始める3つのアクション
- 今日やること: 上記「5分即効テクニック1」を試す — 今進めている作業をTaskCreateで分解してみる
- 今週中: クロスセッション共有を設定し、翌日のセッション開始を「TaskList確認」から始める習慣をつける
- 今月中: サブエージェントとの組み合わせを試し、並列実行できる作業を特定してTaskUpdateで依存グラフを組む
次回は「Claude Code Monitor + Auto Modeの高度な活用法」をテーマに、リアルタイム監視とCI/CDへの統合をお届けします。
著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。早稲田大学法学部在学中に生成AIの可能性に魅了され、X(旧Twitter)で活用法を発信(@SuguruKun_ai、フォロワー約10万人)。100社以上の企業向けAI研修・導入支援を展開。著書『AIエージェント仕事術』(SBクリエイティブ)。SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。
ご質問・ご相談はお問い合わせフォームからお気軽にどうぞ。
あわせて読みたい:
- Claude Code Monitor + Auto Mode活用ガイド2026 — リアルタイム監視とCI/CD統合
- Claude Code 1時間キャッシュ最適化ガイド — コスト78%削減の実装方法


