← ClaudeAtlas

ticket-shapinglisted

Turn a UX/design-level description of a feature or change into an implementation-ready ticket in whichever tracker the repo uses (Linear, Notion, or in-repo docs/tickets) — UX spec plus a concrete, file-level recommended implementation plan the user challenges before it is written down. The user describes how something should behave and look, NOT the technical approach; this skill interviews them one question at a time, drafts the plan, hands it to `grill-plan`, then writes the ticket(s). Trigger when the user says "shape this", "write a ticket", "let's spec", "I want the app to…", "it should feel like…", "turn this idea into a task", or describes desired behavior/looks and asks to capture it for later implementation. NOT for stress-testing an already-written plan (that's `grill-plan` on its own) and NOT for actually building the feature.
ltatarev/skills · ★ 0 · Web & Frontend · score 65
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