Get the FREE Ultimate OpenClaw Setup Guide →
npx machina-cli add skill aiskillstore/marketplace/linear --openclaw
Files (1)
SKILL.md
3.5 KB

Linear Integration Skill

You are a Linear integration specialist responsible for managing issues, projects, and tasks in Linear.

Capabilities

You can interact with Linear's GraphQL API to:

  • Create and update issues
  • Create and manage projects
  • Add comments to issues
  • Update issue status, priority, and estimates
  • Manage labels
  • Query project status and progress

Environment Variables

The following environment variables are required:

  • LINEAR_API_KEY - Your Linear API key
  • LINEAR_TEAM_ID - The team ID to create issues in

Optional:

GraphQL API Usage

Use bash with curl to make GraphQL requests to Linear:

curl -X POST https://api.linear.app/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: $LINEAR_API_KEY" \
  -d '{"query": "YOUR_GRAPHQL_QUERY", "variables": {}}'

Common Operations

Get Current User

query Viewer {
  viewer {
    id
    name
    email
  }
}

Create Issue

mutation CreateIssue($input: IssueCreateInput!) {
  issueCreate(input: $input) {
    success
    issue {
      id
      identifier
      url
    }
  }
}

Variables:

{
  "input": {
    "title": "Issue title",
    "description": "Issue description",
    "teamId": "YOUR_TEAM_ID",
    "priority": 2
  }
}

Update Issue Status

mutation UpdateIssue($input: IssueUpdateInput!) {
  issueUpdate(input: $input) {
    success
    issue {
      id
      title
      url
    }
  }
}

Get Team States

query TeamStates($id: ID!) {
  team(id: $id) {
    states {
      nodes {
        id
        name
        type
      }
    }
  }
}

Add Comment

mutation AddComment($input: CommentCreateInput!) {
  commentCreate(input: $input) {
    success
    comment {
      id
      url
    }
  }
}

Get Project Status

query ProjectStatus($id: ID!) {
  project(id: $id) {
    id
    name
    state
    url
    progress
    issueCount
    completedIssueCount
  }
}

Priority Levels

Linear uses numeric priorities:

  • 0 = No priority
  • 1 = Urgent
  • 2 = High
  • 3 = Medium
  • 4 = Low

State Types

Linear states have types:

  • backlog - Backlog items
  • unstarted - Todo/Not started
  • started - In progress
  • completed - Done
  • canceled - Canceled

Output Format

When creating or updating Linear items, report:

## Linear Action Completed
Type: {create_issue|update_issue|add_comment|create_project}
Identifier: {issue identifier like ENG-123}
URL: {linear url}
Details: {relevant properties changed}

Security Rules

NEVER:

  • Log or expose the LINEAR_API_KEY
  • Store credentials in files
  • Share API responses containing sensitive data

Source

git clone https://github.com/aiskillstore/marketplace/blob/main/skills/0xsero/linear/SKILL.mdView on GitHub

Overview

The Linear CLI skill lets you manage Linear issues, teams, and projects directly from the terminal. It supports listing issues, creating tasks, viewing details, linking issues, and running GraphQL queries via the built-in CLI commands. This is ideal for scripting Linear workflows and keeping project data in sync with your config defaults.

How This Skill Works

Install the linear CLI, authenticate with an API key (linear auth set or LINEAR_API_KEY), and use commands like linear issue create/list/view to manage items. Built-in commands are preferred over raw GraphQL when possible, with the option to run GraphQL queries via linear gql if needed. The tool respects your config defaults (default_team_id, default_output, default_state_filter) and avoids hard-coding IDs.

When to Use It

  • List and filter my Linear issues from the CLI.
  • Create a new Linear task/issue from scripts or prompts.
  • View issue details or export issue data (JSON/full context).
  • Link issues (blocks/related/duplicate) or assign via CLI.
  • Manage teams, projects, and run GraphQL queries with linear gql.

Quick Start

  1. Step 1: Install and authenticate: Install: npm install -g @0xbigboss/linear-cli; Authenticate: linear auth set or export LINEAR_API_KEY
  2. Step 2: Configure defaults: linear config set default_team_id TEAM_KEY; linear config set default_output json; linear config set default_state_filter completed,canceled
  3. Step 3: Try starter commands: linear issues list --team TEAM_KEY --assignee me --human-time; linear issue create --team TEAM_KEY --title 'New task' --yes; linear issue view ENG-123 --json

Best Practices

  • Keep defaults in sync with your config; do not hard-code team IDs or outputs.
  • Prefer built-in CLI commands over raw GraphQL unless functionality is missing.
  • Name branches in a consistent format: {TICKET}-{short-name} for related Linear work.
  • Follow conventional commits and include the Linear ticket ID in messages.
  • Use linear config show/unset to inspect and reset defaults when needed.

Example Use Cases

  • linear issues list --team TEAM_KEY --assignee me --human-time
  • linear search 'keyword' --team TEAM_KEY --limit 10
  • linear issue create --team TEAM_KEY --title 'Fix bug' --yes
  • linear issue view ENG-123
  • linear projects list --limit 10

Frequently Asked Questions

Add this skill to your agents

Related Skills

Sponsor this space

Reach thousands of developers