linear

Manage Linear issues, projects, teams, and documents via the GraphQL API using curl.

Updated Jul 10, 2026
One-click install
npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill linear-avatar-arts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: linear
Source: https://github.com/AvaTar-ArTs/.Agent-skills/tree/main/skills/productivity/linear
Command: npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill linear-avatar-arts

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 nothing more than curl and a personal API key. ## Core Features & Use Cases - Full Issue Lifecycle: List, search, create, and update issues, change workflow states, set priorities and due dates, assign users, add labels, and post comments via GraphQL mutations. - Project & Team Queries: Retrieve teams, workflow states, projects, members, and labels, with Relay-style cursor pagination and rich filter comparators. - Document Access: Fetch Linear documents by URL slugId or UUID, list recent docs, and search by title, including Markdown content extraction. - Zero-Dependency CLI: A bundled stdlib-only Python script (scripts/linear_api.py) wraps common operations like get-issue ENG-42 and update-status so you do not have to hand-write GraphQL. - Use Case: Triage your sprint from the terminal: list issues assigned to you, move ENG-123 to "In Progress", add a comment with findings, and mark it complete when done. ## 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-42.

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?

Send an issueCreate GraphQL mutation to https://api.linear.app/graphql with curl, passing teamId, title, description, and priority in the input variables. Alternatively, run the bundled script with create-issue --title "..." --team ENG for a simpler one-liner.

How do I change a Linear issue status via the API?

First query the team's workflowStates to get the target state's UUID, then call issueUpdate with that stateId. The helper script's update-status command resolves the state name to its UUID automatically.

Does the Linear API need a Bearer token for authentication?

No. Personal API keys are passed directly in the Authorization header with no Bearer prefix. Get a key from Linear Settings under Account, Security and access, Personal API keys, and set it as LINEAR_API_KEY.

How do I fetch a Linear document from its URL?

Extract the trailing hex slugId from the document URL, then query the documents collection with a slugId equality filter, since document(id:) only accepts UUIDs. The Markdown body is in the content field, not contentState.

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

Linear returns HTTP 200 even when the response contains a GraphQL errors array, so always inspect the errors field in the JSON body. Common causes include invalid field names, bad filter syntax, or insufficient permissions.

What are the Linear API rate limits?

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