--- 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]