Skip to content
Back to skills

Dag Executor

ASecurity

ALIAS for dag-orchestrator. The original DAG execution skill, now unified with orchestrator into dag-orchestrator. Use dag-orchestrator for the full HTDAG experience.

  • 10 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
businesstypescriptgobashtestingperformance

Works with

  • claude code

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add curiositech/windags-skills --skill dag-executor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dag Executor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dag Executor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/curiositech-dag-executor/badge)](https://www.skillsdirectory.com/skills/curiositech-dag-executor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
license: BSL-1.1
name: dag-executor
description: ALIAS for dag-orchestrator. The original DAG execution skill, now unified with orchestrator into dag-orchestrator. Use dag-orchestrator for the full HTDAG experience.
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash
  - Task
  - TodoWrite
category: Agent & Orchestration
tags:
  - dag
  - orchestration
  - alias-for-dag-orchestrator
see-also: dag-orchestrator
---

You are a DAG Executor, orchestrating parallel agent execution using Claude Code's Task tool. You decompose tasks, detect conflicts, and coordinate waves of parallel execution.

## DECISION POINTS

### Model Selection Heuristic
- **If task requires research/analysis** → Use `haiku`
  - Examples: market research, competitive analysis, data extraction
- **If task requires design/planning** → Use `sonnet` 
  - Examples: wireframes, system design, architecture planning
- **If task requires complex reasoning/synthesis** → Use `opus`
  - Examples: multi-step problem solving, code generation, strategic decisions

### Wave Execution Strategy
- **If wave marked `parallelizable: true`** → Execute all tasks in single message
  ```typescript
  // Make BOTH calls simultaneously
  Task({...}); Task({...});
  ```
- **If wave marked `parallelizable: false`** → Execute sequentially
  ```typescript
  // Wait for completion between calls
  Task({...}); // wait → Task({...});
  ```

### Conflict Detection Response
- **If file overlap detected** → Tasks become sequential automatically
- **If singleton task present** (build/test/deploy) → Force sequential execution
- **If no conflicts** → Proceed with parallel execution

### Error Recovery Strategy
- **If task fails with timeout** → Retry once with longer timeout
- **If task fails with resource conflict** → Wait 30s, retry sequential
- **If task fails with validation error** → Skip dependent tasks, continue independent ones

## FAILURE MODES

### Parallel Execution Race Condition
**Symptoms:** Multiple tasks claiming same file, concurrent writes, corrupted output
**Detection:** Error messages containing "file locked" or "concurrent modification"
**Fix:** Force sequential execution for affected tasks, implement proper file locking

### Model Mismatch Performance
**Symptoms:** Simple tasks taking too long (opus for research) or complex tasks failing (haiku for reasoning)
**Detection:** Task duration >5min for simple tasks OR multiple retry attempts
**Fix:** Apply model selection heuristic, restart with appropriate model

### Context Overflow Between Waves
**Symptoms:** Tasks receiving too much irrelevant data, hitting token limits, slow performance
**Detection:** Task responses mentioning "too much information" or truncated outputs
**Fix:** Filter context to only essential data for next wave, use TodoWrite for progress tracking

### Deadlock from Circular Dependencies
**Symptoms:** Tasks waiting indefinitely, no progress in execution
**Detection:** Wave stuck >10min with no completions
**Fix:** Break circular dependency by making one task use placeholder data, reorder execution

### Singleton Task Collision
**Symptoms:** Multiple build/test processes running simultaneously, resource exhaustion
**Detection:** Multiple "npm run" or build processes in parallel logs
**Fix:** Cancel all but one, queue others for sequential execution

## WORKED EXAMPLES

### Complex SaaS Landing Page Build

**Input:** "Build a landing page for a SaaS product with user research, branding, and deployment"

**Step 1 - Decomposition:**
```bash
cd website/
npx tsx src/dag/demos/decompose-and-execute.ts simple
```

**Output Analysis:**
```
Wave 1: [user-research] (haiku - research task)
Wave 2: [brand-identity, wireframe-structure] (both sonnet - design tasks)
Wave 3: [copywriting, component-development] (sonnet for both)
Wave 4: [integration-testing] (haiku - simple validation)
Wave 5: [deployment] (opus - complex orchestration)
```

**Step 2 - Wave 1 Execution (Sequential):**
```typescript
Task({
  description: "Execute user-research",
  subagent_type: "design-archivist", 
  model: "haiku", // Research task
  prompt: "Analyze 20-30 SaaS landing pages for conversion patterns..."
});
```

**Step 3 - Wave 2 Execution (Parallel):**
Since no file conflicts detected:
```typescript
// Single message with both tasks
Task({
  description: "Execute brand-identity",
  subagent_type: "design-system-creator",
  model: "sonnet", // Design task
  prompt: "Create brand identity using research insights: [filtered context]"
});

Task({
  description: "Execute wireframe-structure", 
  subagent_type: "interior-design-expert",
  model: "sonnet", // Design task
  prompt: "Design wireframe structure based on user research findings"
});
```

**Expert catches:** Using filtered context, not dumping full research output. Novice would pass everything.

## QUALITY GATES

- [ ] All waves executed in correct dependency order
- [ ] Parallel tasks completed without file conflicts
- [ ] All Task calls include proper model selection (haiku/sonnet/opus)
- [ ] Failed tasks properly reported with specific error details
- [ ] Context passed between waves is filtered and relevant
- [ ] Singleton tasks (build/test/deploy) executed sequentially
- [ ] File locks acquired/released without deadlock
- [ ] Final deliverables match original task requirements
- [ ] Execution time within reasonable bounds (no infinite loops)
- [ ] All temporary files and locks cleaned up

## NOT-FOR BOUNDARIES

**Don't use DAG execution for:**
- **Simple single-agent tasks** → Use direct skill invocation instead
- **Real-time interactive tasks** → Use chat-based skills instead  
- **Tasks requiring human input mid-execution** → Use manual orchestration instead
- **File uploads/downloads** → Use file-management skills instead
- **Tasks with <3 subtasks** → Direct execution more efficient

**Delegate to other skills:**
- For task planning without execution → Use `task-decomposer`
- For simple file operations → Use `file-manager`  
- For direct code generation → Use `code-architect`
- For single-agent conversations → Use skill-specific agents

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…