@bdsqqq/linear
Ainteract with Linear via lnr CLI
Install
agr install @bdsqqq/linear --target claudeWrites 12 files into .claude/skills/, pinned to git-f262de5b.
- .claude/skills/linear/.gitignore
- .claude/skills/linear/.todo.md
- .claude/skills/linear/AGENTS.md
- .claude/skills/linear/JSDOC_STYLE.md
- .claude/skills/linear/LICENSE
- .claude/skills/linear/README.md
- .claude/skills/linear/SKILL.md
- .claude/skills/linear/SKILL.template.md
- .claude/skills/linear/bun.lock
- .claude/skills/linear/flake.nix
- .claude/skills/linear/package.json
- .claude/skills/linear/tsconfig.json
Document
name: linear description: interact with Linear via lnr CLI
lnr
CLI for Linear. query and mutate issues, projects, cycles, docs, labels, views, and more.
grammar
commands follow a consistent pattern:
lnr <entities>— list (plural). filter with--team,--state,--assignee, etc.lnr <entity> <id>— show one. add mutation flags to update:--state "Done",--assignee @melnr <entity> new— create. required flags vary by entity (usually--team,--title).--archiveor--delete— remove. flag name varies by entity.--json— structured output.--quiet— ids only. both work on all commands.
operation is inferred from context: no flags → read, mutation flags → update, new → create.
issues
lnr issues --team ENG --assignee @me --state "In Progress"
lnr issue ENG-123 # show
lnr issue ENG-123 --state "Done" # update
lnr issue ENG-123 --comment "fixed in abc" # comment
lnr issue ENG-123 --label +bug # add label (- to remove)
lnr issue ENG-123 --branch # git branch name
lnr issue ENG-123 --blocks ENG-456 # relation
lnr issue new --team ENG --title "title" # create
lnr issue batch ENG-1,ENG-2 --state "Done" # batch update
lnr search "query" --team ENG # full-text search
projects
lnr projects --team ENG --status started
lnr project "Name" --issues # list project issues
lnr project milestone new --project "Name" --name "v1" # create milestone
entities
crud: cycles (c) · views (v) · docs · issues (i) — subcommands: batch · projects (p) — subcommands: milestone · labels · notifications (n) · initiatives (init) · git-automations (ga) · git-branches (gb) read-only: templates · teams (t) · users (u) · roadmaps (rm) · agent-sessions (as)
me — current user info (--issues, --created, --activity). search (s) — full-text issue search. auth — authenticate (--whoami, --logout). config get|set|list — manage settings.
rules
--teamrequired for team-scoped entities (cycles, git-automations). inferred from config default when set.- issue IDs:
TEAM-####(e.g., ENG-123). state names are case-sensitive Linear strings ("In Progress", "Done"). @meresolves to the authenticated user for--assigneeand--lead.--label +nameadds,--label -nameremoves.--subscribe/--unsubscribefor notification control on issues, projects, initiatives.
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-f262de5b94c02026-07-31