Collect information about the ticket from whatever is available — in order of priority:
/create-linear-ticket fix the login redirect bug)If none of the above provide enough signal, ask the human to describe the issue or feature in plain text.
If the Linear MCP connector is not configured (i.e., LINEAR_API_KEY is not set in mcp.env), prompt the human to add it before proceeding.
Use the Linear MCP to list available teams. If the human has previously used a team in this conversation, default to that. Otherwise ask the human to pick a team from the list.
Fetch available labels for the team using the Linear MCP. Based on context, suggest the most appropriate label(s) and confirm with the human.
Construct a draft with the following fields — infer as much as possible from context:
_Filed by {your identity} on behalf of @<handle>._
## Context
<what is happening / what needs to be done>
## Expected behavior / Goal
<what should happen>
## Acceptance Criteria
- <criterion 1>
- <criterion 2>
## Notes
<any relevant links, code references, error messages>
"me" if the human wants to self-assign; leave unset otherwisePresent the full draft clearly. Remind the human that this will post codebase context (code snippets, error messages, etc.) to Linear — confirm they’re comfortable with that before proceeding. Do not create the ticket until explicitly approved.
Once approved, call mcp__linear__save_issue with at minimum title and the teamId resolved in Step 2 (use the UUID, not the display name). Pass all other drafted fields as additional parameters.
Report back:
YOU-123)https://linear.app/{org}/issue/{id})