skills/ticket/SKILL.md
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 skillsauth add ilamanov/skills ticketInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a Linear issue from a free-form description.
This skill is the upstream pair of the ship skill: the issues it creates are the inputs ship picks up and implements end-to-end. Draft tickets so they read well as inputs to ship — clear scope, explicit acceptance criteria, and the plan-approval marker (see Step 3) when the user wants ship 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):
## Context
<why this matters / where it shows up>
## Current behavior
<what happens today, if it's a bug>
## Desired behavior
<what should happen>
## Acceptance criteria
- [ ] ...
## Notes
<links, edge cases, code snippets in fenced blocks>
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 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.tools
Generally-applicable conventions for how code is written and arranged — tooling/package manager, import style, file & component naming, comments, and where files live (colocation vs. global folders). Use whenever creating, naming, moving, or importing a file, running project commands, or deciding where a new module belongs. Consult BEFORE writing the code so the conventions are baked in, not retrofitted. If a convention below matches the work, apply it — don't ask, just follow it (call out the choice in one line so the user can override).
development
Generally-applicable frontend/UI best practices. Use whenever building, modifying, or reviewing UI — adding a form/button/dialog/modal, wiring keyboard shortcuts, creating any interactive surface that submits a form, or any time TSX/JSX is being written or edited. Consult BEFORE writing the code so the patterns are baked in, not retrofitted. If a scenario described in the skill body matches the work, apply the pattern — don't ask, just follow it (call out the choice in one line so the user can override).
tools
Generally-applicable backend/data best practices. Use whenever writing or modifying backend/data code — API routes, server actions, DB writes, background jobs, agent tools, import flows, webhooks, paste handlers, or anywhere data enters the system. Consult BEFORE writing the code so the patterns are baked in, not retrofitted. If a scenario described in the skill body matches the work, apply the pattern — don't ask, just follow it (call out the choice in one line so the user can override).
development
Runs on a schedule to mine recent Codex and Claude Code conversations across configured projects, find moments where things went off plan (the user had to steer, correct, abort, or re-explain), and propose targeted improvements to the specific skills that were in use at the time. Opens one pull request per run against the skills repo, with each proposed edit annotated with the concrete steering moment that motivated it. Also analyzes its own runs (the `skills` repo is one of the configured projects) so it iteratively improves itself. Use this skill when the user asks to "analyze recent conversations", "find what went wrong", "improve skills based on past runs", or sets up a scheduled run of skill-improver. Make sure to use this skill whenever the user mentions recursive skill improvement, post-mortem analysis of agent conversations, or automating skill quality based on real usage.