| name | task-decomposer |
| license | Apache-2.0 |
| description | Breaks natural-language problem descriptions into sub-tasks suitable for DAG nodes. The entry point of the meta-DAG. Identifies phases, dependencies, parallelization opportunities, and vague/pluripotent nodes that can't yet be specified. Uses domain meta-skills when available. Activate on "decompose task", "break down problem", "plan workflow", "what are the steps", "sub-tasks", "task breakdown". NOT for executing the decomposed tasks (use dag-runtime), building the DAG structure (use dag-planner), or matching skills to nodes (use dag-skills-matcher). |
| allowed-tools | Read,Grep,Glob |
| argument-hint | [problem-description] |
| metadata | {"tags":["task","decomposer","decompose-task","break-down-problem","plan-workflow"],"pairs-with":[{"skill":"output-contract-enforcer","reason":"Decomposed tasks define output schemas that the enforcer validates between nodes"},{"skill":"skillful-subagent-creator","reason":"Decomposed tasks map to subagent specializations with curated skill sets"},{"skill":"human-gate-designer","reason":"Task decomposition identifies which stages need human review gates"}]} |
| category | Agent & Orchestration |
| tags | ["task-decomposition","planning","subtasks","agents","orchestration"] |
Task Decomposer
Breaks natural-language problems into sub-tasks suitable for DAG nodes. The first step of the meta-DAG: before you can build or execute a DAG, you need to understand what the pieces are.
Decision Points
1. DOMAIN CLASSIFICATION
├─ Contains {"build", "implement", "code", "app"} → Use software-project-decomposition
├─ Contains {"research", "analyze", "report"} → Use research-synthesis-decomposition
├─ Contains {"design", "UI", "prototype"} → Use product-design-decomposition
├─ Contains {"data", "model", "train", "ML"} → Use ml-project-decomposition
└─ No clear domain signals → Zero-shot decomposition
2. SUB-TASK GRANULARITY
├─ Can one agent complete in one call? → Correct granularity
├─ Requires multiple agent calls/skills? → Split into smaller sub-tasks
└─ Too trivial (open file, read line)? → Merge with adjacent sub-task
3. DEPENDENCY DETECTION
├─ B needs A's output data? → Create data dependency A→B
├─ B needs A's knowledge/decisions? → Create knowledge dependency A→B
├─ A and B share no inputs/outputs? → Mark as parallelizable
└─ Circular reference detected? → Invalid, restructure phases
4. VAGUENESS CLASSIFICATION
├─ Can specify concrete steps now? → Create concrete sub-task
├─ Depends on upstream discoveries? → Create vague node with 3+ potential paths
└─ Requires human decision? → Mark as human-gate candidate
5. COMPLEXITY ESTIMATION
├─ Single skill, clear inputs/outputs? → Mark as "simple" (Tier 1 model)
├─ 2-3 skills, moderate reasoning? → Mark as "moderate" (Tier 2 model)
└─ Complex reasoning, multiple domains? → Mark as "complex" (Tier 3 model)
Failure Modes
| Anti-Pattern | Symptom | Diagnosis | Fix |
|---|
| Sequential Fallacy | All tasks form single chain, no parallelism | Missed independent work streams | Identify tasks with no shared inputs/outputs, mark parallelizable |
| Premature Specification | Concrete details for tasks depending on undone research | Forcing certainty where none exists | Convert to vague nodes with potential paths |
| Granularity Mismatch | Sub-tasks either trivial (1-line) or massive (whole project) | Wrong decomposition level | Apply one-agent-one-call rule for sizing |
| Circular Dependencies | Task A needs B's output, B needs A's output | Invalid dependency graph | Restructure into sequential phases or split conflated tasks |
| Domain Blindness |