run-epic-dag

run-epic-dag is a skill for Claude Code, Codex from phobologic/claude_code_helpers. It costs 101 tokens per session (13,255 once invoked), scanned A, original, MIT.

A coordinator for completing a large software task made up of smaller tickets. It uses a dependency graph—a map showing which tasks must finish before others can start—to keep work moving.

In plain words
What is it for?
Use it to run an epic, assign unblocked tickets to implementation agents, send work for quality review, and verify acceptance conditions.
Why use it?
It removes much of the manual coordination needed when several agents implement, review, and verify related tasks.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/phobologic/claude_code_helpers/run-epic-dag
Any agent
npx skills add phobologic/claude_code_helpers --skill run-epic-dag
Clone the repo
git clone --depth 1 https://github.com/phobologic/claude_code_helpers

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for run-epic-dag

README.md
[![agentmods](https://agentmods.dev/badge/skills/phobologic/claude_code_helpers/run-epic-dag.svg)](https://agentmods.dev/skills/phobologic/claude_code_helpers/run-epic-dag)
Your own site
<a href="https://agentmods.dev/skills/phobologic/claude_code_helpers/run-epic-dag"><img src="https://agentmods.dev/badge/skills/phobologic/claude_code_helpers/run-epic-dag.svg" alt="Measured on agentmods" height="20"></a>
Per session 101 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 13,255 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00101 $0.13255
Opus 5 $0.00051 $0.06628
Sonnet 5 $0.00020 $0.02651
Haiku 4.5 $0.00010 $0.01325

Measured 4d ago against content hash 2abffc284ab5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

run-epic-dag scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/run-epic-dag/SKILL.md · 1,195 lines

How it starts

The opening of the file, as written. The whole thing — 1,195 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Run Epic DAG

You are the team lead for a DAG-driven epic execution. You orchestrate a fixed agent pool against a continuously-dispatched ticket queue. You never implement, never review, never make judgment calls about code. You dispatch work, route validation results, manage state transitions, and recycle agents as needed.

This skill diverges from /run-epic in three key ways: pool size is fixed at startup (no wave boundaries), agents are recycled after each verdict rather than between waves, and per-ticket state is tracked individually in ticket_state rather than as a wave batch.


Phase 0 — Parse arguments and load epic

If $ARGUMENTS is empty, ask the user for an epic ID.

Load the epic and its children:

tk show <epic-id>
tk query '.parent == "<epic-id>"'

Verify this is actually an epic (type == "epic"). If not, tell the user and stop.

Check for child tickets. If there are none, tell the user the epic has no tickets and stop.

If tk ready returns no tickets for this epic, report:

No unblocked tickets found for epic <epic-id>. Check tk blocked to see what is holding things up. The run cannot proceed until at least one ticket is unblocked.

Stop — do not create the team.

Mark all non-closed child tickets as in-progress immediately, so concurrent runs cannot claim the same tickets:

tk start <ticket-id>
# repeat for each non-closed child ticket

Findings parent

Establish a FINDINGS_PARENT epic ID for out-of-scope finding tickets:

  • Read the epic's .parent field with tk show <epic-id>.
  • If the epic has a parent: FINDINGS_PARENT = <epic's parent>.
  • If the epic is top-level: FINDINGS_PARENT = <epic-id> itself.

Record FINDINGS_PARENT — pass it in every quality-reviewer routing message.

In-memory state

Initialize the following structures before creating the team:

ticket_state: Map<ticket_id, TicketState>
  # state: DISPATCHED | IMPL_DONE | VERIFYING | REWORK | MERGING | MERGED | CLOSED | BLOCKED
  # verification_phase: "ac" | "quality" | null

agent_pool: Map<slot_name, AgentSlot>
  # slot_name: "dag-impl-1" .. "dag-impl-<IMPLEMENTERS>"
  # assignee: ticket_id | null
  # worktree: "<REPO_ROOT>/.worktrees/epic-dag-<stamp>-impl-<N>"

ac_verification_queue: Queue<{ticket_id, branch}>   # FIFO
quality_review_queue:  Queue<{ticket_id, branch}>   # FIFO

merge_lock: ticket_id | null
merge_queue: List<ticket_id>     # ordered waiting list

findings_parent: ticket_id = FINDINGS_PARENT

ac_fail_count:    Map<ticket_id, int>  # reset to 0 on each fresh dispatch
rework_count:     Map<ticket_id, int>  # reset to 0 on user-guidance rework
total_qr_rounds:  Map<ticket_id, int>  # NEVER reset; counts every QR review
                                       # (CLEAN/REWORK/FINDINGS) for the ticket
                                       # across the entire run

TOTAL_QR_ROUNDS_CAP = 5                # hard ceiling independent of rework_count

Read the full file on GitHub · 1,195 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 1,195 lines · 101 tokens per session scan A 2abffc284ab5

Subscribe to this mod's changes

run-epic-dag is a skill published in the GitHub repository phobologic/claude_code_helpers (5 stars, last pushed 1mo ago), licensed MIT. It adds 101 tokens to every session and 13,255 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

wayfinder

Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.

mattpocock/skills · 46 tokens

sap-transport-overview

System-wide inventory of open transport requests — every visible modifiable request, who owns it, how big it is, and supported risk signals such as empty/local requests, explicit locks, and confirmed manifest overlaps. Headers-only and cheap; NO source diffs. Use when asked "what transports are open in the system"…

arc-mcp/arc-1 · 106 tokens

timeline-creator

Create HTML timelines and project roadmaps with Gantt charts, milestones, phase groupings, and progress indicators. Use when users request timelines, roadmaps, Gantt charts, project schedules, or milestone visualizations.

mhattingpete/claude-skills-marketplace · 47 tokens

okx-task-watch

监听任务进展 / 帮我盯着任务 / 任务有动静告诉我 / 历史消息 / 未读消息 / 未决策 / 待决策 / 继续监听 / task watch / user watch / monitor task progress / catch me up on tasks / outstanding decisions — OKX A2A user-session task-notification monitor: live long-poll via okx-a2a user watch (also drains backlog of past/missed/unread events on entry) plus…

nirholas/three.ws · 138 tokens

pm-all

Skill "pm-all" from wei63w/pm-manager, covering user input, outline and shared workflow (all /pm- commands).

wei63w/pm-manager · 8 tokens

bootstrap-prd

Set up PRD-driven development infrastructure for a new project, including directory structure, templates, and roadmap.

joshukraine/dotfiles · 25 tokens