Skip to content
cccskills
FreePublished on GitHub

linear-ready

Find Linear issues ready for an AI agent to pick up. Equivalent of `bd ready` for Linear workflows. Use when starting a session to find claimable work, or when asked "what's next" or "find work".

The English summary is being prepared. Showing the original description.

Works withLinear
See how to install

Files included (2)

  • SKILL.md4.6 KB
  • scripts/linear-ready8.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Linear Ready

Find Linear issues that are ready for an AI agent to work on — meaning they match your filters and have no active (unresolved) blockers.

This is the Linear equivalent of bd ready in beads workflows.

Prerequisites

  1. linear-cli must be installed and authenticated:

    brew install schpet/tap/linear   # or: npm install -g @schpet/linear-cli
    linear auth login
    
  2. jq must be available on PATH.

How It Works

The script runs a single GraphQL query via linear api that fetches candidate issues along with their blocking relations and blocker states. It then filters client-side with jq:

  • An issue is ready if it has no blockedBy relations pointing to incomplete issues (i.e. all blockers are in a completed, canceled, or duplicate state).
  • An issue is blocked if any of its blockers are still active.

Label Convention

Issues suitable for AI agent work should be tagged with the "AI" label in Linear. This is the default filter; override with --label.

Usage

Run the script from this skill's directory:

.agents/skills/linear-ready/scripts/linear-ready [OPTIONS]

Options

FlagDescriptionDefault
--team <key>Filter by team key (e.g. "ENG")all teams
--label <name>Label to filter forAI
--project <name>Filter by project name
--assignee <name>Filter by assignee display name
--unassignedShow only unassigned issues
--priority <1-4>Filter by priority (1=Urgent..4=Low)
--limit <n>Max results50
--state <types>Comma-separated state types to includebacklog,unstarted
--include-blockedInclude blocked issues in output
--jsonJSON output for agent consumption

Examples

# Find all ready AI issues
linear-ready

# Find ready issues for a specific team
linear-ready --team ENG

# Find ready issues in a specific project
linear-ready --team ENG --project "Auth Rewrite"

# Find unassigned ready issues (good for picking up new work)
linear-ready --unassigned

# JSON output for programmatic use
linear-ready --json

# Include blocked issues to see the full picture
linear-ready --include-blocked

# Use a different label instead of "AI"
linear-ready --label "agent-ready"

Agent Workflow

When starting a session or looking for work:

  1. Find ready work:

    linear-ready --team ENG --json
    
  2. Pick an issue — choose the highest priority unblocked issue from the output.

  3. Read the issue description for full context:

    linear issue view ENG-42 --json
    
  4. Start work — update the issue state to "In Progress":

    linear issue update ENG-42 -s started
    

    Or use linear issue start ENG-42 which also creates a git branch.

  5. Implement the task following the issue's acceptance criteria.

  6. Complete — update the issue state when done:

    linear issue update ENG-42 -s completed
    

Output Formats

Pretty (default)

Ready issues (label: AI):

  ENG-42  [High]    Add display_name to user profile
          State: Todo | Project: User Features | Unassigned

  ENG-45  [Normal]  Fix auth token refresh race condition
          State: Todo | Assigned: alice

Blocked: 2 issue(s) hidden (use --include-blocked to show)

JSON (--json)

{
  "ready": [
    {
      "identifier": "ENG-42",
      "title": "Add display_name to user profile",
      "priority": 2,
      "priorityLabel": "High",
      "url": "https://linear.app/...",
      "state": { "name": "Todo", "type": "unstarted" },
      "assignee": null,
      "project": { "name": "User Features" },
      "activeBlockers": []
    }
  ],
  "blockedCount": 2
}

With --include-blocked --json, the full blocked array is included with each issue's activeBlockers list showing what's blocking it.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bc

Free

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bdr

Free

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

See all skills by aspiers

Report a problem with this skill