Build and validate task DAGs for Ralph parallel execution. Use when planning execution order, detecting cycles, or explaining why tasks are blocked. Triggers on: plan dag, check dependencies, why is task blocked, execution order.
Build, validate, and explain task dependency graphs for parallel execution.
Do NOT: author metadata, implement tasks, merge code, or review design.
Use depth-first search with three states:
unvisited - Not yet processedvisiting - Currently in recursion stackvisited - Fully processedIf we encounter a visiting node, we have a cycle.
Cycle output format:
Cycle detected: US-002 → US-003 → US-004 → US-002
A task is ready when:
dependsOn are donemutex are currently lockedWhen a task cannot run, explain why:
Task US-003 blocked:
- Waiting for: US-001, US-002 (not completed)
- Mutex locked: db-migrations (held by US-005)
Execution order (topological):
1. US-001 (no deps)
2. US-002 (no deps)
3. US-003 (after: US-001)
4. US-004 (after: US-002, US-003)
Ready queue (3 tasks can run now):
- US-001: mutex []
- US-002: mutex []
- US-005: mutex [lockfile]
Blocked (2 tasks waiting):
- US-003: waiting for US-001
- US-004: waiting for US-002, US-003
Mutex usage plan:
db-migrations: US-001, US-006 (sequential)
lockfile: US-005 (exclusive)
contract:auth-api: US-003, US-004 (sequential after US-001)
Deadlock occurs when:
Deadlock output:
DEADLOCK: No progress possible
Pending tasks: US-003, US-004
All blocked by unmet dependencies or locked mutex
US-003 needs: US-001 (failed)
US-004 needs: US-003 (blocked)
Input tasks.yaml:
tasks:
- id: A
dependsOn: []
mutex: [db-migrations]
- id: B
dependsOn: []
mutex: []
- id: C
dependsOn: [A]
mutex: [db-migrations]
- id: D
dependsOn: [B, C]
mutex: []
Output:
DAG Analysis:
Total tasks: 4
Max parallelism: 2 (A and B can run together)
Critical path: A → C → D (3 steps)
Mutex contention:
db-migrations: A, C must run sequentially
Recommended execution waves:
Wave 1: A, B (parallel)
Wave 2: C (after A)
Wave 3: D (after B, C)
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer