---
name: Ticket Format
slug: ticket-format
category: Writing
description: Ticket Format defines the canonical three-section structure for creating, drafting, or grooming Linear or Superset tickets. Use it to keep outcome, references, and implementation notes consistent.
github: "https://github.com/superset-sh/superset/tree/main/.agents/skills/ticket-format"
language: TypeScript
stars: 12897
forks: 1190
install: "npx degit https://github.com/superset-sh/superset/tree/main/.agents/skills/ticket-format ~/.claude/skills/ticket-format"
installs_to: ~/.claude/skills/ticket-format
source_path: .agents/skills/ticket-format/SKILL.md
collection_size: 14
category_size: 1012
collection_url: "https://dirskills.com/collections/superset-sh/superset"
added: 2026-08-14T07:13:25.108Z
last_synced: 2026-08-14T07:13:25.108Z
canonical_url: "https://dirskills.com/skills/ticket-format"
---

# Ticket Format

Ticket Format defines the canonical three-section structure for creating, drafting, or grooming Linear or Superset tickets. Use it to keep outcome, references, and implementation notes consistent.

**Install:**

```bash
npx degit https://github.com/superset-sh/superset/tree/main/.agents/skills/ticket-format ~/.claude/skills/ticket-format
```

## README

# Ticket Format

## Context
2–4 sentences. What's broken or wanted, and why. Outcome-focused, not solution-focused.

## References
Where the ticket came from. Omit section if none.

| Source | Who | Link | Date |
|--------|-----|------|------|
| Slack #feedback | @alice | [thread](…) | 2026-05-10 |

## Implementation notes
Agent-groomed. Leave empty if you don't have codebase context — a later grooming pass will fill it in. When you do fill it in, use these sub-headings and skip what doesn't apply:

- `### Files` — `path:line` + why relevant
- `### Approach` — one paragraph
- `### Related code` — similar patterns in the repo
- `### Gotchas` — constraints, prior incidents
