title
Linear ticket execution
kind
sop
triggers
tools

Standard Operating Procedure: Linear ticket execution

Use when this session is playing a Linear issue (identifier in the prompt, a linked issue, or an agreed ticket). Authoring or reviewing a backlog without executing one issue is agent-user-stories and does not bulk-claim.

Align with CODING_PHILOSOPHY.md §8 (Interaction Mandate). Linear MCP (save_issue, get_issue, list_issue_statuses) lives on the default profile.

Claim (before changing product code)

  1. Resolve the identifier (WAY-123). Skip if the user only asked to inspect.
  2. Skip if the issue is already Done or Canceled.
  3. Set state to the team's started column (In Progress, or list_issue_statuses if the name differs).
  4. Assign the host agent, not a human by default:
    • Cursor → Linear user Cursor: assignee: "Cursor" and delegate: "Cursor".
    • If that app user is missing, assignee: "me".
  5. Do not reassign away from another human unless the user asked to take the ticket.

Do not auto-complete the issue when the diff is ready. Leave it In Progress until the user ships it.

Git (always)

  • Stay on main (the repo default branch). Do not create, checkout, or push a feature branch.
  • Leave the working tree uncommitted. Do not git commit, git push, or open a PR unless the user explicitly asks.
  • When the work is ready, output the commit message as a deliverable. The user commits on main.

Commit message output

Follow conventional-commits.md. Include the Linear identifier.

feat(scope): short description (WAY-123)

WAY-123
  • Subject stays conventional; the ticket token may be uppercase.
  • Repeat the identifier in the body (optional Refs: WAY-123).
  • Type follows behavior, not file extension.
  • Do not invent an identifier. If there is no ticket, omit it.

Skills

Every executing agent-* role follows this SOP. Grill-only or bulk story-rewrite sessions skip claim unless one issue is the work item.

Markdown source