Skip to content
Back to skills

Linear

ASecurity

Access Linear issues, sprints, and generate daily standups via the Linear GraphQL API. Use when the user mentions Linear, issues, tickets, sprint, standup, daily update, or in-progress tasks.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 9, 2026
ai-agentsshellbashnodeapi

Works with

  • api

Security analysis

A100/100

Scanned October 9, 2026

npx -y skills add julienR2/jarvis --skill linear --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Linear?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Linear
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/julienr2-linear/badge)](https://www.skillsdirectory.com/skills/julienr2-linear)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: linear
description: Access Linear issues, sprints, and generate daily standups via the Linear GraphQL API. Use when the user mentions Linear, issues, tickets, sprint, standup, daily update, or in-progress tasks.
allowed-tools: Bash
---

# Linear Skill

Access Linear via the GraphQL API.

## Credentials

Uses the **`linear`** connector → sets `$LINEAR_API_KEY`. Load it per *Connectors* in CLAUDE.md, in the same shell block as the commands that use it.

- **Endpoint:** `https://api.linear.app/graphql`

## How to query

Use `curl` with the Authorization header:

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

---

## Common queries

### Get current user

```graphql
{ viewer { id name } }
```

### Issues currently in progress (assigned to me)

```graphql
{
  viewer {
    assignedIssues(filter: { state: { type: { in: ["started", "inProgress"] } } }) {
      nodes { identifier title state { name } url }
    }
  }
}
```

### Issues completed on a specific date (e.g. yesterday)

Replace dates with ISO 8601 format (`YYYY-MM-DDT00:00:00.000Z`):

```graphql
{
  viewer {
    assignedIssues(filter: { completedAt: { gte: "2026-04-16T00:00:00.000Z", lte: "2026-04-16T23:59:59.999Z" } }) {
      nodes { identifier title state { name } completedAt }
    }
  }
}
```

### All issues assigned to me (any state)

```graphql
{
  viewer {
    assignedIssues {
      nodes { identifier title state { name } priority updatedAt }
    }
  }
}
```

### Issues by team

```graphql
{
  teams { nodes { id name } }
}
```

```graphql
{
  team(id: "TEAM_ID") {
    issues(filter: { assignee: { isMe: { eq: true } } }) {
      nodes { identifier title state { name } }
    }
  }
}
```

---

## Daily standup format (French)

When generating a daily standup, use this format:

```
Hello

Hier :
- [TSH-XXXX] Description de la tâche terminée

Aujourd'hui :
- [TSH-XXXX] Description de la tâche en cours
- [TSH-XXXX] Description de la tâche en review
```

- **Hier** = issues completed the previous working day (`completedAt` filter)
- **Aujourd'hui** = issues currently in progress or in review (`state.type` = started/inProgress)
- Today's date is always available as `currentDate` in the system context

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.