linear

Manage Linear issues, projects, teams, and documents via the GraphQL API using curl or a Python CLI.

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/CHENHUI-X/toolbox --skill linear-chenhui-x
Or copy as Structured Prompt for Agentโ–ผ
Please help me install this Agent Skill.
Skill: linear
Source: https://github.com/CHENHUI-X/toolbox/tree/main/custom-skills/productivity/linear
Command: npx skills add https://github.com/CHENHUI-X/toolbox --skill linear-chenhui-x

SYSTEM DOCUMENTATION & REQUIREMENTS

๐Ÿ’ก This Skill includes scripts (resource) components.

What problem does it solve? Managing Linear issues and projects normally requires switching to the web UI or setting up an MCP server and OAuth flow. This Skill lets you query, create, and update Linear issues, projects, teams, and documents directly from the terminal using the GraphQL API with just a personal API key. ## Core Features & Use Cases - Full Issue Lifecycle: List, search, create, and update issues, change workflow states, set priorities, assign users, add labels, and post comments via GraphQL queries or a zero-dependency Python CLI. - Project & Team Management: Query teams, workflow states, projects, members, and labels to coordinate work across your organization. - Document Access: Fetch, list, and search Linear Documents (RFCs, specs, notes) by slugId from a URL or by UUID. - Use Case: You need to triage a bug report. Run get-issue ENG-42 to read the full issue with comments, then update-status ENG-42 "In Progress" and add-comment ENG-42 "Investigating root cause" without leaving your terminal. ## Quick Start Set the LINEAR_API_KEY environment variable with a personal API key from Linear settings, then ask the agent to list your assigned Linear issues or get the details of a specific issue like ENG-123.

Frequently Asked Questions about linear

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Linear issue from the command line?โ–ผ

Use the included Python CLI with `create-issue --title "Fix login bug" --team ENG --priority 2`, or send a GraphQL `issueCreate` mutation via curl to https://api.linear.app/graphql. You need the team UUID, which you can get from the list-teams command.

How do I change the status of a Linear issue via the API?โ–ผ

Run `update-status ENG-123 "In Progress"` with the helper script, which resolves the state name to a UUID automatically. With raw GraphQL, first query the team's workflow states to get the target stateId, then call the issueUpdate mutation with that stateId.

Does the Linear API key need a Bearer prefix in the Authorization header?โ–ผ

No. Linear personal API keys are passed directly as the Authorization header value with no Bearer prefix. Create a personal key under Linear Settings > Account > Security & access, not the org-level API settings page.

How do I fetch a Linear document from its URL?โ–ผ

Extract the trailing hex slugId from the document URL, then run `get-document <slugId>` or query the documents collection with a slugId filter. The document(id:) query only accepts UUIDs, and the Markdown body is in the content field.

What are the Linear API rate limits?โ–ผ

Linear allows 5,000 requests per hour and 3,000,000 complexity points per hour per API key. Use the `first: N` argument to limit result sizes and monitor the X-RateLimit-Requests-Remaining response header.

Why does my Linear GraphQL request return HTTP 200 but no data?โ–ผ

GraphQL APIs return HTTP 200 even when the query fails, placing error details in the errors array of the response body. Always inspect the errors array before using the data payload.