linear

Installation
SKILL.md

Linear

Linear is reached through linearcli for everyday issue work and through GraphQL with the bundled helper for everything else. There is no Linear MCP in either harness; never ask for a key and never paste one.

Keys come from the environment, or failing that from .env at the root of the current repository: LINEAR_API_KEY for the default workspace, and one LINEAR_API_KEY_<WORKSPACE> per additional workspace. The user's own instructions say which workspace and team prefixes each variable covers; read that mapping there, never infer it from an email, project or issue prefix.

If neither place has the variable, say which one and stop. Never print a key or copy it into a file or command argument.

scripts/graphql reads LINEAR_API_KEY from the environment or the root .env, never from arguments, and posts a complete GraphQL JSON request from standard input to https://api.linear.app/graphql. For another workspace, run it with the variable re-pointed for that one subprocess:

printf '%s' '{"query":"query { viewer { name } }"}' | scripts/graphql
LINEAR_API_KEY="$(python3 scripts/read-credential.py LINEAR_API_KEY_OTHER)" scripts/graphql < request.json

The CLI for everyday issue work

When linearcli (npm @howells/linearcli) is on the path, use it for listing, reading, searching, creating, updating and commenting on issues. It returns JSON in an {ok, data, error, command} envelope. It reads only the environment, so hand it the key through the helper, which also checks the root .env:

Installs
1
First Seen
9 days ago