Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Run a scoped Linear backlog autonomously as a sequence of maximal safe parallel batches by composing orchestrator, autogoal, and task. Use when the user wants Codex to execute ordered Linear issues without prompting for each next batch while parallelizing every dependency-ready ticket that lacks a hard conflict.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 146% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 105% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 159% | 0% |
Run a frozen Linear queue as serial batches with parallel execution inside each batch. Keep the parent as controller; send every implementation issue through orchestrator, autogoal, and the repo's task skill.
Require all of these before mutation:
$orchestrator with durable Codex child-thread tools.$autogoal and its goal tools.$task skill and AGENTS instructions.If a capability is missing, report the exact dependency. Never replace durable child threads with hidden sub-agents or fake Linear state transitions with comments.
$linear-backlog run <scope>: execute the queue in maximal safe parallelbatches.
$linear-backlog status: report counts, active batch and lanes, conflictgroups, blocked issues, and the next candidate batch.
$linear-backlog stop: stop after parking every active lane safely andrecording resumable state.
Scope may be a Linear project, cycle, label, saved view, or explicit issue list. If the prompt and current context do not identify exactly one scope, ask one short question before mutation.
queue-terminal and the batch join is recorded.
added without a hard conflict or exceeding proven safe capacity.
group, not an automatic reason to serialize.
continue between batches.linked source, and repo policy.
continuous intake. State, dependencies, and ordering may still change.
Queue-terminal means one of:
action.
Opening a PR, passing tests, or finishing a plan is not queue-terminal by itself.
$orchestrator on and record the mode in parent status.$autogoal to create one parent goal for the frozen queue.If blocked items remain after all eligible work is exhausted, close the loop as blocked under $autogoal; do not call the queue complete.
md| Batch | Order | Issue | State | Dependencies | Conflict group | Child | Branch / PR | Proof | Blocker / owner | Next | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
transition.
The parent goal owns queue and batch completion. Each child owns a separate issue-scoped autogoal.
description, priority, project or cycle, state, labels, links, parent-child relationships, and blocking dependencies.
the frozen ledger as already terminal.
then oldest creation time. Record this fallback once.
never share a batch.
the issue explicitly adopts it.
Build a fresh conflict graph from every dependency-ready, non-terminal issue. Use issue source, likely owners, repo structure, current branches, runtime and data requirements, and prior batch evidence. Lexical file guesses alone are not proof.
Create a hard-conflict edge only when concurrent execution would be unsafe or would invalidate proof, such as:
owner;
surface when it cannot be isolated;
lines or API contract in incompatible ways.
Do not create a hard-conflict edge merely because tickets:
Select the batch:
has a safe worktree, child thread, runtime, data strategy, and proof path.
overlap, or expected merge work, include it.
A one-ticket batch is valid only when hard conflicts, dependencies, or real capacity constraints force it. Record the reason.
Repeat until no eligible frozen issue remains:
proof surface, then refill the batch from remaining safe candidates.
$orchestrator, create or reuse one durable child per issue andassign separate disposable worktrees, short-lived branches from main, PR target main, runtime owners, ports, data strategies, and cleanup rules.
tools. Never represent state by posting comments.
starting the next. Send each child:
mdRun `$task` for <ISSUE-ID> as lane <LANE> of batch <BATCH>. Use `$autogoal` in one-shot execution mode before implementation. The child goal ends only when acceptance criteria, repo-required checks, relevant runtime proof, PR body, push state, and task closeout are complete. Stay inside the assigned worktree and issue scope. Follow AGENTS. Target `main`. Respect the assigned runtime, data strategy, and conflict group. Report goal state, changed files, checks, proof, PR URL/state, merge blocker, Linear handoff, conflict risk, and exact next owner.
let independent lanes continue when another lane blocks.
reviewing, repairing, merging, or still lacks a queue-terminal blocker packet.
conflicts. Serialize merges, not implementation.
origin/main into that lane using repopolicy, rerun affected checks and proof, and never force push.
mainwhen relevant and rerun affected proof. Resolve only real conflicts.
Linear mutations. Verify merge, completed state, and child-goal closure from fresh reads.
archive finished children when their lane is terminal.
arbitration is resolved.
safe batch automatically.
Classify blockers instead of turning every snag into a user interruption:
dependency-local: schedule the blocking issue in the earliest safe batchwhen it is in scope.
lane-local: record evidence and next action, update the issue to a realblocked state when one exists, and let sibling lanes finish.
external-owner: record the person, system, approval, or unavailable toolowning the next action; park the lane and continue the batch.
scope-authority: stop the run only when the missing decision changes themeaning or safety of the whole queue. Ask one precise question.
repo-wide: stop when checks, credentials, branch policy, infrastructure, ormissing durable tools make every remaining issue unsafe or impossible.
Never silently skip a blocked issue. Never mark blocked work completed.
green.
the user explicitly authorizes takeover.
On restart or compaction:
another batch.
then continue the batch loop.
Never duplicate a child, worktree, branch, PR, or goal because context was lost.
Finish the batch loop when every frozen issue is queue-terminal and every batch has joined.
Complete the parent autogoal only when:
If blocked issues remain, preserve evidence, owner or missing decision, and next action, then keep or mark the goal blocked according to $autogoal's tool contract. Never convert a partial queue into a completed goal.
Final handoff must report:
Do not stop after one successful batch while another eligible frozen issue remains. That defeats the entire point of the skill.
Other measured skills in the registry, with their headline benchmark lift.