Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Coordinates multi-session, delegated, or long-running work with persistent state, recovery checks, and explicit status transitions. Use when a task spans multiple turns, multiple agents, background jobs, or scheduled loops, or when interrupted work must be resumed reliably.
.claude/skills/long-task-coordinator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-21 | ✗→✓ | ▲ Improved | — | — |
| case-22 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
> Keep long-running work recoverable, stateful, and honest.
Use this skill when the work:
Skip this skill for small, single-turn tasks. Use planning-with-files when simple planning is enough and recovery logic is not the main concern.
planning-with-files keeps multi-step work organized in files.workflow-orchestrator chains follow-up skills after milestones.long-task-coordinator makes long-running work resumable, auditable, and safe to hand off.For any real long task, maintain one durable state file. Chat history is not a reliable state store.
The state file should capture at least:
Use the smallest role model that fits the task:
Simple tasks can collapse these roles into one agent. Long or delegated tasks should make the split explicit.
For each coordination round:
textREAD -> RECOVER -> DECIDE -> PERSIST -> REPORT -> END
Do not report conclusions before the state file has been updated.
awaiting-result as a valid stateIf a worker or background job was dispatched successfully, the task is not failing just because the result is not back yet.
Valid transitions include:
running -> awaiting-resultawaiting-result -> runningrunning -> pausedrunning -> completeA coordination round is only valid if it does at least one of the following:
If nothing changed, do not pretend the task advanced.
Recovery answers:
Domain work answers:
Recover first, then continue domain work.
Use this skill when at least one is true:
Prefer a path that is easy to rediscover, such as:
docs/<topic>-execution-plan.mddocs/<topic>-state.mdworklog/<topic>-state.mdIf no durable state exists yet, create one from references/workflow.md.
At the start of every new round:
After deciding the next action:
End each round with one of these states:
runningawaiting-resultpausedblockedcompleteThe reported status should match the persisted status exactly.
When using this skill, produce updates that are grounded in saved state:
Treat the coordination work as complete only when all relevant items below are true:
If the task is not truly complete, end in running, awaiting-result, paused, or blocked rather than pretending the work is done
Avoid:
references/workflow.md - Detailed workflow, state template, and recovery checklist| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-24 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 22 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +58 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.