Agent skill

Linear

by magnus919 in magnus919/agent-skills

Manage Linear teams, projects, cycles, issues, comments, workflow state, and documents from a terminal through Linear's public GraphQL API.

MITAuto-check: notesBackend & APIs

Install Linear

skills CLI
$ npx skills add magnus919/agent-skills --skill linear -a claude-code

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

GitHub CLI
$ gh skill install magnus919/agent-skills linear --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/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/linear .claude/skills/linear && 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
GitHub stars
113
Token cost
~1.9k tokens
SKILL.md length
909 words
Files
9 (incl. scripts, references)
Skills in repo
115
Repo updated
First seen
Licence
MIT

At a glance

Manage Linear teams, projects, cycles, issues, comments, workflow state, and documents from a terminal through Linear's public GraphQL API.

  • Works in 4 steps: Inspect the available command and… → For a live request, set exactly one… → Begin with bounded discovery. Reads… → …
  • A user asks to list
  • SKILL.md covers Setup, Command Map, Choose the Smallest Read and State Changes, plus 4 more sections
  • Runs Python scripts from its folder; calls python3 and ruby; needs LINEAR_API_KEY and LINEAR_ACCESS_TOKEN

What it does

Linear is an agent skill from magnus919/agent-skills. Manage Linear teams, projects, cycles, issues, comments, workflow state, and documents from a terminal through Linear's public GraphQL API. Use when a user asks to list, search, inspect, create, update, move, or comment on Linear work, or to find Linear documents. Do not use to embed a live agent inside Linear or to build an MCP integration.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/domain-and-workflows.md`). Compatibility notes: Requires Python 3.8+; network access and a Linear personal API key or OAuth access token for live API requests.

It sits in Backend & APIs, covering GraphQL and MCP servers. It works with GraphQL and Linear. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.

When your agent uses it

  • A user asks to list
  • Comment on Linear work
  • Find Linear documents
  • Embed a live agent inside Linear

Example prompts

  • “/linear”

Requirements

  • Python 3
  • A credential in LINEAR_API_KEY
  • A credential in LINEAR_ACCESS_TOKEN
  • Compatibility (from SKILL.md): Requires Python 3.8+; network access and a Linear personal API key or OAuth access token for live API requests.
  • Pre-approved tools (allowed-tools): Bash, Read

Workflow steps

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

  1. Inspect the available command and relevant noun: scripts/linear --help and scripts/linear issue --help.
  2. For a live request, set exactly one credential in the process environment. Use LINEAR_API_KEY
  3. Begin with bounded discovery. Reads default to --limit 10; the maximum is 100.
  4. Output is always JSON: compact with --json, indented without it. --dry-run makes no network request and previews the operation.

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • ruby

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

  • Network

    Links to these hosts (documentation or services it may open):

    • linear.app

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LINEAR_API_KEY
    • LINEAR_ACCESS_TOKEN

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

  • Compatibility

    Requires Python 3.8+; network access and a Linear personal API key or OAuth access token for live API requests.

    From compatibility in the SKILL.md frontmatter.

Context cost

Linear loads about 1.9k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 909 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.2k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read

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); the scripts in this folder are not scanned.

SKILL.md

The full file from magnus919/agent-skills at commit 96fbe07, republished under its MIT licence (© magnus919). 909 words, ~1,895 tokens.

Download SKILL.mdSave it as .claude/skills/linear/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
linear
description
Manage Linear teams, projects, cycles, issues, comments, workflow state, and documents from a terminal through Linear's public GraphQL API. Use when a user asks to list, search, inspect, create, update, move, or comment on Linear work, or to find Linear documents. Do not use to embed a live agent inside Linear or to build an MCP integration.
allowed-tools
Bash, Read
compatibility
Requires Python 3.8+; network access and a Linear personal API key or OAuth access token for live API requests.
license
MIT
metadata.service
Linear
metadata.api
GraphQL
metadata.graphql-docs
https://linear.app/developers/graphql
metadata.oauth-docs
https://linear.app/developers/oauth-2-0-authentication
metadata.rate-limit-docs
https://linear.app/developers/rate-limiting
metadata.agent-interaction-docs
https://linear.app/developers/agent-interaction

Linear

Use scripts/linear from this skill directory. It is a small, dependency-free wrapper around Linear's public GraphQL API, not an MCP server. Use command-specific --help rather than copying the full command reference into a response.

Setup

  1. Inspect the available command and relevant noun: scripts/linear --help and scripts/linear issue --help.
  2. For a live request, set exactly one credential in the process environment. Use LINEAR_API_KEY for a personal key or LINEAR_ACCESS_TOKEN for OAuth. Never print, persist, or place either in a command transcript.
  3. Begin with bounded discovery. Reads default to --limit 10; the maximum is 100.
  4. Output is always JSON: compact with --json, indented without it. --dry-run makes no network request and previews the operation.

Command Map

NeedCommand
Confirm current identityscripts/linear whoami --json
Discover teamsscripts/linear team list --limit 20 --json
List a team's workflow statesscripts/linear state list --team ENG --json
Narrow a known issue setscripts/linear issue list --team ENG --state "In Progress" --json
Find an issue by wordsscripts/linear issue search "customer import" --json
Read one known issuescripts/linear issue get ENG-42 --json
Read an issue with its project, cycle, hierarchy, comments, and relationsscripts/linear issue get ENG-42 --detail --json
Create an issue with project, parent, assignee, labels, state, or due datescripts/linear issue create --team ENG --title "Fix login" --project "Platform" --parent ENG-1 --assignee "Ada Lovelace" --label bug --state "In Progress" --due 2026-08-31
Update an issue's assignee, labels, due date, or projectscripts/linear issue update ENG-42 --assignee "Ada Lovelace" --label bug --remove-label p2 --due 2026-08-31 --project "Platform"
Archive or unarchive an issuescripts/linear issue archive ENG-42 or scripts/linear issue unarchive ENG-42
List or read projectsscripts/linear project list --team ENG --json or scripts/linear project get "Roadmap" --json
Update a projectscripts/linear project update "Roadmap" --description "Q3 plan" --status started
List or read cyclesscripts/linear cycle list --team ENG --json or scripts/linear cycle get UUID --json
Find documents by wordsscripts/linear document search roadmap --json
Read a document by UUID, slug, or URLscripts/linear document get REF --json
Use a documented unsupported GraphQL operationscripts/linear raw 'query { viewer { id } }' --json

Choose the Smallest Read

SituationUse
You know an issue identifier or UUIDissue get
You have words but not an identifierissue search or document search
You need a bounded set with filtersissue list, document list, project list, or cycle list
You need a team's workflow statesstate list --team ENG
The task needs a documented operation outside this focused CLIraw with an explicit GraphQL query

raw is an escape hatch, not a replacement for normal commands. Keep its query narrow and use the official GraphQL documentation to confirm field names and permissions.

State Changes

Confirm the target, scope, and rollback path before acting. Read-only discovery may proceed without confirmation.

For issue create, issue update, issue move, issue comment, issue archive, issue unarchive, project update, and raw GraphQL mutations:

  1. Identify the issue/team/project/state using a read command.
  2. State the exact intended change and recovery path to the user.
  3. Run the same command with --dry-run --json; this has no credentials or network requirement.
  4. After confirmation, rerun it with --confirm --json.
  5. Report the returned identifier and outcome without exposing credentials.

The --team filters for issue, project, and cycle lists require an exact team key. issue create resolves a team key or exact name before creation, resolves issue identifiers before comments, updates, or archiving, resolves a project by UUID or exact name, an assignee by exact name or email, labels within the issue's team, and a destination workflow state only within that issue's team. project update resolves the project by UUID or exact name and the status by name or type. It does not guess IDs, workflow states, labels, or project statuses. Load references/domain-and-workflows.md for safe mutation recipes and Linear workflow semantics.

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

Errors And Recovery

  • Missing credentials: export one supported environment variable only for the command session, or use --dry-run to inspect the request.
  • GraphQL error: the CLI writes Linear's first useful error message to stderr and exits nonzero, including when the HTTP status is 200. Check permissions, exact identifiers, and documented field availability.
  • Team ambiguity: use team list to choose an exact key/name; do not retry by guessing an ID.
  • State lookup failure: list the team's states first with state list --team, then use that exact name. The error also lists the available states for the issue's team.
  • Label lookup failure: the error lists the available labels in the issue's team. Use that exact name.
  • Project status lookup failure: the error lists the available statuses. Use an exact name or type (for example planned, started, paused, completed, canceled).
  • Project description rejection: Linear's projectUpdate rejects descriptions longer than 255 characters. Keep project descriptions at 255 characters or fewer.
  • Limit failure: choose a value from 1 through 100. The CLI deliberately does not paginate automatically.
  • Rate limit or transport failure: wait and retry the same bounded read. Follow Linear's rate limiting guidance rather than adding a retry loop.

References

When you need...Load...
Linear's data model, workflow semantics, safe mutation recipesreferences/domain-and-workflows.md
GraphQL endpoint, auth, filters, pagination, errors, rate limitsreferences/graphql-contract.md
CLI vs MCP vs raw GraphQL vs Agent Session decisionreferences/integration-boundaries.md
Source URLs, access dates, schema verification procedurereferences/sources.md

Verification

Run the offline tests and repository validator after changes:

bash
python3 -m unittest linear/tests/test_linear.py
ruby scripts/validate-skills.rb

When Not To Use

Use Linear's native MCP or agent-session/webhook API when the task is to embed a live agent inside Linear rather than operate Linear from a terminal.

© magnus919, MIT. 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 8 other files (scripts, references) in linear of magnus919/agent-skills.

  • SKILL.md
  • README.md
  • evals/evals.json
  • references/domain-and-workflows.md
  • references/graphql-contract.md
  • references/integration-boundaries.md
  • references/sources.md
  • scripts/linear
  • tests/test_linear.py

Open the folder on GitHubat commit 96fbe07

Compare with similar skills

Linear 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Linear this skillmagnus919/agent-skills113—~1.9kAutomated safety check: NotesMIT
QA Find Bugs MCPbex-co/beancount-io295—~3kAutomated safety check: PassMIT
Shopifyasgeirtj/system_prompts_leaks69k—~2kAutomated safety check: PassCC0-1.0
MondayLeoYeAI/openclaw-master-skills2.2k—~4.3kAutomated safety check: PassMIT
Shopify AI Toolkit Wrapperjeremylongshore/tons-of-skills-marketplace2.8k—~1.5kAutomated safety check: PassMIT
Apollo MCP Servermajiayu000/claude-skill-registry6661 repos~1.3kAutomated safety check: PassMIT

Similar skills

  • QA Find Bugs MCP

    bex-co/beancount-io

    Hunt bugs in the Beancount.io remote MCP server by driving the real POST /api-gateway/mcp endpoint with JSON-RPC and real MCP clients, checking transport, discovery, credential boundaries, tool and…

    295 GitHub stars~3k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Shopify

    asgeirtj/system_prompts_leaks

    Set up and operate a Shopify store with Shopify's official MCP server (the installed shopify command, NOT the npm Shopify CLI).

    69k GitHub stars~2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Monday

    LeoYeAI/openclaw-master-skills

    Manage monday.com boards, items, columns, groups, updates, and workflows via MCP server (preferred) and GraphQL API (fallback).

    2.2k GitHub stars~4.3k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Shopify AI Toolkit Wrapper

    jeremylongshore/tons-of-skills-marketplace

    Integrate Shopify's AI Toolkit MCP server with Claude Code for GraphQL validation, Liquid linting, and documentation search.

    2.8k GitHub stars~1.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Apollo MCP Server

    majiayu000/claude-skill-registry

    Guide for using Apollo MCP Server to connect AI agents with GraphQL APIs.

    666 GitHub starsUsed in 1 repo~1.3k tokens
    Backend & APIsAuto-check passed
  • Build Error Adapter

    ArcadeAI/arcade-mcp

    Build new Arcade error adapters from scratch using public Arcade TDK patterns.

    1k GitHub stars~2k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from magnus919/agent-skills

All 115 skills in this repo
  • Artifact Pyramids

    magnus919/agent-skills

    Organize durable agent research outputs as summaries, analysis, and evidence dossiers.

    113 GitHub stars~2.7k tokensUpdated 2 days ago
    Auto-check passed
  • Ascii City Engine

    magnus919/agent-skills

    Build portable, first-person colored ASCII city engines and small GIS-derived city packs.

    113 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Color Management

    magnus919/agent-skills

    Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.

    113 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check: notes
  • Data Scientist

    magnus919/agent-skills

    A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…

    113 GitHub stars~4.1k tokensUpdated 2 days ago
    Auto-check passed
  • Docker Compose

    magnus919/agent-skills

    Use Docker Compose to define, run, debug, and harden multi-container applications.

    113 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check: notes
  • Fpga Development

    magnus919/agent-skills

    Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.

    113 GitHub stars~2.7k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Linear

What does Linear do?

Manage Linear teams, projects, cycles, issues, comments, workflow state, and documents from a terminal through Linear's public GraphQL API. Linear is an agent skill from magnus919/agent-skills. Manage Linear teams, projects, cycles, issues, comments, workflow state, and documents from a terminal through Linear's public GraphQL API.

When should I use Linear?

Linear fits situations like: A user asks to list; comment on Linear work; find Linear documents; embed a live agent inside Linear.

How do I install Linear in Claude Code?

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

How do I install Linear in Codex?

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

Can I use Linear 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 magnus919/agent-skills --skill linear -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, .gemini/skills/linear, .github/skills/linear and .opencode/skills/linear in your project.

What does Linear need to run?

Going by SKILL.md and its folder, Linear needs Python for the scripts in its folder, the command-line tools its instructions call (python3 and ruby) and credentials named LINEAR_API_KEY and LINEAR_ACCESS_TOKEN. Our summary lists: Python 3; A credential in LINEAR_API_KEY; A credential in LINEAR_ACCESS_TOKEN. Its frontmatter pre-approves these tools: Bash, Read. Compatibility (from SKILL.md): Requires Python 3.8+; network access and a Linear personal API key or OAuth access token for live API requests..

Does Linear access the network?

SKILL.md names 1 domain. As links in the text: linear.app. This is read from the text; nothing was executed.

Is Linear safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Linear use?

Linear is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Linear use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.

What are the alternatives to Linear?

Skills that share tags, products or a category with Linear: QA Find Bugs MCP (bex-co/beancount-io, 295 stars), Shopify (asgeirtj/system_prompts_leaks, 69k stars), Monday (LeoYeAI/openclaw-master-skills, 2.2k stars) and Shopify AI Toolkit Wrapper (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Linear?

magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 113 GitHub stars. The repository holds 115 skills in this directory. The repository was last updated on October 6, 2026.

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