issue-tracker-linearlisted
Install: claude install-skill eric-sabe/engsys
# Issue tracker: Linear
This skill is the Linear implementation of the **shared issue-tracker operation
contract**. Commands and agents call these operations *by name* without knowing the
backend; the GitHub pack (`issue-tracker-github`) implements the same names, so the two
are swappable. Keep the operation names below stable.
Linear is reached through the **Linear MCP** (tools prefixed `mcp__claude_ai_Linear__`).
There is no Linear CLI — every operation is an MCP tool call, so this pack adds no Bash
permissions. If the tools are not visible in the session, discover them via tool search;
the MCP connector must be enabled (see the pack's `claude.fragment.md`).
**Note — no separate create tool:** `save_issue`, `save_project`, and `save_milestone`
each do **both create and update** (omit the id to create, pass it to update).
## Project facts (naturalize)
The Linear **team** and **project** are project facts. Read the **team key** (e.g.
`ABC`) from `CLAUDE.md`. Resolve the team/project to their ids once via `list_teams` /
`list_projects` and reuse them.
### Identifier mapping
| Backend | Issue id form |
| ------- | -------------------- |
| GitHub | `#123` |
| Linear | `ABC-123` (team-prefixed) |
Callers may pass either the human identifier (`ABC-123`) or the issue's internal id;
`get_issue` / `save_issue` accept the identifier.
## Contract -> Linear mapping (board fields)
A contract "board" is a **Linear Project**. The board's three custom fields