Agent skill

Linear Backlog

by udecode in udecode/kitcn

Run a scoped Linear backlog autonomously as a sequence of maximal safe parallel batches by composing orchestrator, autogoal, and task.

Apache-2.0Auto-check passedProduct & Project Management

Install Linear Backlog

skills CLI
$ npx skills add udecode/kitcn --skill linear-backlog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install udecode/kitcn linear-backlog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/udecode/kitcn.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/linear-backlog .claude/skills/linear-backlog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
linear-backlog
GitHub stars
450
Token cost
~3.1k tokens
SKILL.md length
1,660 words
Files
2
Skills in repo
33
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run a scoped Linear backlog autonomously as a sequence of maximal safe parallel batches by composing orchestrator, autogoal, and task.

  • Works in 5 steps: Turn $orchestrator on and record the… → Use $autogoal to create one parent goal… → Define the parent completion threshold as → …
  • Product & Project Management work in your project
  • SKILL.md covers Required Capabilities, Commands, Non-Negotiable Contract and Start The Parent Run, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Linear Backlog is an agent skill from udecode/kitcn. 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.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Product & Project Management. It works with Linear. The repository describes itself as: Convex + Better Auth + tRPC + Drizzle + TanStack Query + shadcn. The licence is Apache-2.0.

When your agent uses it

  • Product & Project Management work in your project

Example prompts

  • “/linear-backlog”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Turn $orchestrator on and record the mode in parent status.
  2. Use $autogoal to create one parent goal for the frozen queue.
  3. Define the parent completion threshold as
  4. Create a queue ledger
  5. Record total, completed, blocked, active, and remaining counts after every

What it can do on your machine

Read from SKILL.md and the folder at commit c6010f5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Linear Backlog loads about 3.1k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 1,660 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from udecode/kitcn at commit c6010f5, republished under its Apache-2.0 licence (© udecode). 1,660 words, ~3,105 tokens.

Download SKILL.mdSave it as .claude/skills/linear-backlog/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
linear-backlog
description
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.

Linear Backlog

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.

Required Capabilities

Require all of these before mutation:

  • Linear issue read and write tools.
  • $orchestrator with durable Codex child-thread tools.
  • $autogoal and its goal tools.
  • The destination repo's $task skill and AGENTS instructions.
  • Git and the repo's normal PR and merge tooling.

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.

Commands

  • $linear-backlog run <scope>: execute the queue in maximal safe parallel batches.
  • $linear-backlog status: report counts, active batch and lanes, conflict groups, blocked issues, and the next candidate batch.
  • $linear-backlog stop: stop after parking every active lane safely and recording 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.

Non-Negotiable Contract

  • Keep exactly one batch active at a time.
  • Run every safe lane in that batch concurrently.
  • Do not start the next batch until every lane in the current batch is queue-terminal and the batch join is recorded.
  • Make each batch inclusion-maximal: no remaining dependency-ready issue may be added without a hard conflict or exceeding proven safe capacity.
  • Never impose an arbitrary lane cap.
  • Treat minor file overlap or an expected small merge conflict as a conflict group, not an automatic reason to serialize.
  • Do not implement product code in the parent.
  • Do not ask the user to say continue between batches.
  • Do not widen an issue beyond its Linear description, acceptance criteria, linked source, and repo policy.
  • Freeze queue membership at startup unless the user explicitly asks for continuous intake. State, dependencies, and ordering may still change.
  • Re-read Linear after every issue transition and before planning each batch.
  • Never invent missing issues, acceptance criteria, or product decisions.

Queue-terminal means one of:

  • merged, verified, and moved to the team's completed state;
  • canceled by an authorized source;
  • blocked with evidence, an owner or missing decision, and a concrete next action.

Opening a PR, passing tests, or finishing a plan is not queue-terminal by itself.

Start The Parent Run

  1. Turn $orchestrator on and record the mode in parent status.
  2. Use $autogoal to create one parent goal for the frozen queue.
  3. Define the parent completion threshold as:
    • every frozen issue id is queue-terminal;
    • every batch has joined;
    • no child is still mutating code;
    • every completed issue has verified merge and Linear state evidence;
    • blocked count is zero. If blocked items remain after all eligible work is exhausted, close the loop as blocked under $autogoal; do not call the queue complete.
  4. Create a queue ledger:
md
| Batch | Order | Issue | State | Dependencies | Conflict group | Child | Branch / PR | Proof | Blocker / owner | Next |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
  1. Record total, completed, blocked, active, and remaining counts after every transition.

The parent goal owns queue and batch completion. Each child owns a separate issue-scoped autogoal.

Build The Queue

  1. Resolve the Linear team and its real workflow states.
  2. Query the requested scope and read every candidate issue in full, including description, priority, project or cycle, state, labels, links, parent-child relationships, and blocking dependencies.
  3. Exclude completed and canceled issues from runnable work, but keep them in the frozen ledger as already terminal.
  4. Preserve explicit Linear ordering when exposed.
  5. If no explicit order is available, sort dependency-ready issues by priority, then oldest creation time. Record this fallback once.
  6. Keep dependency chains visible. A dependency and its dependent issue can never share a batch.
  7. Never treat a broad project description as issue acceptance criteria unless the issue explicitly adopts it.

Plan A Maximal Safe Batch

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:

  • a dependency relation;
  • the same migration, schema contract, generated artifact, or exclusive config owner;
  • overlapping destructive or proof-breaking writes to the same data;
  • the same exclusive runtime, port, environment, credential, or deployment surface when it cannot be isolated;
  • the same security or authorization policy mutation;
  • source-backed evidence that both tickets must change the same unmergeable lines or API contract in incompatible ways.

Do not create a hard-conflict edge merely because tickets:

  • belong to the same product area or package;
  • touch adjacent components;
  • may both update a barrel, lockfile, docs index, or generated summary;
  • may produce a small normal merge conflict;
  • use the same read-only service or test suite;
  • have vague keyword overlap without source-backed ownership evidence.

Select the batch:

  1. Start with candidates in recorded backlog order.
  2. Add every candidate that has no hard-conflict edge with a selected issue and has a safe worktree, child thread, runtime, data strategy, and proof path.
  3. Record soft overlaps in conflict groups for merge arbitration.
  4. Revisit every excluded candidate. If the exclusion is only caution, minor overlap, or expected merge work, include it.
  5. Stop only when no excluded dependency-ready candidate can be added safely.

A one-ticket batch is valid only when hard conflicts, dependencies, or real capacity constraints force it. Record the reason.

Show full SKILL.md (777 more words)Show less

Batched Execution Loop

Repeat until no eligible frozen issue remains:

  1. Refresh every non-terminal issue from Linear.
  2. Recover and finish or park any already-active batch before planning another.
  3. Plan the next maximal safe batch and record its lanes and conflict groups.
  4. Read current AGENTS instructions and every selected issue's full source.
  5. Remove and block only issues lacking an implementable outcome or auditable proof surface, then refill the batch from remaining safe candidates.
  6. Through $orchestrator, create or reuse one durable child per issue and assign separate disposable worktrees, short-lived branches from main, PR target main, runtime owners, ports, data strategies, and cleanup rules.
  7. Move every selected Linear issue to the team's active state with issue-update tools. Never represent state by posting comments.
  8. Dispatch all batch children without waiting for one lane to finish before starting the next. Send each child:
md
Run `$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.
  1. Supervise all lanes concurrently. Route new evidence to the owning child and let independent lanes continue when another lane blocks.
  2. Do not plan the next batch while any current lane is implementing, testing, reviewing, repairing, merging, or still lacks a queue-terminal blocker packet.
  3. When PRs are ready, choose a merge order from dependencies and actual conflicts. Serialize merges, not implementation.
  4. Before each merge, integrate current origin/main into that lane using repo policy, rerun affected checks and proof, and never force push.
  5. After each merge, tell unmerged sibling lanes to integrate the new main when relevant and rerun affected proof. Resolve only real conflicts.
  6. Move each issue through the team's real review and completed states using Linear mutations. Verify merge, completed state, and child-goal closure from fresh reads.
  7. Copy each closeout into the parent ledger, remove disposable worktrees, and archive finished children when their lane is terminal.
  8. Mark the batch joined only when every lane is queue-terminal and all merge arbitration is resolved.
  9. Refresh Linear, recompute the conflict graph, and start the next maximal safe batch automatically.

Blocker Policy

Classify blockers instead of turning every snag into a user interruption:

  • dependency-local: schedule the blocking issue in the earliest safe batch when it is in scope.
  • lane-local: record evidence and next action, update the issue to a real blocked state when one exists, and let sibling lanes finish.
  • external-owner: record the person, system, approval, or unavailable tool owning the next action; park the lane and continue the batch.
  • scope-authority: stop the run only when the missing decision changes the meaning or safety of the whole queue. Ask one precise question.
  • repo-wide: stop when checks, credentials, branch policy, infrastructure, or missing durable tools make every remaining issue unsafe or impossible.

Never silently skip a blocked issue. Never mark blocked work completed.

Linear Discipline

  • Resolve state ids or names from each issue's team before updating.
  • Preserve team, project, cycle, labels, and parent relationships.
  • Use issue mutations for state, assignment, and project changes.
  • Use comments only for evidence, blockers, and handoff context.
  • Re-read an issue after every mutation controlling routing or completion.
  • Do not move an issue to completed merely because a branch exists or CI is green.
  • Do not start an issue already owned by another active agent or human unless the user explicitly authorizes takeover.

Resume Safely

On restart or compaction:

  1. Read the parent goal and ledger.
  2. Re-read the frozen Linear issue ids.
  3. Inspect durable children, worktrees, branches, and PRs.
  4. Reconstruct the active batch and its conflict groups.
  5. Finish or park every active lane and record the batch join before selecting another batch.
  6. Reconcile conflicting local and Linear state using fresh verifiable evidence, then continue the batch loop.

Never duplicate a child, worktree, branch, PR, or goal because context was lost.

Stop And Complete

Finish the batch loop when every frozen issue is queue-terminal and every batch has joined.

Complete the parent autogoal only when:

  • every frozen issue is completed or canceled;
  • every completed issue has verified merge and completed-state evidence;
  • blocked count is zero;
  • no code-mutating child remains active;
  • every batch join is recorded;
  • final counts reconcile with the frozen issue list.

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:

  • scope and frozen issue count;
  • batch count and peak parallel lanes;
  • completed, canceled, blocked, and remaining counts;
  • merged PRs and merge order;
  • blocked issues with owner and next action;
  • whether the queue goal completed or remains blocked.

Do not stop after one successful batch while another eligible frozen issue remains. That defeats the entire point of the skill.

© udecode, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/linear-backlog of udecode/kitcn.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit c6010f5

Compare with similar skills

Linear Backlog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Linear Backlog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Linear Backlog this skilludecode/kitcn450—~3.1kAutomated safety check: PassApache-2.0
Triagejoa23/linear-cli144—~699Automated safety check: PassMIT
Specgetsentry/sentry-react-native1.8k—~1.1kAutomated safety check: PassMIT
Linear Claude Skillaiskillstore/marketplace4305 repos~3.6kAutomated safety check: NotesNone
Linearglebis/claude-skills388—~565Automated safety check: PassMIT
Pp Linearmvanhorn/printing-press-library2.1k—~8.8kAutomated safety check: NotesApache-2.0

Similar skills

  • Triage

    joa23/linear-cli

    Triage and prioritize Linear backlog issues using the linear CLI.

    144 GitHub stars~699 tokensUpdated 24 days ago
    Product & Project ManagementAuto-check passed
  • Spec

    getsentry/sentry-react-native

    Official

    Produce a verified spec — problem, desired outcome, and acceptance criteria — before building.

    1.8k GitHub stars~1.1k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Linear Claude Skill

    aiskillstore/marketplace

    Manage Linear issues, projects, and teams. An agent skill from aiskillstore/marketplace.

    430 GitHub starsUsed in 5 repos~3.6k tokens
    Product & Project ManagementAuto-check: notes
  • Linear

    glebis/claude-skills

    Manage Linear issues, projects, and workflows via CLI. An agent skill from glebis/claude-skills.

    388 GitHub stars~565 tokensUpdated 11 days ago
    Product & Project ManagementAuto-check passed
  • Pp Linear

    mvanhorn/printing-press-library

    Offline-capable, agent-native Linear CLI with SQLite-backed sync, FTS5 search, cross-cycle comparison, project...

    2.1k GitHub stars~8.8k tokensUpdated yesterday
    Product & Project ManagementAuto-check: notes
  • Linear 2

    sundial-org/awesome-openclaw-skills

    Manage Linear projects, issues, and tasks via the Linear API.

    663 GitHub stars~797 tokensUpdated 7 mo ago
    Product & Project ManagementAuto-check passed

More from udecode/kitcn

All 33 skills in this repo
  • Walkthrough

    udecode/kitcn

    Create a short annotated visual walkthrough from real final-state screenshots or rendered artifacts.

    450 GitHub stars~1.6k tokensUpdated 6 days ago
    Auto-check passed
  • Avoid Feature Creep

    udecode/kitcn

    Prevent feature creep when building software, apps, and AI-powered products.

    450 GitHub stars~2.7k tokensUpdated 6 days ago
    Auto-check passed
  • Changeset Resolve

    udecode/kitcn

    Repair an unreleased .changeset/.md file so it matches the real branch delta against main.

    450 GitHub stars~922 tokensUpdated 6 days ago
    Auto-check passed
  • Audit newer Convex npm releases against kitcn. An agent skill from udecode/kitcn.

    450 GitHub stars~1.8k tokensUpdated 6 days ago
    Auto-check passed
  • Jotai X

    udecode/kitcn

    A skill your agent uses when working with Jotai X stores (createAtomStore), accessing state in components or callbacks, persisting state to cookies or localStorage

    450 GitHub stars~3.7k tokensUpdated 6 days ago
    Auto-check passed
  • Nextjs

    udecode/kitcn

    Next.js routing with typed routes, PageProps, LayoutProps helpers, and nuqs for URL state.

    450 GitHub stars~1.4k tokensUpdated 6 days ago
    Auto-check passed

Works with

Questions about Linear Backlog

What does Linear Backlog do?

Run a scoped Linear backlog autonomously as a sequence of maximal safe parallel batches by composing orchestrator, autogoal, and task. Linear Backlog is an agent skill from udecode/kitcn. Run a scoped Linear backlog autonomously as a sequence of maximal safe parallel batches by composing orchestrator, autogoal, and task.

When should I use Linear Backlog?

Linear Backlog fits situations like: product & Project Management work in your project.

How do I install Linear Backlog in Claude Code?

Run `npx skills add udecode/kitcn --skill linear-backlog -a claude-code`. Or copy the skill folder (.agents/skills/linear-backlog in udecode/kitcn) into .claude/skills/linear-backlog in your project. Claude Code loads it when a task matches its description.

How do I install Linear Backlog in Codex?

Run `npx skills add udecode/kitcn --skill linear-backlog -a codex`. Or copy the skill folder (.agents/skills/linear-backlog in udecode/kitcn) into .agents/skills/linear-backlog in your project. Codex loads it when a task matches its description.

Can I use Linear Backlog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add udecode/kitcn --skill linear-backlog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linear-backlog, .gemini/skills/linear-backlog, .github/skills/linear-backlog and .opencode/skills/linear-backlog in your project.

What does Linear Backlog need to run?

SKILL.md names no scripts, command-line tools or credentials: Linear Backlog is instructions for the agent only.

Does Linear Backlog access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Linear Backlog safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Linear Backlog use?

Linear Backlog is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Linear Backlog use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Linear Backlog?

Skills that share tags, products or a category with Linear Backlog: Triage (joa23/linear-cli, 144 stars), Spec (getsentry/sentry-react-native, 1.8k stars), Linear Claude Skill (aiskillstore/marketplace, 430 stars) and Linear (glebis/claude-skills, 388 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Linear Backlog?

udecode (a GitHub organization) maintains it in udecode/kitcn, which has 450 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 1, 2026.

Source: udecode/kitcn on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.