agentsclimarketplace

Linear skills

Skill conorluddy/linear-skills/linear-skills

Lightweight Linear skill for fetching issue details. Returns only essential data (title, description, state, assignee) to optimize context usage compared to full Linear MCP.From its SKILL.md

Install
npx -y skills add conorluddy/linear-skills --skill linear-skills

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.9 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Linear Get Issue Skill

Fetch Linear issue details by ID with minimal context overhead.

Quick Start

# Set up your Linear API key
export LINEAR_API_KEY="your_api_key_here"

# Search for issues by keyword
python scripts/search_issues.py "filtering"

# Get full details of a specific issue
python scripts/get_issue.py LUDDY-320

# Get JSON output for parsing
python scripts/get_issue.py LUDDY-320 --json

Available Scripts

Two-Part Workflow: Search + Get

Search to find issues, then Get full details of the one you want.

search_issues.py - Find issues

Search Linear issues by keywords in title, description, or ID.

Usage:

python scripts/search_issues.py <query> [--limit N] [--json]

Arguments:

  • <query> - Search term (e.g., "filtering", "exercise", "bug")

Options:

  • --limit N - Max results (default: 10)
  • --json - Output as JSON
  • --help - Show help

Output (default - compact list):

Found 3 issue(s):

1. LUDDY-320 - Filtering System - Progressive Disclosure UX
   Status: In Progress | Assignee: Unassigned | Team: LUDDY

2. LUDDY-321 - FilterChip and FilterChipGroup Atoms
   Status: Backlog | Assignee: Unassigned | Team: LUDDY

3. LUDDY-323 - Filter Logic & State Management
   Status: Backlog | Assignee: Unassigned | Team: LUDDY

Then use the identifier from search results with get_issue.py


get_issue.py - Fetch issue details

Retrieve full Linear issue details including title, description, state, assignee, team, and labels.

Usage:

python scripts/get_issue.py <issue-id> [--json]

Arguments:

  • <issue-id> - Linear issue identifier (e.g., ENG-123, DES-45)

Options:

  • --json - Output as JSON (for parsing in scripts)
  • --help - Show help message

Output (default - human readable):

ENG-123: Fix login bug
Status: In Progress
Priority: High
Assignee: John Doe ([email protected])
Team: Engineering
Labels: bug, p1

Description:
Users unable to login with SSO on mobile Safari. Started after
the recent auth middleware update.

URL: https://linear.app/workspace/issue/ENG-123/...
Created: 2024-12-15
Updated: 2024-12-16

Output (--json):

{
  "id": "issue_uuid",
  "identifier": "ENG-123",
  "title": "Fix login bug",
  "description": "Users unable to login...",
  "state": {
    "name": "In Progress",
    "type": "started"
  },
  "priority": "High",
  "assignee": {
    "name": "John Doe",
    "email": "[email protected]"
  },
  "team": {
    "name": "Engineering",
    "key": "ENG"
  },
  "labels": [
    {"name": "bug", "color": "#ff0000"}
  ],
  "url": "https://linear.app/...",
  "created_at": "2024-12-15T10:30:00",
  "updated_at": "2024-12-16T14:22:00"
}

Environment Setup

  1. Get your Linear API key from Settings > API in your Linear workspace
  2. Copy .env.example to .env in the skill directory:
    cp .env.example .env
    
  3. Edit .env and add your key:
    LINEAR_API_KEY=your_api_key_here
    

Alternative: Export directly without .env:

export LINEAR_API_KEY="your_api_key_here"

Note: The script checks for .env in:

  1. Skill directory (.claude/skills/linear-skills/.env)
  2. Project root (fallback)
  3. Current working directory (fallback)

Requirements

  • Python 3.9+
  • Linear API key (get from workspace Settings > API)
  • Zero external dependencies - uses only Python stdlib (urllib, json, argparse)

Installation

No dependencies to install! Just set up your .env file and run.

Why This Skill?

The full Linear MCP can be context-heavy when you only read issues. This lightweight skill:

Benefits:

  • Zero Dependencies: Pure Python stdlib
  • Lightweight: Direct GraphQL queries, minimal overhead
  • Read-Only: Perfect for lookups and searching
  • Optimized Output: 3-7 lines by default, JSON on demand
  • Context Efficient: Saves significant tokens vs full Linear MCP
  • Fast: No SDK initialization, direct API calls

When to use this skill:

  • Searching for issues by keyword
  • Getting issue details and status
  • Quick lookups without modifying anything
  • Reducing context overhead

When to use the full Linear MCP instead:

  • Creating new issues
  • Updating status, assignees, labels, or milestones
  • Adding comments or attachments
  • Complex workflows that require write access

Examples

Get issue and see description:

python scripts/get_issue.py ENG-123

Parse issue data in a script:

python scripts/get_issue.py ENG-123 --json | jq '.description'

Use with Claude Code: Simply ask: "Get issue ENG-123" and this skill will be invoked automatically.


Use these scripts directly or let Claude Code invoke them automatically when your request matches the skill description.

What ships with it: 3 files

14.8 KB alongside SKILL.md, 2 of them executable

scripts/

Keep looking

Skills are one crate of 326,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.