linear

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

1|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/kaminocorp/hermes-alpha-hunter --skill linear-kaminocorp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: linear
Source: https://github.com/kaminocorp/hermes-alpha-hunter/tree/main/skills/productivity/linear
Command: npx skills add https://github.com/kaminocorp/hermes-alpha-hunter --skill linear-kaminocorp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing Linear issues normally requires switching to the Linear web UI or setting up an MCP server with OAuth. This Skill lets you create, update, search, and organize Linear issues, projects, and teams directly from the terminal using plain curl calls to the Linear GraphQL API, with only a personal API key. ## Core Features & Use Cases - Issue Operations: Create, update, assign, prioritize, label, comment on, and complete issues using GraphQL mutations with either UUIDs or short identifiers like ENG-123. - Search & Filtering: Query issues by text search, workflow state type, team, or assignee, with Relay-style cursor pagination for large result sets. - Project & Team Management: List teams, workflow states, members, labels, and projects, and create new projects linked to teams. - Use Case: Triage a bug report by searching for duplicates with issueSearch, creating a new issue in the ENG team with priority 1 (Urgent), assigning it to a teammate, and adding a comment with reproduction steps — all without leaving the terminal. ## Quick Start Set the LINEAR_API_KEY environment variable, then ask the agent to list your assigned Linear issues or create a new issue in a specific team.

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 a POST request to https://api.linear.app/graphql with the issueCreate mutation, providing teamId, title, description, and priority in the input variables. Authenticate with your personal API key in the Authorization header without a Bearer prefix.

How do I update a Linear issue status via the API?▼

First query the team's workflowStates to get the target state's UUID, then call the issueUpdate mutation with the issue identifier (like ENG-123) and the stateId. Linear has six state types: triage, backlog, unstarted, started, completed, and canceled.

Does the Linear API require OAuth for authentication?▼

No, personal API keys work without OAuth. Generate a key in Linear Settings under API, set it as the LINEAR_API_KEY environment variable, and pass it directly in the Authorization header with no Bearer prefix.

Can I search Linear issues by text with the GraphQL API?▼

Yes, use the issueSearch query with a text query string and a first parameter to limit results. It returns matching issues with identifiers, titles, states, assignees, and URLs.

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 parameter to limit result sizes and monitor the X-RateLimit-Requests-Remaining response header.

Why does my Linear GraphQL request return HTTP 200 but fail?▼

GraphQL APIs return HTTP 200 even when the query contains errors. Always inspect the errors array in the JSON response body to detect failed queries or mutations.