Skill

linear

Offline-capable, agent-native CLI for the Linear API with SQLite-backed sync, FTS5 search, cross-cycle comparison, project burndown, and pp_created fixture lifecycle for safe live testing.

Verified: 2026-05-13 (printing-press-ingest-2026-05-13+enrich-capability-skill)

When to use linear

Choose if

You're running an agent that lives inside Linear (triage, sprint planning, velocity tracking, project burndown, duplicate detection) and need offline search via SQLite + FTS5, cross-cycle comparison, and a fixture-lifecycle pattern (pp_created) that keeps live-workspace testing from corrupting real issues. Alternative class is Linear's official GraphQL SDK or the Linear MCP; pick this for the SQLite mirror, typed exit codes, and the strict-mode mutation safety belt.

Avoid if

You need cross-tool issue tracking (Jira, GitHub Issues, Asana) — Linear- only by scope. Also avoid if your sandbox can't persist a local SQLite cache between runs, since analytics queries assume a synced local store (cold-start latency will be high without the cache).

Risk Flags

  • MEDIUM data_quality Local SQLite mirror serves analytics queries; if `linear-pp-cli sync` is stale, agent answers will trail reality. Live queries are required for real-time triage on freshly created issues.
  • MEDIUM rate_limit CLI auto-retries with exponential backoff and supports --rate-limit N to cap requests/second. Exit code 7 on rate limit; README advises waiting minutes before retry on Free-tier accounts.
  • LOW scope Mutations default to unsafe — the documented safety pattern is `--trust-mode strict` + session ledger + `--yes` for destructive actions. Agents without that pattern risk silent damage on real workspaces.

Cost

Type: Freemium · Free tier: The CLI binary is free to install. Linear has a free tier for small teams; the agent uses a LINEAR_API_KEY tied to a workspace member. Read-only operations are safe by default; mutations require --trust-mode strict + --yes.

Hidden costs

  • The CLI is a free wrapper; Linear's own plan tier governs the actual cost. Free plans have lower API rate budgets than paid plans.

Install

Default

go install github.com/mvanhorn/printing-press-library/library/project-management/linear/cmd/linear-pp-cli@latest
# Configure Linear API key + sync the local SQLite cache first:
export LINEAR_API_KEY=<lin_api_xxx>
linear-pp-cli sync
# For mutations, use the strict safety belt:
# linear-pp-cli issue update <id> --trust-mode strict --yes

Setup docs →

Estimated time to first success: ~10 min

Dependencies

Minimum runtime: Go 1.26.3+ for source install (Go-first; binary releases available)

Distribution

Repository
https://github.com/mvanhorn/printing-press-library
License
MIT