This skill should be used when the user asks about "DAG execution", "directed acyclic graph", "task dependencies", "parallel task execution", "topological sort", "level-based execution", "dependency resolution", or needs guidance on executing tasks with dependencies efficiently.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Establish efficient parallel execution of tasks using Directed Acyclic Graph (DAG) structures to maximize throughput while respecting dependencies.
A DAG (Directed Acyclic Graph) represents tasks as nodes and dependencies as directed edges. This structure enables:
interface TaskNode {
id: string; // Unique task identifier
name: string; // Human-readable name
agent: string; // Assigned agent type
dependencies: string[]; // IDs of prerequisite tasks
level: number; // Execution level (computed)
status: 'pending' | 'running' | 'completed' | 'failed';
priority: number; // Higher = more important
outputs?: any; // Task results
}
interface DependencyEdge {
from: string; // Source task ID
to: string; // Target task ID
type: 'hard' | 'soft'; // hard = blocking, soft = preferred
}
Tasks are assigned execution levels based on dependencies:
1. Find all nodes with no dependencies → Level 0
2. Remove Level 0 nodes from graph
3. Find nodes whose dependencies are all assigned → Level 1
4. Repeat until all nodes assigned
Task A (no deps) → Level 0
Task B (no deps) → Level 0
Task C (depends on A) → Level 1
Task D (depends on B) → Level 1
Task E (depends on C, D) → Level 2
Level 0: [Task A] ←→ [Task B] Execute in parallel
↓ ↓
Level 1: [Task C] ←→ [Task D] Wait for L0, then parallel
↓ ↓
Level 2: [Task E] Wait for L1
| Rule | Description |
|---|---|
| Same Level | All tasks at same level can run in parallel |
| Cross Level | Tasks at Level N+1 wait for all Level N |
| Resource Limit | Max 13 concurrent agents |
| Priority | Higher priority tasks scheduled first |
When a task fails:
tasks:
- id: explore-codebase
name: "Explore existing codebase"
agent: code-explorer
dependencies: []
- id: gather-requirements
name: "Gather requirements"
agent: requirements-analyst
dependencies: []
- id: design-architecture
name: "Design solution architecture"
agent: architect-supreme
dependencies: [explore-codebase, gather-requirements]
- id: implement-core
name: "Implement core functionality"
agent: coder
dependencies: [design-architecture]
- id: implement-tests
name: "Write test suite"
agent: unit-tester
dependencies: [design-architecture]
- id: run-tests
name: "Execute test suite"
agent: test-runner
dependencies: [implement-core, implement-tests]
Level 0: explore-codebase, gather-requirements
Level 1: design-architecture
Level 2: implement-core, implement-tests
Level 3: run-tests
Before execution, validate the DAG:
| Check | Purpose |
|---|---|
| Cycle Detection | Ensure no circular dependencies |
| Orphan Detection | Find unreachable nodes |
| Dependency Exists | All referenced tasks exist |
| Agent Available | Required agents are defined |
1. Perform DFS from each node
2. Track visited nodes in current path
3. If revisit node in current path → CYCLE
4. If complete without revisit → VALID
Identify the longest path through the DAG:
Distribute work evenly across agents:
For soft dependencies:
PENDING → RUNNING → COMPLETED
↘ FAILED → RETRYING → COMPLETED
↘ BLOCKED
Checkpoint task states for recovery:
dag_checkpoint:
timestamp: "2025-12-13T10:00:00Z"
tasks:
- id: "task-1"
status: "completed"
outputs: {...}
- id: "task-2"
status: "running"
started_at: "2025-12-13T09:55:00Z"
- id: "task-3"
status: "pending"
DAG execution integrates with the 6-phase protocol:
| Phase | DAG Role |
|---|---|
| EXPLORE | Build initial task graph |
| PLAN | Optimize and validate DAG |
| CODE | Execute implementation DAG |
| TEST | Execute test DAG |
| FIX | Dynamic DAG for fixes |
| DOCUMENT | Execute documentation DAG |
When tasks fail, use saga pattern for compensation:
Task A completes → Task B fails
↓
Compensate A (rollback)
↓
Return to known good state
| Task Type | Compensation |
|---|---|
| File Create | Delete file |
| File Modify | Restore backup |
| Database Change | Rollback transaction |
| External API | Reverse API call |
references/dag-algorithms.md - Detailed algorithmsreferences/optimization.md - Advanced optimization techniquesexamples/sample-dag.json - Complete DAG exampleexamples/execution-trace.json - Execution log example