Skip to content
Back to skills

Linear

ASecurity

Linear — issue ops, status transitions, cycle management.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
developmentnodeapi

Works with

  • api

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add Dev-Toolbelt/dev-team-agents --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/dev-toolbelt-linear/badge)](https://www.skillsdirectory.com/skills/dev-toolbelt-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: Linear — issue ops, status transitions, cycle management.
---

## Detection

Activate this skill when any of the following are present:
- `LINEAR_API_KEY` environment variable is set
- User mentions a Linear issue key (e.g., `ENG-123`, `INFRA-456`)
- User says "create a Linear issue", "update the Linear ticket", or similar

---

## Status Flow

```
Backlog → Todo → In Progress → In Review → Done
                                         → Cancelled (if abandoned)
```

- Move to **In Progress** when work begins on the branch
- Move to **In Review** when a PR is opened
- Move to **Done** only after the PR is merged and deployed (or as agreed with the team)
- Do not skip statuses — Linear's cycle metrics depend on accurate transitions

---

## Operations

### Before creating an issue — fetch team context first

```graphql
# Get teams, projects, and cycles
query {
  teams {
    nodes {
      id
      name
      states { nodes { id name type } }
      labels { nodes { id name } }
      activeCycle { id number startsAt endsAt }
    }
  }
}
```

Use the returned `state.id`, `label.id`, and `cycle.id` when creating issues — never hardcode IDs.

### Create issue

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

Required fields: `teamId`, `title`
Recommended fields: `description`, `priority`, `labelIds`, `assigneeId`, `cycleId`

**Priority values:** `0` = No priority, `1` = Urgent, `2` = High, `3` = Medium, `4` = Low

### Update status

```graphql
mutation UpdateIssue($id: String!, $stateId: String!) {
  issueUpdate(id: $id, input: { stateId: $stateId }) {
    success
    issue { id identifier state { name } }
  }
}
```

### Add comment

```graphql
mutation AddComment($issueId: String!, $body: String!) {
  commentCreate(input: { issueId: $issueId, body: $body }) {
    success
    comment { id }
  }
}
```

---

## Branch Naming

When creating a branch for a Linear issue, use:

```
feat/ENG-123-short-description
fix/ENG-456-bug-description
chore/ENG-789-task-description
```

- Use the Linear issue key as the prefix after the type
- Keep the description slug short (3–5 words, kebab-case)
- Linear auto-links branches that contain the issue identifier

---

## Comment Format

When adding a progress comment to a Linear issue, use this structure:

```markdown
**Done:** [what was implemented or changed]

**Decisions:** [key choices made and why — omit if none]

**Blockers:** [anything blocking next steps — omit if none]

**Next:** [remaining work or recommended next action]
```

---

## Cycle Management

- Always assign issues to the **active cycle** when starting work, not when creating
- Use `activeCycle.id` from the team query — do not ask the user for the cycle ID
- If there is no active cycle, assign to the next upcoming cycle or leave unassigned and note it
- Do not create new cycles — that is a team lead responsibility

---

## Checklist

- [ ] Team context fetched before creating any issue (to get valid IDs)
- [ ] Issue assigned to active cycle when work begins
- [ ] Branch name includes the issue identifier (`ENG-123`)
- [ ] Status updated to In Review when PR is opened
- [ ] Comment added to the issue summarizing what was done

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.