linear-skill
Read and manage Linear issues, projects, and cycles. Use when the user asks to check Linear, view issues, find tasks, check sprint status, or manage work items. Helps inform daily standups and work planning.
What this skill does
# Linear Skill - Issue & Project Management
Read, search, and manage Linear issues. Access teams, cycles, and projects to inform daily work.
## First-Time Setup (~2 minutes)
### 1. Create a Personal API Key
1. Go to [Linear Settings](https://linear.app/settings/api)
2. Or: Settings > Account > Security & Access > Personal API keys
3. Click **Create key**
4. Name it (e.g., "Claude Assistant")
5. Select permissions: **Read** (minimum), or **Read + Write** for full access
6. Click **Create** and copy the key (starts with `lin_api_`)
### 2. Save API Key
Create the config file:
```bash
echo '{"api_key": "lin_api_YOUR_KEY_HERE"}' > ~/.claude/skills/linear-skill/config.json
```
## Commands
### My Issues (Assigned to Me)
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py my-issues [--limit N] [--status STATUS]
```
Shows issues assigned to you, perfect for daily standup prep.
### List Teams
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py teams
```
### Team Issues
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py issues TEAM [--limit N] [--status STATUS] [--priority PRIORITY]
```
**Arguments:**
- `TEAM` - Team key (e.g., `ENG`, `EPO`) or team name
- `--status` / `-s` - Filter by status: `backlog`, `todo`, `in_progress`, `done`, `canceled`
- `--priority` / `-p` - Filter by priority: `urgent`, `high`, `medium`, `low`, `none`
- `--limit` / `-l` - Number of issues (default: 20)
### Get Issue Details
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py issue ISSUE_ID
```
`ISSUE_ID` can be the issue identifier (e.g., `EPO-123`) or the UUID.
### Current Cycle (Sprint)
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py cycle TEAM
```
Shows the active cycle/sprint for a team with progress stats.
### List Cycles
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py cycles TEAM [--limit N]
```
### Search Issues
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py search "query" [--limit N]
```
### Create Issue
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py create TEAM --title "Title" [--description "Desc"] [--priority PRIORITY] [--project PROJECT]
```
**Arguments:**
- `TEAM` - Team key (e.g., `EPO`)
- `--title` / `-t` - Issue title (required)
- `--description` / `-d` - Issue description
- `--priority` / `-p` - Priority: `urgent`, `high`, `medium`, `low`, `none`
- `--project` - Project name to assign issue to
### Update Issue
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py update ISSUE_ID [--status STATUS] [--project PROJECT]
```
**Arguments:**
- `ISSUE_ID` - Issue identifier (e.g., `EPO-123`)
- `--status` / `-s` - New status
- `--project` - Move issue to a different project
### Reorder Issues
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py reorder ISSUE1 ISSUE2 ISSUE3...
```
Reorder issues within their lane by setting `sortOrder`. Issues are listed in priority order (first = top of list).
**Arguments:**
- `ISSUE1 ISSUE2...` - Issue identifiers in desired order
- `--base` - Starting sortOrder value (default: 0.0)
- `--increment` - Increment between issues (default: 1.0)
**Example:**
```bash
# Reorder In Progress lane: EPO-485 at top, then EPO-480, then EPO-397
python3 ~/.claude/skills/linear-skill/linear_skill.py reorder EPO-485 EPO-480 EPO-397
```
### List Projects
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py projects [TEAM]
```
## Workflow Examples
### Morning Standup Prep
```bash
# See what's assigned to you
python3 ~/.claude/skills/linear-skill/linear_skill.py my-issues --status in_progress
# Check current sprint status
python3 ~/.claude/skills/linear-skill/linear_skill.py cycle EPO
```
### Check Team Backlog
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py issues EPO --status todo --priority high
```
### Find Specific Work
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py search "authentication bug"
```
### Quick Issue Creation
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py create EPO --title "Fix login timeout" --priority high
```
### Board Grooming (Reorder Lanes)
```bash
# Reorder In Progress by priority
python3 ~/.claude/skills/linear-skill/linear_skill.py reorder EPO-485 EPO-480 EPO-397 EPO-457
# Reorder Todo backlog
python3 ~/.claude/skills/linear-skill/linear_skill.py reorder EPO-435 EPO-472 EPO-451
```
### Create Issue in Project
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py create EPO --title "New feature" --project "Zerg AI Platform"
```
### Move Issue to Project
```bash
python3 ~/.claude/skills/linear-skill/linear_skill.py update EPO-123 --project "Zerg AI Platform"
```
## Output
All commands output JSON for easy parsing. Issue output includes:
- `identifier` - e.g., `EPO-123`
- `title`
- `status` - Current workflow state
- `priority` - 0 (none) to 1 (urgent)
- `assignee` - Who it's assigned to
- `cycle` - Sprint/cycle info if applicable
- `labels` - Applied labels
- `estimate` - Story points if set
## Status Values
Linear workflow states map to these common statuses:
- `backlog` - Not yet planned
- `todo` - Planned but not started
- `in_progress` - Currently being worked on
- `in_review` - Under review
- `done` - Completed
- `canceled` - Won't do
## Priority Values
- `urgent` (1) - Drop everything
- `high` (2) - Important
- `medium` (3) - Normal
- `low` (4) - Nice to have
- `none` (0) - No priority set
## Requirements
No external dependencies - uses Python standard library only.
## Security Notes
- API keys don't expire but can be revoked from Linear settings
- Token stored locally in `~/.claude/skills/linear-skill/config.json`
- Revoke access: Settings > Account > Security & Access > Personal API keys
## Sources
- [Linear API Docs](https://linear.app/developers)
- [GraphQL Reference](https://linear.app/developers/graphql)
- [Filtering](https://linear.app/developers/filtering)
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.