linear

Linear project management integration. Provides tools for processing a notification queue, managing issues, comments, teams, projects, and issue relations via the Linear GraphQL API.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "linear" with this command: npx skills add stepandel/linear-plugin

Linear

You have Linear tools for managing issues and responding to notifications. These tools call the Linear GraphQL API directly — they handle auth, formatting, and error handling for you.

Tools

linear_queue — notification inbox

Manages the queue of Linear notifications routed to you by webhooks.

ActionEffect
peekView all pending items sorted by priority. Non-destructive.
popClaim the highest-priority pending item (marks it in_progress).
drainClaim all pending items (marks them in_progress).
completeFinish work on a claimed item (requires issueId). Removes it from the queue.

Queue items have this shape:

{
  "id": "TEAM-123",
  "issueId": "TEAM-123",
  "event": "ticket",
  "summary": "Issue title or comment text",
  "priority": 1,
  "status": "pending",
  "addedAt": "ISO timestamp"
}

Event types:

EventMeaning
ticketYou have a ticket to work on.
mentionYou were mentioned in a comment.

For ticket events, id and issueId are the same (the issue identifier). For mention events, id is the comment ID and issueId is the parent issue identifier. Always use issueId when calling linear_issue, linear_comment, or linear_queue complete.

Priority maps from the Linear issue (1=Urgent, 2=High, 3=Medium, 4=Low, 5=None). Mentions always get priority 0, so they are processed before any ticket. Higher-priority items are popped first.

linear_issue — manage issues

Manage Linear issues: view details, search/filter, create, update, and delete.

ActionRequired ParamsOptional Params
viewissueId
liststate, assignee, team, project, limit
createtitledescription, assignee, state, priority, team, project, parent, labels, dueDate
updateissueIdtitle, description, appendDescription, assignee, state, priority, labels, project, dueDate
deleteissueId
  • issueId accepts human-readable identifiers like ENG-123
  • assignee accepts display name or email
  • state accepts workflow state name (e.g. In Progress, Done)
  • team accepts team key (e.g. ENG)
  • priority is numeric: 0=None, 1=Urgent, 2=High, 3=Medium, 4=Low
  • labels is an array of label names
  • parent accepts a parent issue identifier for creating sub-issues
  • appendDescription (boolean) — when true, appends description to the existing description instead of replacing it (update only)
  • dueDate accepts a date string in YYYY-MM-DD format (e.g. 2025-12-31); pass an empty string to clear the due date
  • description supports markdown. Use actual newlines for line breaks, not \n escape sequences — literal \n will appear as-is in the ticket instead of creating line breaks

linear_comment — manage comments

Read, create, and update comments on Linear issues.

ActionRequired ParamsOptional Params
listissueId
addissueId, bodyparentCommentId
updatecommentId, body
  • body supports markdown. Use actual newlines for line breaks, not \n escape sequences — literal \n will appear as-is in the comment instead of creating line breaks
  • parentCommentId threads the comment as a reply

linear_team — teams and members

View teams and their members.

ActionRequired ParamsOptional Params
list
membersteam
  • team is the team key (e.g. ENG)

linear_project — manage projects

List, view, and create Linear projects.

ActionRequired ParamsOptional Params
listteam, status
viewprojectId
createnameteam, description

linear_relation — issue relations

Manage relations between Linear issues (blocks, blocked-by, related, duplicate).

ActionRequired ParamsOptional Params
listissueId
addissueId, type, relatedIssueId
deleterelationId
  • type is one of: blocks, blocked-by, related, duplicate

Processing workflow

When you receive a Linear notification:

  1. Peek with linear_queue { action: "peek" } to see all pending items.
  2. Skip if there are no items.
  3. Pop the next item with linear_queue { action: "pop" }. This claims it (status becomes in_progress).
  4. Read the issue with linear_issue { action: "view", issueId: "<id>" }.
  5. Read comments with linear_comment { action: "list", issueId: "<id>" } if the event is a mention or you need discussion context.
  6. Act on the item:
    • ticket — do the work, then update state with linear_issue { action: "update", ... }.
    • mention — read the thread and reply with linear_comment { action: "add", ... }.
  7. Complete with linear_queue { action: "complete", issueId: "<id>" } to remove it from the queue.
  8. Repeat from step 3 until pop returns null.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

yuqing-bitable-and-label

Incrementally sync data from XiaoAi API to Feishu Bitable and optionally auto-label records with machine-based type and sentiment annotations.

Registry SourceRecently Updated
General

张律师综合套装

张律师法律AI中台 - 中国首个开源法律AI技能库,涵盖刑事辩护、民商事诉讼、合同审查全流程

Registry SourceRecently Updated
General

刑事辩护

刑事辩护全流程AI助手 - 6大阶段21个模板,从接案到执行全覆盖

Registry SourceRecently Updated