---
name: create-ticket
description: Create a ticket for a task that needs to be worked on.
---

# Skill: create-ticket

## Purpose

Decompose high-level objectives into "Atomic Tickets" to maximize development velocity and minimize cognitive overhead.

## Execution Rules

1. **Directory Check:** Scan `.agent/work/tickets/`. Determine sequence number `NNN`.
2. **Naming:** `.agent/work/tickets/NNN-brief-description.md`.
3. **The Atomic/Velocity Test:** - Max 3 files modified.
   - Max 80 lines of logic.
   - Must be verifiable via a single command or test suite.
   - If it exceeds these, **split it.**
4. **Context Injection:** Include relevant code snippets or interface definitions directly in the ticket to prevent "context hunting."
5. **No Breaking Changes:** If a ticket changes a shared interface, it must include the refactor for consumers or be split into a "Transition" ticket.

## Ticket Template

### Context & Goal

[Why this matters + the specific problem it solves.]

### Dependencies

- [e.g., Ticket #NNN]

### Affected Files

- `path/to/file_A.ext`: [Specific change description]
- `path/to/file_B.ext`: [Specific change description]

### Technical Constraints & Strategy

- [e.g., Implementation: Use the existing X wrapper instead of a new fetch call.]
- [e.g., Constraint: Maintain backward compatibility with Y.]

### Definition of Done (Binary)

- [ ] Criterion 1 (e.g., `npm test` passes for `X.test.ts`)
- [ ] Criterion 2 (e.g., UI component renders without hydration errors)
- [ ] Criterion 3 (e.g., API response matches the schema in `types.ts`)

### New Test Files

- `path/to/test_A.ext`: [What is being tested]
