linearis
Installation
SKILL.md
linearis
Drive Linear.app from the shell via the linearis CLI (JSON-only output; linear is an alias). Do not guess the command surface — the CLI documents itself, and this skill teaches the protocol, not the flags.
Preflight (reactive — branch on the CLI's own output; don't pre-run checks every turn)
- Not installed — if the shell reports command-not-found, tell the user linearis isn't installed and offer
npm install -g linearis. As a no-install fallback, prefix commands withnpx linearis@latest(adds cold-start latency and needs network per call — fallback, not default). Never silentlynpm install -g. - Auth required — any command may fail with this envelope on stderr and exit code 42:
{ "error": "AUTHENTICATION_REQUIRED", "action": "USER_ACTION_REQUIRED", "instruction": "Run 'linearis auth' …", "exit_code": 42 }. Detect it byexit_code === 42/error === "AUTHENTICATION_REQUIRED"(not paraphrased text) and surface the CLI's owninstruction.linearis authis an interactive browser flow you cannot complete — hand it to the user. - Updates (advisory, never blocking) — optionally run
linearis version checkonce →{ current, latest, channel, updateAvailable }. IfupdateAvailableis true, mention it and ask the user beforenpm install -g linearis@latest, honoringchannel(don't move anextuser tolatest). npm can hang or rate-limit; on any timeout/error just proceed with the installed version. Read the plain installed version withlinearis version(JSON), not--version.
Discover, then act
- Run
linearis usageonce for the list of domains (issues, projects, cycles, …). - Run
linearis <domain> usagefor a domain's full command and flag reference before acting. - Never invent flags or subcommands —
usageis authoritative and always current.