Guide · Issue readiness

Acceptance criteria that make a Linear issue testable

Replace vague outcomes with checks a reviewer can verify, including empty and failure states.

“Improve export” names an activity. “An admin receives a CSV containing only projects they can access” describes behavior a reviewer can check. Acceptance criteria should let two people agree whether the work is complete.

Start with the actor, starting state, action and result. Then add the nearest likely failure:

Choose boundaries because they matter to this change. Do not add arbitrary latency targets, invented dependencies or implementation details to make a checklist look complete. If the owner has not chosen a size limit, record that decision as open rather than making one up.

The backend template includes a complete synthetic example. The UI template shows why an empty dataset and a failed request need different criteria.

SpecBot can point out missing outcomes and ambiguous instructions. It does not run the acceptance tests. After updating an issue, use a recheck if available, and have the implementer verify the actual behavior.

Install SpecBot in Linear to check your next issue's acceptance criteria.