Triage states β Linear labels and mechanics
Canonical triage state roles track the agent-related state an issue is in at any point in its life β not only at intake. In Linear they are carried by the workspace-level States label group, so they stay applicable after an issue has left the Triage inbox. Linear's native Triage feature complements them during intake.
These triage states are orthogonal to work-item typing (the workspace Type label group) and to the project and team routing in linear-work-items.md.
State roles β the workspace States label group
Apply exactly one States label at a time; move the issue between them as its state changes:
States label |
Meaning | Linear mechanics that go with it |
|---|---|---|
needs-triage |
Maintainer needs to evaluate | New and integration-created issues also sit in the team's Triage inbox. To re-triage an accepted issue, apply the label and move its status back to Triage. |
needs-info |
Waiting on the reporter | Post a comment naming what is missing, then Snooze (linear issue snooze <id>) β snooze returns the issue to the inbox on any new activity, or when the deadline passes. |
needs-grill |
Needs a grilling session before it can be specified | Run a /grill-with-docs session; on completion move to ready-for-agent or ready-for-human. |
ready-for-agent |
Fully specified, ready for an AFK agent | Accept out of Triage (intake) or set the team's ready status (for intl-mocks, Todo). The Project backlog is the durable ready queue. Assign to the coding agent from Linear to start work now, or leave unassigned for later pickup. Prefer Cursor where the team has standardized on it. |
ready-for-human |
Needs human implementation | Same as above, with a human assignee. |
wontfix |
Will not be actioned | Decline (intake) or set the team's canceled-type status, with an explanation comment. Status names vary per team β verify with linear team states <team-id>. On intl-mocks the canceled-type status is Closed. |
Other outcomes that need no States label:
| Outcome | Linear mechanism |
|---|---|
| duplicate | Mark duplicate of the canonical issue (linear issue duplicate <id> <canonical>). Linear moves the duplicate into the system-managed Duplicate status and links it. Attachments and customer requests migrate; comment threads are not merged β copy unique details to the canonical issue first. |
| blocked mid-flight | Move to the team's Blocked status; add a blocking relation (linear issue relate <blocker> <blocked> --type blocks) when another issue is the cause. |
Accept and Decline are conventions over the standard issue-update API. Do not assume one team's status names apply to another.
intl-mocks workflow statuses
The intl-mocks team (key MOC) statuses, verified live: Triage β Backlog / Todo β In Progress β Blocked / Ready Review / In Review β Done / Deployed, with Duplicate, Stale, and Closed as duplicate or canceled-type terminals. Decline outcomes land in Closed.
The fallback team gl04-technology (key GL04) statuses, verified live: Backlog / Todo β In Progress β Blocked / Ready Review / In Review β Done / Deployed, with Duplicate, Stale, and Closed as duplicate or canceled-type terminals. Confirm again with linear team states <team-id> before relying on a name.
Category roles β the workspace Type label group
| Type label | Meaning |
|---|---|
Bug |
Something is wrong and needs to be fixed |
Feature |
New capabilities added |
Improvement |
Improving existing capabilities |
Problem |
Multiple related bugs that belong together |
Request |
Something requested, usually broken down into smaller sub-issues (for example Improvement or Feature) |
Task |
Executable item with clear requirements |
Incident |
An occurrence that, if it repeats, should roll up under a parent Problem |
The canonical bug role maps to Bug; enhancement maps to Improvement (or Feature for larger new functionality). Use existing labels only β if a category you need has no label yet, ask a maintainer to add it to the group rather than creating one ad hoc.
The workspace handoff label marks handoff issues. See linear-work-items.md.