linear skill
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
---
|
||||
name: linear
|
||||
description: Access Linear issue tracker - search, view, create, update issues, list teams/projects, and manage comments. Use when the user asks about Linear issues, tasks, tickets, or project management in Linear.
|
||||
---
|
||||
|
||||
# Linear
|
||||
|
||||
Manage Linear issues, projects, and teams via the Linear SDK.
|
||||
|
||||
## Setup
|
||||
|
||||
Run once before first use:
|
||||
|
||||
```bash
|
||||
cd {baseDir} && npm install
|
||||
```
|
||||
|
||||
Requires a `LINEAR_API_KEY` environment variable. Generate one at: https://linear.app/settings/api (Personal API keys).
|
||||
|
||||
Set it in your shell profile or pi settings:
|
||||
|
||||
```bash
|
||||
export LINEAR_API_KEY=lin_api_...
|
||||
```
|
||||
|
||||
## Current User
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-me.js # Show authenticated user
|
||||
node {baseDir}/linear-me.js --issues # Show user + their active issues
|
||||
```
|
||||
|
||||
## Search Issues
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-search.js "query" # Text search
|
||||
node {baseDir}/linear-search.js "query" -n 20 # More results
|
||||
node {baseDir}/linear-search.js "query" --team ENG # Filter by team
|
||||
node {baseDir}/linear-search.js "query" --state "In Progress" # Filter by state
|
||||
```
|
||||
|
||||
## List Issues (with filters)
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-issues.js # All recent issues
|
||||
node {baseDir}/linear-issues.js --team ENG # By team
|
||||
node {baseDir}/linear-issues.js --state "In Progress" # By state
|
||||
node {baseDir}/linear-issues.js --assignee me # My issues
|
||||
node {baseDir}/linear-issues.js --assignee "John" # By assignee name
|
||||
node {baseDir}/linear-issues.js --label "Bug" # By label
|
||||
node {baseDir}/linear-issues.js --project "Q1 Goals" # By project
|
||||
node {baseDir}/linear-issues.js --team ENG --state Todo -n 50 # Combined filters
|
||||
```
|
||||
|
||||
## View Issue Details
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-issue.js ATT-1234 # Full issue details
|
||||
node {baseDir}/linear-issue.js ATT-1234 --comments # Include comments
|
||||
```
|
||||
|
||||
## Create Issue
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-create.js --team ENG --title "Fix login bug"
|
||||
node {baseDir}/linear-create.js --team ENG --title "New feature" --description "Details here" --state Todo --priority 2 --assignee me --label "Feature"
|
||||
node {baseDir}/linear-create.js --team ENG --title "Sub-task" --parent ATT-100
|
||||
```
|
||||
|
||||
Priority values: 0=None, 1=Urgent, 2=High, 3=Medium, 4=Low
|
||||
|
||||
## Update Issue
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-update.js ATT-1234 --state "In Progress"
|
||||
node {baseDir}/linear-update.js ATT-1234 --assignee me --priority 2
|
||||
node {baseDir}/linear-update.js ATT-1234 --title "New title" --description "Updated desc"
|
||||
```
|
||||
|
||||
## Add Comment
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-comment.js ATT-1234 "This is done in PR #567"
|
||||
```
|
||||
|
||||
## List Teams
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-teams.js
|
||||
```
|
||||
|
||||
## List Projects
|
||||
|
||||
```bash
|
||||
node {baseDir}/linear-projects.js # All projects
|
||||
node {baseDir}/linear-projects.js --team ENG # By team
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Use `--assignee me` to filter by the authenticated user
|
||||
- Issue identifiers follow the pattern `TEAM-NUMBER` (e.g. `ATT-1234`, `ENG-567`)
|
||||
- Descriptions support markdown formatting
|
||||
- State names are case-insensitive (e.g. "todo", "Todo", "TODO" all work)
|
||||
- When creating issues, the team key is required; use `linear-teams.js` to find available teams
|
||||
Reference in New Issue
Block a user