Productivity & Collaboration

Linear CLI Skill

Manage Linear issues through a lightweight CLI so Claude can list, create, update, and delete issues on your behalf.

48/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 16
Last updated
12mo ago
linearissue-trackingcliproject-management
+2nodejsapi-integration

What does this skill do, and when should you use it?

This is a Claude skill bundling a lightweight JavaScript CLI for Linear's issue tracking system. Commands follow GitHub CLI conventions (resource → action), covering users, teams, projects, and full issue lifecycle: view, create, comment, update, and soft delete. Dependencies are minimal (only the Linear SDK and dotenv) and install automatically on first run. A LINEAR_API_KEY is required to connect to Linear.

Runs the ./linear executable, which calls the Linear API: issue list filters by team, assignee, status, and limit; issue view prints full issue details including comments; issue create supports team, description, assignee, priority, labels, project, parent issue, estimate, and due date; issue update changes multiple fields at once; issue delete performs a recoverable soft delete; issue comment adds comments. Output is tab-separated text by default, JSON with --, and every command supports --help.

Good fit
  • A developer using Claude Code who wants to create or modify Linear issues via natural language without switching windows
  • A team lead quickly listing all issues in a given status (e.g., In Progress) for a team
  • An individual assigning tasks to themselves (--assignee @me) or bulk-updating priorities
  • An engineering manager piping issue lists through cut/awk/grep for reports or board stats
  • Users writing long descriptions into new issues from a markdown file or stdin

How do you install this skill?

Before you use it
  • SKILL.md documents `--description` but the CLI actually uses `--body`/`--body-file`; trust the --help output over SKILL.md.
  • Write operations (delete/update) perform no confirmation; verify target issues manually before automation.
  • API key is stored in plaintext in linear/.env; secure file permissions and keep it out of version control.
  • Nothing was executed; validate in a controlled Linear workspace before production use.
  • Core function depends on the overseas Linear cloud service; mainland-China reachability is undeclared.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • Node.js
  • Linear SDK
  • dotenv
  • Linear API key

Install via the Claude Code plugin marketplace:
claude plugin marketplace add Valian/linear-cli-skill
claude plugin install linear

Or manually: clone the repo, cd linear/ and run npm install (dependencies also auto-install on first run). Create a Personal API Key at https://linear.app/settings/api, then provide it via export LINEAR_API_KEY="..." or a linear/.env file. Note: license is unknown.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/Valian/linear-cli-skill.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/linear" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Create an issue in the ENG team to fix the login bug, high priority
  • List all issues assigned to me that are In Progress.

Prompt Claude with e.g. "Create an issue in the ENG team to fix the login bug, high priority" or "List all issues assigned to me that are In Progress." Or run the CLI directly:
./linear team list # get team ID
./linear issue list --team <id> --limit 10
./linear issue view ENG-123
./linear issue create "Title" --team <id> --priority 2
./linear issue update ENG-123 --status "Done" --assignee @me

Caveats: issue keys are case-insensitive but status names are case-sensitive; user/team IDs are UUIDs, obtain them via list commands first.

What are this skill's strengths and limitations?

Pros
  • Minimal dependencies (Linear SDK and dotenv only); auto-installs on first run
  • GitHub CLI-style conventions keep the learning curve low
  • Covers the full issue lifecycle: view, create, comment, update, soft delete
  • Advanced features: labels, sub-issues, projects, estimates, due dates, @me shortcut, --body-file with stdin support
  • Unix-friendly default output plus -- for machine parsing
Limitations
  • No license declared in the repo, so commercial use requires caution
  • Labels must already exist in the team or the CLI errors (it lists available labels)
  • Status names are case-sensitive and easy to get wrong
  • --team is required for issue creation, forcing a UUID lookup first
  • README mentions no test suite and no verified Windows support

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Linear CLI Skill this page 48 · Use with care ★ 16 12mo ago —
Linear Claude Skill 55 · Use with care ★ 135 3mo ago MIT
Linear Workflow Manager ✓ OpenAI · Official 51 · Use with care ★ 28k 4mo ago —
Jobdanmark Search (Denmark Job Listings) 60 · Recommended ★ 47k 17d ago MIT
Jobnet-Search: Danish Official Job Portal Skill 59 · Recommended ★ 47k 17d ago MIT

The README explicitly states the CLI follows GitHub CLI (gh) resource → action conventions for consistency; versus hand-writing Linear API scripts, its value is bundled auth handling and structured output formats.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
48/ 100 5-point scale 2.4 / 5
1Trust13 / 25 · 2.6/5

Source shows minimal dependencies (@linear/sdk, dotenv), API key supplied via env var or local .env; no covert exfiltration or malicious behavior found; delete is soft delete and recoverable. Deductions: write operations (delete/update) have no user-confirmation mechanism, plaintext .env key storage lacks security warnings, no rollback guidance, publisher unverified.

2Reliability9 / 20 · 2.3/5

Clear inconsistencies: SKILL.md documents `--description` while the CLI actually uses `--body`/`--body-file`; SKILL.md claims multi-word args auto-combine without quotes, unsupported by the code. No tests or CI coverage. Error messages for missing key/labels/date are decent, but edge paths are not reproducible statically.

3Adaptability9 / 15 · 3.0/5

Trigger conditions (any Linear/issue request) and scenarios are clearly declared, with options and JSON output documented. Deductions: capability boundaries (permissions, batch ops) unstated; core function depends entirely on the overseas Linear cloud service with no mainland-China reachability note and no Chinese support.

4Convention7 / 15 · 2.3/5

Docs are well structured; README and layered help are thorough; version 0.1.0 present. Deductions: unknown license metadata (dependencies MIT/BSD but repo declares none), no changelog, SKILL.md drifts from actual CLI parameters, maintenance ownership and update path unclear.

5Effectiveness6 / 15 · 2.0/5

gh-style CLI covering CRUD plus comments, rich README examples, plausible marginal value over raw API calls. However, static review cannot verify outputs, and the SKILL.md/code parameter mismatch (--description vs --body) could cause first-use failure.

6Verifiability4 / 10 · 2.0/5

Primary material (source, lockfile with integrity hashes) is auditable, but there are no committed tests or CI execution evidence; behavior claims remain inferential and thin in coverage.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 10, 2026 Reviewed revision 9d9c972fff51 Review evidence[1][2][3][4][5]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

What credentials and permissions are needed?
A Linear Personal API Key (created under Settings > API at linear.app), provided via environment variable or a linear/.env file. Access is bounded by your Linear account's permissions.
How are dependencies installed?
Automatically on first run (only the Linear SDK and dotenv), or manually via npm install in linear/. A Node.js runtime is required.
Can deleted issues be recovered?
Yes. issue delete is a soft delete that moves the issue to trash, where it is recoverable.
What happens on failure?
The CLI gives helpful errors: missing API key prompts how to set it, invalid commands show available commands, and API errors print descriptive messages. Exit code 0 means success, 1 means error.

Related skills