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.
npx agentmods add skills/diillson/chatcli/task-graphnpx skills add diillson/chatcli --skill task-graphgit clone --depth 1 https://github.com/diillson/chatcliWrote 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.
[](https://agentmods.dev/skills/diillson/chatcli/task-graph)<a href="https://agentmods.dev/skills/diillson/chatcli/task-graph"><img src="https://agentmods.dev/badge/skills/diillson/chatcli/task-graph.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00069 | $0.01393 |
| Opus 5 | $0.00034 | $0.00696 |
| Sonnet 5 | $0.00014 | $0.00279 |
| Haiku 4.5 | $0.00007 | $0.00139 |
Grade A, and why
task-graph 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Task Graph
Turn an approved plan into a persisted DAG executed by parallel squad workers, where done is never a worker's self-report:
plan → task graph → parallel execution → engine-run gate → independent review → done | retry
The @taskgraph engine (deterministic Go code, not an LLM) owns all state. It refuses:
dependency cycles, starting a task before its deps are done, and — the core rule —
promoting a task to done without its validation gate passing AND a fresh reviewer
worker issuing VERDICT: PASS. Executor and reviewer are always distinct workers.
When to use it (and when not)
Use it when the delivery has 5+ tasks with real independence — the parallelism
must pay for the orchestration overhead. For 1–4 tasks, or strictly serial work,
dispatch <agent_call> workers directly or just do the work yourself.
The plan must already be agreed with the user. Do not invent a graph mid-conversation for work the user asked you to do directly.
The plan schema
<tool_call name="@taskgraph" args='{"cmd":"run","args":{"graph":{
"name": "feature-x",
"require_review": true,
"phases": [{"id":"F1","title":"Server"},{"id":"F2","title":"Client"}],
"tasks": [
{"id":"T1","phase":"F1","title":"Add /foo endpoint","agent":"coder",
"prompt":"Implement GET /foo in server/handler.go returning ...",
"validation":[{"run":"go test ./server/...","expect":"all tests pass, includes a /foo case"}]},
{"id":"T2","phase":"F2","title":"CLI client for /foo","deps":["T1"],
"prompt":"Add the /foo client call. Server contract: #T1",
"validation":[{"run":"go build ./...","expect":"builds clean"},
{"run":"go test ./cli/...","expect":"green"}]}
]}}}' />
Rules that matter:
depsmay only reference tasks declared earlier in the list (this also rules out cycles).promptis what the executor worker receives — make it self-contained; workers do not see this conversation.#<depID>in a prompt is replaced with that dependency's output.validation[].runcommands are executed by the engine (sandboxed, unsafe-command gated) — never by the executor.expectis prose for the reviewer. A bare string instead of the array is allowed (prose-only contract, reviewer verifies by inspection).agentdefaults tocoder; any squad worker type works.max_attemptsdefaults to 3.require_review(graph or per task) defaults to true. Waive it only for trivial mechanical tasks, and say so in the delivery summary.
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.
- yesterday First seen · 112 lines · 69 tokens per session scan A 88e4105c3efc
task-graph is a skill published in the GitHub repository diillson/chatcli (89 stars, last pushed today), licensed Apache-2.0. It adds 69 tokens to every session and 1,393 once invoked, about $0.0003 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-09-03.
Other skills, from other repositories
01-sdlc
Autonomously orchestrates a request from framing to a draft pull request, isolating implementation, independent review, and final outcome challenge. Use when the user wants to deliver a change end to end. Not for running one development step.
02-backlog
Orchestrates a product backlog end to end. Use when the user wants to ask what it holds, or to run intake, triage, refinement, review, lifecycle events, ordering, health checks, or repair. Not for one known artifact step.
02-user-stories
Produces or refines ordered User Stories from an Epic, Product Brief, PRD, or bounded request. Use when the user wants to slice, write, assess, order, or persist Stories. Not for Epics or implementation.
07-epic
Produces or refines an outcome-based Epic for a product backlog. Use when the user wants to frame, review, resume, or persist an Epic. Not for Product Briefs, User Stories, or implementation.
08-three-amigos
Assesses an Epic or Story through one product, delivery, or quality lens, then reconciles three caller-supplied reports. Use when the user wants to refine one before a backlog change. Not for spawning or writing.
09-defect
Produces or refines a backlog Defect from an observed product mismatch. Use when the user wants to report, assess, link, order, transition, or verify a defect. Not for incident response, debugging, or implementation.