From parallel-impl-task-planner
Decomposes plans into file-dependency tasks, groups into parallel Waves, outputs Mermaid graphs and split TODO directories. Use to parallelize implementation and visualize deps.
npx claudepluginhub sean-sunagaku/claude-code-plugin --plugin parallel-impl-task-plannerThis skill uses the workspace's default tool permissions.
実装計画をタスクに分解し、**編集ファイルが被らないタスクを全て並列化**する。
Generates phased, dependency-ordered tasks from specifications with parallelization opportunities and tech-stack patterns for systematic feature implementation.
Use when you need to create an execution plan from a feature spec - handles worktree context, dispatches subagent for task decomposition, validates quality, analyzes dependencies, groups into phases, and commits the plan
Decomposes specs into ordered, verifiable tasks with acceptance criteria using vertical slicing and dependency graphs. Use for large tasks, scope estimation, or parallel agent work.
Share bugs, ideas, or general feedback.
実装計画をタスクに分解し、編集ファイルが被らないタスクを全て並列化する。 成果物はディレクトリ分割された TODO ファイル群 + Mermaid 依存関係図。
以下のいずれか(またはユーザーに質問して収集):
docs/tasks/{date}_{task-name}/
├── todo.md ← 全体サマリー + Wave 並列マップ
├── implementation-plan.md ← 設計書(あれば同梱)
├── 01_{group-name}/todo.md ← 高レベル TODO 1 の詳細
├── 02_{group-name}/todo.md ← 高レベル TODO 2 の詳細
├── ...
└── NN_{group-name}/todo.md
ユーザーが指定した設計書・計画書を Read する。 なければユーザーにヒアリングして情報を集める。
実装を大きな塊に分ける。分け方の基準:
packages/shared/, apps/api/src/core/, apps/web/src/ etc.各高レベル TODO を具体的なタスクに分解する。各タスクに必ず以下を付記:
全タスクのペアについて、以下をチェック:
タスク間の依存関係を有向グラフとして構築する。
例:
shared-types → core (型を import)
shared-types → stores (型を import)
db-schema → db-shell (スキーマが必要)
core + db-shell + cli → orchestrator (全部を合成)
原則: 編集ファイルが被らなければ同時実行
具体的なチェック項目:
.ts / .tsx ファイルを編集しないかpackage.json に依存を追加しないか(これは Wave A でまとめて解決)依存グラフをトポロジカルソートし、依存のないタスクから順に Wave に割り当てる。
Wave N のルール:
- Wave N-1 の全依存タスクが完了済み
- Wave N 内のタスク同士は編集ファイルが被らない
- 可能な限り多くのタスクを同じ Wave に詰める(並列最大化)
1. 全タスクの依存カウントを計算
2. 依存カウント = 0 のタスクを Wave 1 に入れる
3. Wave 1 のタスクを「完了」として依存カウントを更新
4. 新たに依存カウント = 0 になったタスクを Wave 2 に入れる
5. Wave 内でファイル重複がある場合は、片方を次の Wave に送る
6. 全タスクが Wave に割り当てられるまで繰り返す
依存関係が解消されたタスクは、次の Wave を待たずに即座に開始可能と明記する。 例: Wave C のタスクの依存が Wave B の一部だけなら、その一部が終わった時点で開始可。
docs/tasks/{YYYY-MM-DD}_{task-name}/
今日の日付 + タスクの概要名でディレクトリを作る。
以下を含む:
# TODO: {タスク名}
> 元のタスク: {ユーザーの指示}
> 設計ドキュメント: [implementation-plan.md](implementation-plan.md)
## 進捗サマリー
- 総タスク数: N
- 完了: 0
- レビュー済み: 0/M
## 高レベル TODO 一覧
| # | タスク | 状態 | タスク数 | 詳細 |
|---|--------|------|---------|------|
| 1 | ... | [ ] 未着手 | N | [01_.../](01_.../) |
## 依存関係 + 並列実行マップ
{Mermaid graph}
### Wave 詳細
| Wave | 並列タスク | 待ち |
|------|-----------|------|
| A | ... | - |
| B | ... / ... / ... | A |
各サブディレクトリに詳細な todo.md を作成:
# N. {タスク名}
- **状態**: [ ] 未着手
- **概要**: ...
- **並列グループ**: Wave X で {他のタスク} と同時実行
## TODO
- [ ] N-1: {内容}({ファイルパス})
- 依存: {依存先タスク}
- {詳細な説明}
## 成果物
{生成されるファイル一覧}
Wave ごとにサブグラフを作り、タスク間の矢印で依存を表現:
graph LR
subgraph "Wave A"
T1["タスク名<br/>ファイルパス"]
end
subgraph "Wave B(N並列)"
T2["..."]
T3["..."]
end
T1 --> T2
T1 --> T3
生成した TODO を提示し、以下を確認:
修正があれば反映して再出力する。
この Skill の出力は long-run-implement のインプットとしてそのまま使える:
todo.md の形式が互換Wave の並列タスクは team-implement の Agent 並列実行にそのままマッピングできる: