mcpField
T
task-decomposition

task-decomposition

github.com/pixel-process-ugエージェントワークフロー378 回インストール33 週間前に更新
リポジトリ

task-decomposition について

複雑な作業を、階層、依存関係、工数見積もりを備えたサブタスクに分解する計画スキルです。クリティカルパスと並行作業の機会も分析し、実行順序やリソース計画に役立てます。

主な機能

  1. 01範囲と分解粒度の定義
  2. 02階層型の作業分解構成の作成
  3. 03依存関係の整理とクリティカルパス分析
  4. 04並行作業の機会の特定
  5. 05工数見積もりと優先順位付け

活用シーン

  1. 01複雑な機能を検証可能なタスクに分解
  2. 02依存関係を整理し実行順序を決定
  3. 03並行して進められる作業を特定
  4. 04プロジェクト工数とクリティカルパスを見積もり

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pixel-process-ug/superkit-agents --skill task-decomposition

インストール後、Claude Code で/task-decompositionを入力して読み込まれたか確認します。

詳細

タスクの分解

概要

タスクの分解では、複雑なタスクを、明確な依存関係、工数見積もり、並列化の機会を備えた、管理しやすく明確に定義されたサブタスクに分割します。階層型作業分解構成(WBS)、依存関係グラフの作成、クリティカルパス分析、タスクの規模設定、並行実行の機会の特定を扱います。複数段階の実装計画、プロジェクトの見積もり、自律ループで選択するタスクの決定に不可欠です。

開始時に宣言: 「タスク分解スキルを使って、依存関係と見積もりを含む構造化された階層に作業を分解します。」

トリガー条件

  • 複雑なタスクをサブタスクに分解する必要がある
  • 作業項目間の依存関係をマッピングする必要がある
  • 計画のために工数を見積もる必要がある
  • 並列化の機会を特定する必要がある
  • /decompose コマンドが呼び出された
  • 複雑な計画について、計画スキルから移行する
  • 自律ループでタスクを選択するための指針が必要である

フェーズ 1:スコープの定義

目標: 分解の明確な境界を定義します。

  1. 全体の成果物と受け入れ基準を定義する
  2. 範囲の境界(対象となるもの、対象外となるもの)を特定する
  3. 分解の粒度を決定する
  4. ステークホルダーとその要件を特定する
  5. 制約(時間、リソース、依存関係)を定める
粒度の決定表
コンテキスト目標レベル典型的な期間理由
自律ループ(Ralph)L3-L4(タスク/サブタスク)15 分~4 時間ループの反復ごとにタスクは 1 つ
スプリント計画L2-L3(ストーリー/タスク)0.5~2 日スプリントに適した作業項目
ロードマップ計画L0-L1(エピック/機能)2~8 週間大まかなマイルストーンの追跡
バグ修正L3-L4(タスク/サブタスク)15 分~2 時間対象を絞った具体的な修正
粒度レベル
レベル名称典型的な期間例
L0エピック2~8 週間「ユーザー認証システム」
L1機能2~5 日「OAuth2 ログインフロー」
L2ストーリー0.5~2 日「Google OAuth プロバイダーの統合」
L3タスク1~4 時間「Google コールバックハンドラーを実装する」
L4サブタスク15~60 分「OAuth トークン応答を解析する」

停止 — 以下を満たすまでフェーズ 2 に進まないでください:

  • 成果物と受け入れ基準が定義されている
  • スコープの境界(対象/対象外)が明確である
  • 目標とする粒度レベルが選択されている
  • 制約が特定されている

フェーズ 2:階層的な分解

目標: INVEST 基準を満たすツリー構造に作業を分解します。

  1. 最上位の作業ストリーム(エピックまたは主要コンポーネント)を特定する
  2. 各作業ストリームを機能またはマイルストーンに分割する
  3. 機能を実装可能なタスクに分解する
  4. 「2 時間ルール」を適用する — 集中して作業するタスクが 2 時間を超えないようにする
  5. 各タスクに明確な完了条件があることを確認する
  6. MECE(相互に排他的で、全体を網羅している)になっているか確認する
タスクの INVEST 基準
基準質問悪い例良い例
Independent(独立性)他の作業を待たずに実行できますか?「DB の準備ができたら認証を実装する」「モック DB を使って認証を実装する」
Negotiable(交渉可能性)アプローチに柔軟性がありますか?「キャッシュに Redis を使う」「ユーザーセッション用のキャッシュ層を追加する」
Valuable(価値)完了すると価値が得られますか?「フォルダー構造を設定する」「ユーザー登録エンドポイントを作成する」
Estimable(見積もり可能性)工数を見積もれますか?「パフォーマンスを改善する」「ユーザー検索クエリ用のデータベースインデックスを追加する」
Small(小規模)1 人で 2 時間未満に完了できますか?「ダッシュボードを構築する」「売上データ用のダッシュボードのグラフコンポーネントを作成する」
Testable(検証可能性)完了したことを検証できますか?「改善する」「/api/users の応答時間を 200ms 未満にする」
MECE 検証
確認項目質問
相互排他性あるタスクが別のタスクと重複していませんか?(重複していないこと)
網羅性すべてのタスクを合わせると、成果物全体をカバーしていますか?(カバーしていること)
孤立タスクがないことすべてのタスクが成果物に貢献していますか?
抜けがないこと必要な作業なのに、対応するタスクがないものはありませんか?

停止 — 次の条件を満たすまで、フェーズ 3 に進まないでください。

  • すべての作業ストリームが特定されている
  • タスクが INVEST 基準を満たしている
  • MECE による網羅性が検証されている
  • 2 時間を超えるタスクがない

フェーズ 3:依存関係のマッピング

目標: タスクの依存関係を示す有向非巡回グラフ(DAG)を作成します。

  1. タスク間の入力/出力の依存関係を特定する
  2. 依存関係の種類を分類する
  3. 有向非巡回グラフ(DAG)を作成する
  4. クリティカルパス(最長の依存関係の連鎖)を特定する
  5. 循環依存関係を解決すべきエラーとして記録する
  6. 外部依存関係(API アクセス、承認、サードパーティ)を明示する
依存関係の種類
種類記号意味例
Finish-to-Start(FS)A -> BA が完了するまで B を開始できない「ビルドが成功する」の後に「デプロイ」
Start-to-Start(SS)A => BA の開始と同時に B を開始できる「コードの作成」の開始時に「ドキュメントを作成」
Finish-to-Finish(FF)A =>> BA が完了するまで B を完了できない「開発」の完了後に「テスト」が完了する
Start-to-Finish(SF)A ~> BA が開始するまで B を完了できないまれ — 引き継ぎのシナリオ
依存関係の表記形式
Task 1: Set up database schema
Task 2: Create data access layer         [depends: 1]
Task 3: Implement API endpoints          [depends: 2]
Task 4: Write unit tests for DAL         [depends: 2]
Task 5: Write API integration tests      [depends: 3, 4]
Task 6: Create frontend components       [depends: none]
Task 7: Connect frontend to API          [depends: 3, 6]
Task 8: End-to-end testing               [depends: 5, 7]

Parallel tracks:
  Track A: 1 -> 2 -> 3 -> 5 -> 8
  Track B: 1 -> 2 -> 4 -> 5 -> 8
  Track C: 6 -> 7 -> 8
  Critical path: 1 -> 2 -> 3 -> 7 -> 8
循環依存関係の解決
検出解決方法
A が B に依存し、B が A に依存している循環が解消されるよう、より小さなタスクに分割する
A が B のインターフェースに依存し、B が A のインターフェースに依存している先にインターフェースを個別のタスクとして定義する
コンポーネント間の結合度が高い抽象化レイヤーのタスクを追加する

停止 — 次の条件を満たすまで、フェーズ 4 に進まないでください。

  • すべての依存関係がマッピングされている
  • 循環依存関係が存在しない
  • クリティカルパスが特定されている
  • 外部依存関係が明示されている

フェーズ 4:並列化の計画

目標: 同時に実行できる、独立したタスクのクラスターを特定します。

  1. 独立したタスクのクラスター(相互に依存関係がないもの)を特定する
  2. リソースの種類(読み取り、書き込み、ビルド、テスト)ごとにタスクをグループ化する
  3. リソースの制約に基づいて、最大並列数を決定する
  4. 各並列トラック内のタスクを順序付ける
  5. 同期ポイント(マージゲート)を計画する
リソースに基づく並列数の上限
リソースの種類最大並列数理由
コードの読み取り/分析無制限副作用がない
ファイルの作成/編集3~5マージコンフリクトを防ぐ
ビルド/コンパイル1リソースの競合
テストの実行1~2状態とポートの共有
データベースのマイグレーション1性質上、順次実行
ドキュメント無制限ファイルが独立している
並列化パターンの選択表
パターン使用する場面例
独立したクラスター共有状態のない作業ストリームバックエンド、フロントエンド、インフラ
レイヤー別レイヤーごとに異なるファイルを扱うAPI、サービス、データ
機能領域別独立した垂直スライス認証、プロフィール、請求
タスクの種類別コード、テスト、ドキュメントが異なるファイルを扱う実装、テスト、ドキュメント作成
同期ポイント
  +------+     +------+     +------+
  |Task A|     |Task B|     |Task C|
  +--+---+     +--+---+     +--+---+
     |            |            |
     v            v            v
  ======================================
     SYNC GATE: All Complete
     Verify: no conflicts, tests pass
  ======================================
                 |
                 v
          +----------+
          |Next Phase|
          +----------+

停止 — 次の条件を満たすまで、フェーズ 5 に進まないでください。

  • 独立したクラスターが特定されている
  • リソースの制約が考慮されている
  • 同期ポイントが定義されている
  • 最大並列数が決定されている

フェーズ 5:見積もりと優先順位付け

目標: 各タスクの作業量を見積もり、実行スケジュールを作成します。

Tシャツサイズから時間への換算
サイズ時間確信度例
XS0.5-1h高変数名の変更、誤字の修正
S1-2h高シンプルなエンドポイントの追加、テストの作成
M2-4h中既知のパターンを使った機能の実装
L4-8h低調査が必要な新機能
XL8h+非常に低さらに細分化する必要があります
見積もりのヒューリスティクス
シナリオ乗数理由
既知のパターン基本見積もりの1.2倍不確定要素に備えて20%のバッファを確保
未知のパターン基本見積もりの2倍まず調査用のタスクを追加
統合作業各要素の合計の1.5倍統合は各要素単体より難しい
初めて扱う技術「知っていれば」の見積もりの3倍学習曲線を考慮
バグ修正調査を2時間に制限その後、見積もりをやり直す
三点見積もり
Expected = (Optimistic + 4 * Most Likely + Pessimistic) / 6

Example:
  Optimistic:  2 hours (everything goes smoothly)
  Most Likely: 4 hours (normal development pace)
  Pessimistic: 10 hours (major unexpected issues)
  Expected:    (2 + 16 + 10) / 6 = 4.7 hours
優先順位付けの判断表
要素重み評価方法
クリティカルパス上にある最高ここでの遅延はすべての遅延につながります
他のタスクをブロックしている高ブロック解除でスループットが向上します
ビジネス価値高ユーザーへの影響
リスクの低減中不確定要素のリスクを早期に低減します
クイックウィン中労力が少なく、士気が高まります
あれば便利低中核となる作業が完了してから取り組みます

作業分解構成テンプレート

# WBS: [Project Name]

## 1. [Work Stream A]
### 1.1 [Feature]
- [ ] 1.1.1 [Task] — Est: 2h — Deps: none — Priority: P0
- [ ] 1.1.2 [Task] — Est: 1h — Deps: 1.1.1 — Priority: P0
- [ ] 1.1.3 [Task] — Est: 3h — Deps: 1.1.1 — Priority: P1

### 1.2 [Feature]
- [ ] 1.2.1 [Task] — Est: 1h — Deps: none — Priority: P0
- [ ] 1.2.2 [Task] — Est: 2h — Deps: 1.2.1, 1.1.2 — Priority: P1

## 2. [Work Stream B]
### 2.1 [Feature]
- [ ] 2.1.1 [Task] — Est: 1h — Deps: none — Priority: P0
- [ ] 2.1.2 [Task] — Est: 4h — Deps: 2.1.1 — Priority: P0

## Summary
- Total tasks: N
- Estimated total effort: Xh
- Critical path duration: Yh
- Max parallelism: Z tracks
- External dependencies: [list]

クリティカルパス分析

クリティカルパスの見つけ方
  1. すべてのタスクを、所要時間と依存関係とともに列挙します
  2. 順方向パス:最早開始時刻(ES)と最早終了時刻(EF)を計算します
  3. 逆方向パス:最遅開始時刻(LS)と最遅終了時刻(LF)を計算します
  4. フロート = LS - ES(フロートがゼロのタスクはクリティカルパス上にあります)
  5. クリティカルパスは、依存関係グラフ上の最長の経路です
最適化戦略
戦略適用場面効果リスク
並列化クリティカルパス上の独立したタスクカレンダー上の所要時間を短縮します低
ファストトラッキング順次実行するタスクを重ねて実行所要時間を短縮します中 — 手戻りが発生する可能性があります
クラッシングクリティカルなタスクにリソースを追加所要時間を短縮します中 — 調整コストが発生します
スコープの縮小必須ではないタスクを削除作業全体を減らします低 — 必須ではないという判断が正しい場合
先行調査未知のタスクがパスをブロックしている場合見積もりのリスクを低減します低

アンチパターン/よくある間違い

アンチパターン失敗する理由正しいアプローチ
見積もれないほど大きなタスク「バックエンドを構築する」はタスクではありません見積もれる単位(2時間未満)になるまで細分化します
依存関係の見落とし実装中に表面化し、手戻りの原因になりますすべての依存関係を事前に洗い出します
循環依存アーキテクチャが不明確であることを示していますインターフェースのタスクを設けて循環を解消します
すべてのタスクを順次実行並列化できません独立したタスクのまとまりを特定します
分解せずに見積もるL0レベルで推測するため、常に間違いますリーフレベルで見積もり、合計します
外部依存関係を無視予期せず進行が妨げられます明示して、対応を計画します
過剰な細分化有益な情報ではなくノイズになります(フォームにサブタスクが50個など)意味があり、テスト可能な単位で止めます
クリティカルパスを無視重要度の低いタスクを優先してしまいます常にクリティカルパスを優先します
見積もりを更新しない学びが増えるにつれて見積もりにずれが生じます各フェーズの後に見積もり直します
受け入れ基準のないタスク完了を検証できませんすべてのタスクに完了の定義を設けます

合理化を防ぐガード

依存関係のマッピングを省略しないでください。2時間を超えるタスクを残さないでください。まず細分化せずに見積もらないでください。すべてのタスクに依存関係、見積もり、受け入れ基準が必要です。

次のように考えていることに気づいたら:

  • 「細分化しなくても全体を見積もれる……」— いいえ。まず細分化してください。
  • 「依存関係は明らかだから、マッピングする必要はない……」— マッピングしてください。隠れた依存関係は失敗の原因になります。
  • 「このタスクは8時間で問題ない……」— 細分化してください。XL タスクは分割する必要があります。
  • 「小規模なプロジェクトではクリティカルパスは重要ではない……」— 重要です。優先すべき項目がわかります。

サブエージェントへの委任機会

タスクのパターン委任先タイミング
細分化中に特定された並列実行可能な末端タスクAgent ツールを介した並列サブエージェントタスク間に共有依存関係がない場合
タスク境界のアーキテクチャ分析planner エージェント細分化によって横断的な懸念事項が明らかになった場合
細分化の完全性の検証spec-reviewer エージェントタスクツリーが完成したものの、未検証の場合

出力テーブルでは、細分化した各タスクに parallelizable: yes/no フラグを付けてください。委任時には dispatching-parallel-agents スキルのプロトコルに従ってください。


統合ポイント

スキル関係タイミング
planning上流 — 細分化する計画を提供複雑な計画で WBS が必要な場合
task-management下流 — 細分化したタスクを受け取る実行状況を追跡する場合
dispatching-parallel-agents下流 — 並列実行可能なクラスターを受け取る並行実行する場合
autonomous-loop下流 — WBS からタスクを選択Ralph のタスク選択
executing-plans下流 — WBS からバッチを作成計画を実行する場合
subagent-driven-development下流 — サブエージェント向けに独立したタスクを受け取る実装を委任する場合
spec-writing補完 — 仕様が細分化の指針となる要件を把握する場合

具体例

例:「ユーザー認証の追加」の細分化
# WBS: User Authentication

## 1. Core Auth
### 1.1 Token Management
- [ ] 1.1.1 Implement JWT generation — Est: 1h — Deps: none — P0
- [ ] 1.1.2 Implement JWT validation — Est: 1h — Deps: 1.1.1 — P0
- [ ] 1.1.3 Implement refresh token rotation — Est: 2h — Deps: 1.1.2 — P1

### 1.2 Auth Middleware
- [ ] 1.2.1 Create auth middleware — Est: 1h — Deps: 1.1.2 — P0
- [ ] 1.2.2 Add role-based access control — Est: 2h — Deps: 1.2.1 — P1

## 2. Auth Endpoints
### 2.1 Registration
- [ ] 2.1.1 POST /auth/register endpoint — Est: 1h — Deps: 1.1.1 — P0
- [ ] 2.1.2 Email validation — Est: 30m — Deps: none — P0

### 2.2 Login
- [ ] 2.2.1 POST /auth/login endpoint — Est: 1h — Deps: 1.1.1, 1.2.1 — P0
- [ ] 2.2.2 POST /auth/refresh endpoint — Est: 1h — Deps: 1.1.3 — P1

## Summary
- Total tasks: 8
- Estimated total effort: 10.5h
- Critical path: 1.1.1 -> 1.1.2 -> 1.2.1 -> 2.2.1 (4h)
- Max parallelism: 3 tracks (Token, Middleware, Endpoints)
- External dependencies: none

スキルのタイプ

RIGID — 細分化の各フェーズを順番に実施してください。すべてのタスクで INVEST 基準を満たし、依存関係、見積もり、受け入れ基準を明示する必要があります。数日かかる作業では、依存関係グラフとクリティカルパス分析が必須です。

コメント