Claude CodeのTaskCreate/TaskUpdateを使うと、7フェーズ・36ファイル作成規模の複雑な作業も整然と管理できます。
- 要点1: pending → in_progress → completedの3ステータスで作業の現在位置を常に把握できる
- 要点2: addBlockedByパラメータでフェーズ間の依存関係を明示し、順番を制御できる
- 要点3: サブエージェントと組み合わせると、独立したタスクを並列で効率的に処理できる
対象: Claude Codeで複雑な作業を進捗管理したいビジネスパーソン・DX推進担当者
今日やること: 次の複雑な作業の前に、全フェーズをTaskCreateで事前定義してから作業を開始する
この記事の目次
Claude Codeで複数のファイルを作成・編集する大規模な作業をしていると、「今どのフェーズが終わっているのか」「次に何をすべきか」がわからなくなることがあります。
「途中でコンテキストがリセットされてどこまでやったか不明になった」「並列で進めていた複数の作業の状況が把握できなくなった」——こうした経験をお持ちの方も多いでしょう。
この記事では、Claude Codeに搭載されているタスク管理機能(TaskCreate/TaskUpdate)の使い方を、実際の活用事例を交えて解説します。読み終えると、どんな複雑な作業でも進捗を整然と管理できるようになります。
Claude Codeのタスク管理機能とは?(基礎を3分で理解)
Claude Codeには、複雑な作業の進捗を管理するための専用機能が備わっています。2026年1月のアップデートにより、旧来の「Todoシステム」から新しい「Tasksシステム」へと進化し、より大規模な作業管理に対応できるようになりました。
旧仕様(TodoWrite)と新仕様(TaskCreate)の違い
以前のClaude Codeには「TodoWrite」と「TodoRead」という2つのシンプルなツールがありました。これはセッション内でのメモ的な使い方に向いていましたが、セッションが切れるとデータが消える、タスク間の依存関係を表現できない、複数のClaudeセッション間で情報を共有できないという制限がありました。
現在の「Tasksシステム」はこれらの課題をすべて解消しています。
| 比較項目 | 旧: TodoWrite/TodoRead | 新: TaskCreate/TaskUpdate等 |
|---|---|---|
| データの永続性 | セッション終了時に消える | ファイルに保存され残る |
| 依存関係の管理 | 不可 | addBlockedByで指定可能 |
| 複数セッション共有 | 不可 | 環境変数設定で共有可能 |
| ステータス管理 | 基本的なチェックリスト | pending/in_progress/completedの3段階 |
TaskCreate / TaskUpdate / TaskList / TaskGet の4ツール
現在のTasksシステムは4つのツールで構成されています。
| ツール | 役割 |
|---|---|
| TaskCreate | 新しいタスクを定義する。subject(タスク名)、description(詳細説明)、addBlockedBy(依存タスクID)を指定できる |
| TaskUpdate | タスクのステータスや内容を更新する。pending → in_progress → completed のライフサイクルを管理 |
| TaskList | 現在のタスク一覧と各ステータスを確認する |
| TaskGet | 特定のタスクの詳細を取得する |
TaskCreateを使うべき作業の特徴
タスク管理機能は、どんな作業でも使えば効果的というわけではありません。真価を発揮するのは、特定の条件を満たす作業です。
「大きく・長く・複雑な」作業でこそ真価を発揮
タスク管理機能が特に効果的なのは、次の3つの特徴を持つ作業です。
1. 複数のフェーズがある作業「ファイルAを作成してからファイルBを編集し、最後にサーバーに反映する」といった、手順の順番に意味がある作業。
2. 作業量が多くセッションをまたぐ可能性がある作業数十個のファイルを作成する、コードベース全体をリファクタリングするなど、一回のセッションで完結しにくい規模の作業。
3. 複数の独立したサブタスクが並列で進められる作業フロントエンドとバックエンドの修正、複数のドキュメント作成など、同時並行で進められる要素がある作業。
逆に、「この1ファイルを修正して」「このコードをデバッグして」といった単純な1〜2ステップの作業にはTaskCreateは不要です。
フェーズ間に依存関係がある場合はaddBlockedByが必須
作業の中に「Aが完了してからでないとBを始められない」という依存関係がある場合は、addBlockedBy パラメータで明示することが重要です。
例えば、「共通ライブラリの構築(フェーズ1)が終わらないと、そのライブラリを使う各機能の実装(フェーズ2)を始められない」という関係がある場合、フェーズ2のタスクにフェーズ1のIDを addBlockedBy として指定します。
これにより、Claude Code自身がタスクの実行順序を把握でき、依存するフェーズの完了前に次のフェーズに進むという混乱を防げます。
なお、実際の作業において並列化できる部分は全体の30〜40%程度とされています。残りの60〜70%は依存関係があるため、順次実行が必要です。タスク設計時にはこの点を意識して、どれが順次でどれが並列可能かを事前に整理しておくことをおすすめします。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちら基本的な使い方 — TaskCreate→TaskUpdate→TaskListの流れ
実際の操作の流れを、ステップ別に説明します。
STEP 1: 作業開始前に全タスクをTaskCreateで定義する
最も重要なのが「最初に全フェーズを定義する」という点です。作業を始めてから途中で「あ、このフェーズも必要だった」と追加することもできますが、事前に全体像を定義しておくことで、Claude Code自身が「何のためにこの作業をしているか」を理解した状態で動けます。
TaskCreate を使って以下のタスクを定義:- subject: "Phase 1: 共有スクリプト基盤の構築"- description: "md2html.py と inject_jsonld.py を shared-scripts に作成"- activeForm: "共有スクリプト基盤を構築中"TaskCreate を使って以下のタスクを定義:- subject: "Phase 2: 各スキルの更新"- description: "context.md と各SKILL.mdを更新"- activeForm: "スキル更新中"TaskCreate(Phase 3はPhase 1と2に依存):- subject: "Phase 3: 既存記事の修正"- addBlockedBy: ["Phase1のID", "Phase2のID"]
このように、作業の全体像をタスクとして事前定義します。
STEP 2: 各フェーズ開始時にTaskUpdate(in_progress)を設定する
各フェーズの作業を始める際は、該当するタスクのステータスを in_progress に更新します。これにより「今どのフェーズを進めているか」が明確になります。
TaskUpdate:- taskId: "1"- status: "in_progress"
STEP 3: 完了したらTaskUpdate(completed)に更新する
フェーズが完了したら、ステータスを completed に更新します。addBlockedBy で依存関係を設定している場合、このタスクが completed になると、依存していたタスクが pending(実行待ち)の状態になります。
TaskUpdate:- taskId: "1"- status: "completed"
STEP 4: 終了前にTaskListで全タスクの状況を確認する
セッション終了前や作業の区切りに、TaskList を実行してすべてのタスクの状況を確認します。「完了済み」「進行中」「未着手」の一覧が表示されるので、全体の進捗を把握できます。
| ステータス | 意味 |
|---|---|
| pending | 未着手(または依存タスクの完了待ち) |
| in_progress | 現在作業中 |
| completed | 完了済み |
Claude Codeの導入や活用方法について、個別にご相談いただけます。「どの機能から使えばいいか」「自社の業務にどう適用するか」といった段階から対応しています。
実際の活用事例 — 大規模プロジェクトでの管理方法
実際にTaskCreate/TaskUpdateを使って大規模なプロジェクトを管理した事例を紹介します。社名・サービス名などの固有情報は伏せています。
事例1: SEO改善プロジェクト(3フェーズ + 依存関係の管理)
あるメディアサイトのSEO・UI改善プロジェクトで、TaskCreateを活用しました。作業内容は次の3フェーズで構成されていました。
フェーズ構成:
| フェーズ | 内容 | 依存関係 |
|---|---|---|
| Phase 1 | 共通スクリプト基盤の構築(HTML変換スクリプト・JSON-LDスキーマ注入スクリプト等) | なし |
| Phase 2 | 各スキルファイルの更新(AIOサマリーボックス仕様の追加等) | なし |
| Phase 3 | 既存記事の修正・更新(共通スクリプトを使ってHTML再変換等) | Phase 1・Phase 2の完了が必要 |
Phase 3はPhase 1・Phase 2のスクリプトとスキルを必要とするため、addBlockedBy で両フェーズへの依存を設定しました。これにより、Phase 1・2の作業中にPhase 3を誤って先に始めてしまうミスを防ぐことができました。
このプロジェクトでは、HTML変換ロジックの修正や複数のスキルファイルの改訂など、細かい作業が多数発生しましたが、タスク管理によって「今はPhase 2のスキル更新中」という状況を常に明確に保てました。
事例2: ある情報管理システムの再構築(7フェーズ・36ファイル作成)
1,200メッセージ超に及ぶ長大なセッションで実施した、情報管理システムの大規模再構築プロジェクトです。7フェーズにわたり、合計36ファイルを新規作成する複雑な作業でした。
タスク定義の内容:
Phase 1: リポジトリリセット + ディレクトリ構造作成Phase 2: 既存ファイルのコピー + 新規ファイル作成(36ファイル)Phase 3: メインブランチへのマージとpushPhase 4: 自動同期スクリプト + launchd設定Phase 5: Claude Codeスキル + 設定ファイルの更新Phase 6: cronジョブの追加(2件)Phase 7: GitHub Actionsワークフローの作成
セッション開始直後にすべてのフェーズをTaskCreateで定義してから作業を開始しました。
このプロジェクトで特に効果的だったのが、「どのフェーズを今進めているか」の可視化です。Phase 2で36ファイルを作成する作業は非常に量が多く、途中で「今どのファイルまで作ったか」が見えにくくなりがちです。しかしTaskUpdate(in_progress / completed)を適切に使うことで、Claude Code自身が「Phase 2を進行中」という状況を把握しながら作業できました。
セッション終了前にはTaskListを実行し、すべてのフェーズがcompletedになっていることを確認しています。
両事例から学ぶ共通パターン
2つの事例から見えてくる、TaskCreate活用の共通パターンです。
- 作業開始前に全タスクを定義する — 作業中に追加することも可能ですが、事前定義が最も効果的
- 依存関係は最初に設計する — 後から変更もできるが、最初に全体の依存関係を整理しておく
- 各フェーズの開始・終了でTaskUpdateを必ず実行する — 「進行中」「完了」の更新を怠らない
- セッション終了前にTaskListで全体を確認する — 「やり残し」を防ぐための最終チェック
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちらTaskCreate × サブエージェントで並列処理を実現する
TaskCreateはサブエージェント(Claude Codeが生成する専門化されたAIアシスタント)と組み合わせることで、さらに強力な効果を発揮します。
サブエージェントとは、Claude Code内で動作する専門特化型のAIアシスタントです。独立したコンテキストウィンドウを持ち、特定のタスクを並列して処理することができます。(Claude Code Agent Teamsについて詳しくはこちら →)
並列化できるタスクと、順次実行すべきタスクの見極め方
すべてのタスクが並列化できるわけではありません。判断基準は「タスク間に依存関係があるか」です。
並列実行できるタスク(例):– フロントエンドのUI修正と、バックエンドAPIの修正- 複数の独立したドキュメントファイルの作成- 異なるモジュールのテストコード作成
順次実行が必要なタスク(例):– 共通ライブラリの構築 → そのライブラリを使う実装- データベーススキーマの定義 → データの投入処理の実装- 設定ファイルの作成 → その設定を参照するスクリプトの実装
実際の作業で並列化できる部分は全体の30〜40%程度です。残りは依存関係があるため、addBlockedBy を活用して順次実行を管理します。
addBlockedByパラメータで依存関係を管理する
addBlockedBy はTaskCreateの最も重要なパラメータの一つです。あるタスクが他のタスクの完了を待つ必要がある場合に使用します。
TaskCreate:- subject: "APIエンドポイントの実装"- addBlockedBy: ["データベーススキーマ定義のタスクID"]
このように設定すると、「データベーススキーマ定義」がcompletedになるまで、「APIエンドポイントの実装」はpending(blocked)状態のまま保たれます。
TaskListで状況を共有しながら複数エージェントが協調する
複数のサブエージェントが動作する場合、TaskListを使って共有タスクリストの状況を確認しながら協調できます。環境変数CLAUDE_CODE_TASK_LIST_IDを設定すると、複数のClaudeセッションが同じタスクリストを参照できます。
ただし、複数のサブエージェントが同じファイルに同時に書き込むことはファイル競合の原因になるため、「1タスク(1ファイル) = 1サブエージェント」を守ることが重要です。
よくある質問
Q. TaskCreateはセッションをまたいでタスクを引き継げますか?
はい、引き継げます。現在のTasksシステムはファイルベースで保存されるため、セッションが終了してもタスクの状態は保持されます。次のセッションでTaskListを実行すると、前回のセッションで定義・更新したタスクの状況を確認できます。
Q. TodoWriteとTaskCreateはどちらを使えばいいですか?
2026年時点では、新しいTaskCreate/TaskUpdate系のツールを使うことをおすすめします。TodoWriteは旧来のシンプルなチェックリスト機能で、セッション内の簡単なメモとして使えますが、依存関係の管理やセッション間の状態保持にはTaskCreate系が優れています。複数フェーズにわたる作業が発生する場合は、TaskCreateを選択してください。
Q. タスクを定義せずに作業を始めた場合、途中からTaskCreateを追加できますか?
はい、途中からでも追加できます。作業の途中で「これはタスク管理が必要な複雑さだ」と気づいた場合、そのタイミングでTaskCreateを使って残りのフェーズを定義することも有効です。ただし、最初から全フェーズを定義しておく方が、依存関係の設計もしやすく、効果的です。
\ AI活用の「次の一手」を一緒に考えませんか /
法人向けClaude Code個別指導の無料相談はこちらまとめ
Claude CodeのTaskCreate/TaskUpdateは、複数フェーズにわたる複雑な作業を整然と管理するための強力な機能です。
この記事のポイントをまとめます。
- 4ツール体系: TaskCreate(定義)/ TaskUpdate(更新)/ TaskList(一覧確認)/ TaskGet(詳細取得)で進捗を管理
- 事前定義が鍵: 作業開始前に全フェーズをTaskCreateで定義することで、Claude Code自身が全体像を理解した状態で動ける
- 依存関係はaddBlockedByで: フェーズ間の順序をシステムレベルで管理することで、実行順序の誤りを防ぐ
- サブエージェントと組み合わせると効果倍増: 独立したタスクを並列処理することで、大規模作業の時間を大幅に短縮できる
まずは次の複雑な作業から、冒頭でTaskCreateを使って全フェーズを定義してみてください。「今自分がどこにいるか」が常に明確になり、作業の質と速度が向上するはずです。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。非エンジニアの方でも業務効率化を実現できるよう、「何から始めればいいかわからない」という段階からご支援いたします。TaskCreate/TaskUpdateのような実践的な機能も、具体的な業務に適用しながら学べます。





