Agent skill
linear
Manage Linear issues via GraphQL API. List, filter, update, prioritize, comment, and search issues. Use when the user asks about Linear, issues, project management, or backlog.
Install this agent skill to your Project
npx add-skill https://github.com/letta-ai/lettabot/tree/main/.skills/linear
SKILL.md
Linear
Interact with Linear's GraphQL API to manage issues.
When to Use
- User asks about Linear issues, tickets, or project management
- Need to triage, prioritize, or update issue status
- Want to search or comment on issues
- Managing a backlog or sprint
Setup
Requires LINEAR_API_KEY environment variable. Get one from Linear Settings > API > Personal API keys.
Quick Operations
List issues by status
npx tsx scripts/linear.ts list --state "Triage"
npx tsx scripts/linear.ts list --state "In Progress"
npx tsx scripts/linear.ts list --state "Backlog"
List issues assigned to someone
npx tsx scripts/linear.ts list --assignee "cameron"
Get issue details
npx tsx scripts/linear.ts get <issue-id>
Update issue priority (0=none, 1=urgent, 2=high, 3=medium, 4=low)
npx tsx scripts/linear.ts update <issue-id> --priority 2
Update issue state
npx tsx scripts/linear.ts update <issue-id> --state "In Progress"
Add comment
npx tsx scripts/linear.ts comment <issue-id> "Your comment here"
Search issues
npx tsx scripts/linear.ts search "search query"
Triage Workflow
- List triage issues:
list --state "Triage" - Review each issue, decide priority
- Update priority and move to appropriate state
- Add comments for context if needed
Output Format
All commands output JSON for easy parsing. Use jq for filtering if needed.
Battle-Tested Insights
GraphQL Query Patterns
- Linear uses GraphQL with nested filtering. State filters need the exact format:
state: { name: { eq: "State Name" } } - Assignee filters are case-insensitive with
containsIgnoreCase - When updating state, you need to fetch the state ID first - state names alone won't work in mutations
Common Pitfalls
- Issue IDs vs Identifiers: The API accepts both UUID-style IDs and human-readable identifiers (e.g., "ENG-123"), but some endpoints prefer one over the other
- Priority is numeric (0-4), not a string
- Rate limits are generous but exist - batch operations if doing bulk updates
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
openai-whisper
Local speech-to-text with the Whisper CLI (no API key).
himalaya
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
bear-notes
Create, search, and manage Bear notes via grizzly CLI.
summarize
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
nano-banana-pro
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
ordercli
Foodora-only CLI for checking past orders and active order status (Deliveroo WIP).
Didn't find tool you were looking for?