Linear
Use this skill when the user wants to create, update, search, or triage Linear issues and projects.
Auth
Set LINEAR_API_KEY (from https://linear.app/settings/api).
bashENDPOINT="https://api.linear.app/graphql" HEADERS='-H "Authorization: $LINEAR_API_KEY" -H "Content-Type: application/json"'
Search issues
graphqlquery { issues(filter: { state: { name: { eq: "In Progress" } } }, first: 20) { nodes { id identifier title priority state { name } assignee { name } } } }
bashcurl -s -X POST "$ENDPOINT" \ -H "Authorization: $LINEAR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"{ issues(first:20){nodes{id identifier title state{name}}} }"}'
Create an issue
graphqlmutation { issueCreate(input: { title: "Fix login bug" description: "Steps to reproduce..." teamId: "TEAM_ID" priority: 2 }) { issue { id identifier url } } }
Update issue state
graphqlmutation { issueUpdate(id: "ISSUE_ID", input: { stateId: "STATE_ID" }) { issue { id state { name } } } }
Get teams and states
graphqlquery { teams { nodes { id name states { nodes { id name } } } } }
Safety notes
- Always retrieve
teamIdandstateIdbefore mutations. - Priority values: 0=No priority, 1=Urgent, 2=High, 3=Medium, 4=Low.


