npx skills add ...
npx skills add ilamanov/skills --skill ticket
Creates a new Linear issue from a free-form description. Drafts a structured title and body, picks team/project/labels/priority from the connected workspace, shows the draft to the user for approval, then creates the ticket. Use when the user asks to "create a Linear ticket", "file an issue", "make a ticket", "open an issue in Linear", or any request to log a new bug/feature/task.
npx skills add ilamanov/skills --skill ticket
Create a Linear issue from a free-form description.
This skill is the upstream pair of the ship / ship-autonomous skills: the issues it creates are the inputs they pick up and implement end-to-end. Draft tickets so they read well as inputs to those skills — clear scope, explicit acceptance criteria, and the plan-approval marker (see Step 3) when the user wants ship-autonomous to gate on a plan review before implementing.
Read the description. If too thin to form a useful ticket (no problem statement, no scope), ask one short clarifying question. Otherwise proceed.
Probe the workspace via the Linear MCP:
Draft the ticket:
Title — short, imperative, no trailing period (e.g. "Fix double-tap heart on profile grid").
Description — markdown using this template (omit sections that don't apply):
Labels — pick from existing labels only. Don't invent.
Priority — infer from language ("urgent", "blocker" → High; "nice to have" → Low). Default Medium.
Assignee — leave unassigned unless the user named one.
Plan-approval marker — if the user says implementation should require plan approval before code is written, append a clear line to the description: **Plan first: please post a plan and wait for approval before implementing.** The ship-autonomous skill scans the ticket for wording like this to decide whether to gate on a plan review.
Show the draft in chat with title, body, team, project, labels, priority. Wait for explicit approval. Edit and re-show on requested changes.
Create the issue via the Linear MCP. Then post the user's original request verbatim as the first comment on the new ticket — this preserves what the user asked for in their own words, separate from the polished description. Don't paraphrase, summarize, or trim it; copy the request exactly as the user wrote it (in a fenced quote block if it contains markdown that would render oddly). Report back the issue ID and URL.
## Notes inside fenced code blocks.