ticket-shapinglisted
Install: claude install-skill ltatarev/skills
# Ticket Shaping
Take a fuzzy product idea from the user's head to a written ticket that a fresh
agent — different session, smaller model, zero conversation history — can
implement without asking a single follow-up question. The user speaks UX. The
ticket speaks UX *and* carries a recommended implementation plan concrete
enough to argue with. You are the translator, and you are the one who proposes
the technical approach — the user's job is to challenge it, not to author it.
**Source of truth**: the configured tracker (output home — see below),
`AGENTS.md` / `CLAUDE.md`
(conventions and non-negotiables every ticket must respect), `CONTEXT.md`
(domain vocabulary — use the user's words, but map them onto these terms),
`docs/adr/` (decisions already made; a plan that contradicts an ADR needs a new
ADR). Read whichever of these the repo actually has before shaping anything.
## Where the ticket goes
Shaped tickets land in whatever tracker the repo uses, recorded in
`.claude/ticket-tracker.json`:
```json
{ "tracker": "linear", "team": "ABC", "inProgressStatus": "In Progress", "inReviewStatus": "In Review" }
{ "tracker": "notion", "database": "<database URL or id>", "statusProperty": "Status",
"inProgressStatus": "In Progress", "inReviewStatus": "In Review" }
{ "tracker": "repo", "path": "docs/tickets", "filePattern": "NNN-slug.md" }
```
Read that file before shaping. If it does not exist, this is the first run in
this repo — look for evidence (an existing `docs/tickets/` di