ワンクリックで
create-ticket
Create detailed implementation ticket(s) from a feature description
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create detailed implementation ticket(s) from a feature description
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | create-ticket |
| description | Create detailed implementation ticket(s) from a feature description |
| argument-hint | <feature description> |
Create one or more implementation tickets from the user's feature description. Tickets must be detailed enough that /implement-ticket can implement without ambiguity. Workflow:
Thorough codebase research is critical — tickets referencing wrong patterns or missing existing infrastructure cause implementation friction.
docs/tickets/complete/ for domain context, prior decisions, and known gotchas — not as a format to copy (the Phase 4 template is the authority on ticket shape).docs/ reference files for areas involved.Before asking, sort each open question into one of three buckets. Only the first goes to the user.
Ask the user — design-level or architecture-level decisions the implementer can't unilaterally make.
Defer to the implementer — leave un-decided, don't ask the user. Implementer is another instance of you running /implement-ticket with full research access; trust them with local taste:
For defer-class questions, either omit or surface under "Open Decisions" (see template) — never pre-decide for the implementer, never bother the user.
Don't ask — research first. Anything answerable by reading code. If unsure, read before asking.
Keep questions focused, concrete, bucketed. Don't pad user's queue with implementer-class questions.
Determine how many tickets are needed. User may describe one or several related features. Consider:
Present proposed split to user; confirm before writing.
Write each ticket to docs/tickets/<ticket-name>.md. No date prefix (added on completion) or numeric index (e.g., 03-user-auth.md) — Prerequisites carries ordering, more flexible than linear sequence. Descriptive names only.
Ticket shape varies by task type. Match format to work, not the other way around:
## Implementation with numbered steps in execution order. No grouping subsections (Model / Service / UI) — if ticket needs them, split it or re-sequence steps.## Implementation with numbered steps across the whole stack.Sections ordered for top-down reading by LLM implementer: gate checks (Prerequisites), boundary + orientation (Scope, Relevant Docs, Constraints), decisions before steps (Open Decisions, Acceptance Criteria), then work (Implementation, Test Plan).
# Ticket Title
## Context
**Current behavior**: What exists today.
**New behavior**: What exists after implementation. Lead with user-visible / system-level change in one sentence, add nuance after. Serves as ticket summary — no separate Summary section.
## Prerequisites
- Tickets, features, or artifacts that must exist before implementation
- Omit entirely if none
## Scope
### In scope
Brief summary of goals + areas touched (e.g., "new data model + service layer, extends notification system, adds settings UI"). Blast-radius overview, not file manifest — Implementation lists files.
### Out of scope
Explicit non-goals: things a reader might assume are included but aren't, plus deferred follow-ups. Omit only if nothing to call out.
## Relevant Docs & Anchors
Pointers to read before coding:
- **Design docs**: e.g., `docs/architecture.md §Auth`, `docs/data-model.md §Users`.
- **Related tickets**: completed tickets with relevant background or gotchas (e.g., `docs/tickets/complete/2026-04-19 user-auth.md`) — for context, not a structure to copy.
- **Code anchors**: key symbols/methods to read first (`UserRepository.FindById`, `AuthService.Authenticate`, the request-dispatch loop in `Router.Handle`).
Omit if Implementation steps already name everything needed.
## Constraints & Gotchas
Optional. Cross-cutting hazards affecting multiple steps, easy to miss if buried inline:
- Project reference rules (e.g., the data layer cannot import the UI layer).
- Expected compiler/linter warnings (e.g., a non-exhaustive-match warning on an enum switch).
- Save-format / serialization compatibility constraints.
- Framework quirks documented in earlier ticket Learnings.
Omit if none apply.
## Open Decisions
Optional. Defer-to-implementer decisions worth surfacing — local-taste questions the implementer should call during coding (optionally raising with user) rather than pre-deciding here. Omit if none. Each point: one line, question + default if known.
Example entries:
1. **Easing curve** — linear vs. smoothstep for the fade-in animation. Default: linear; eyeball during manual testing.
2. **Inline helper vs. dedicated class** — inline simpler; dedicated right if reuse is imminent. Default: inline.
## Acceptance Criteria
Verifiable assertions defining "done" — user-visible behavior, public API outcomes, test-observable invariants, and (when the ticket *is* about adding code shape) enum values, registry entries, or file existence. Each unambiguously pass/fail by code inspection or unit test. **Distinct from Test Plan**: *what must be true*, not *how to verify*. Don't restate Test Plan steps.
**Avoid in AC**: private field names, internal state transitions, statement ordering inside a method. Those lock the implementer into one shape when other shapes satisfy the same behavior — they belong in Constraints or Implementation.
- [ ] Example (registry-shape ticket — code shape *is* the deliverable): "`RoleRegistry[Role.Editor]` populated with its permission set and display label matching `docs/roles.md §Editor`."
- [ ] Example (behavioral ticket): "With rate-limiting enabled, the 11th request within a minute returns HTTP 429; the counter resets after the window elapses."
## Implementation
Flat numbered list. **No grouping subsections** — if ticket needs Model / Service / UI sub-headers, split it or re-sequence into one linear flow.
### 1. Step Title
Why (intent) → where (anchor by symbol/pattern, never line number) → what (prose, not transcribed code).
### 2. Next Step Title
...
## Test Plan
Manual + integration verification of acceptance criteria: build/test commands, manual run-through steps, regression spot-checks. Action-oriented ("Open settings, change theme, reload — confirm theme persists"). **Distinct from Acceptance Criteria**: *how to verify*, not *what must be true*.
- [ ] Example: "The project builds and the test suite passes."
- [ ] Example: "Sign in as a new user; the dashboard shows zero notifications."
File.cs:388-395. Line numbers rot on first edit above the region. Anchor by method name, pattern, or grep-able landmark (e.g., "the request-dispatch loop in Router.Handle", "the new Connection(...) call site in Db").AuthService.Authenticate, OrderStatus enum, RetryPolicy class) — durable across moves/renames, grep-able. Add a path only when the symbol is ambiguous or the implementer would have to hunt. Inline paths in the step that needs them, not in a separate sidebar.After writing, quick self-check on things Writing Guidelines don't catch:
/implement-ticket have enough orientation (Relevant Docs & Anchors — design docs, related tickets, code anchors) to start without a guess-and-grep pass?Present completed tickets with brief summary of each.