AGENT SKILL

to-tickets

Split a spec into tracer-bullet sub-issues with blocking links.

License 许可
Apache-2.0
最近更新
2026-10-19
Stars
★ 0
Forks
1

01 前言 Front Matter

name
to-tickets
description
Split a spec into tracer-bullet sub-issues with blocking links.
allowed-tools
Read, Grep, Glob, Bash(gh issue *), Bash(gh label *), Bash(${CLAUDE_SKILL_DIR}/sub-issue-frontier.sh*)
argument-hint
[spec issue]
disable-model-invocation
true

02 资源文件 1

03 SKILL.md 正文

To Tickets

Break the work into tickets: thin tracer-bullet slices, each cutting end to end through every layer it needs, each declaring the tickets that block it.

1. Gather context

Work from the conversation. If the user passed a spec issue, read its body and comments (gh issue view <n> --comments). Explore the codebase if you haven't, and use the project's GLOSSARY.md terms in every title. Look for prefactoring that makes the work easier: make the change easy, then make the easy change. Done when you know which modules the work touches.

2. Draft the slices

Each ticket:

  • cuts a narrow but complete path through every layer (schema, API, UI, tests), never one horizontal layer;
  • is demoable or verifiable on its own;
  • fits in one fresh agent session;
  • lists the tickets that must finish before it can start. Prefactoring comes first.

Wide refactors are the exception. A mechanical change whose blast radius fans across the codebase (renaming a column, retyping a shared symbol) can't land green as one slice. Sequence it as expand-contract: first add the new form beside the old; then migrate callers in batches sized by blast radius (per package or directory), each batch its own ticket blocked by the expand; then delete the old form in a ticket blocked by every batch. When even a batch can't stay green alone, let the batches share an integration branch that blocks a final integrate-and-verify ticket.

Done when every slice has a title, its blockers, and the end-to-end behaviour it delivers, and each fits one session.

3. Check the breakdown with the user

Show a numbered list: each ticket's title, what blocks it, and the end-to-end behaviour it delivers. Ask whether the granularity is right, whether each blocking edge is real, and what to merge or split. Ask as the grilling skill does (AskUserQuestion on Claude Code). Done when the user approves the breakdown.

4. File them

File in dependency order, blockers first, so each ticket can reference real issue numbers. With a spec issue, make each ticket its sub-issue and use GitHub's native blocking links:

gh issue create --title "<title>" --parent <spec> --blocked-by <n>,<n> \
  --body-file - <<'EOF'
<ticket body>
EOF

Without a spec issue, drop --parent. --parent and --blocked-by need gh 2.94 or later; with an older gh, put Part of #<spec> and Blocked by: #<n>, #<n> at the top of each body instead. Apply the repo's existing labels (gh label list); leave the spec issue itself unchanged.

## What to build

The end-to-end behaviour this ticket makes work, from the user's point of
view, not a layer-by-layer list.

## Acceptance criteria

- [ ] Criterion 1
- [ ] Criterion 2

Leave out file paths and code, as in the spec, except a decision-bearing snippet from a prototype.

Done when every approved ticket is filed with its parent and blocking links, and you've reported the frontier: the tickets with no open blockers, ready to start now (${CLAUDE_SKILL_DIR}/sub-issue-frontier.sh <spec>).

Next step: suggest the user run the implement skill for one ticket at a time, or the implement-spec skill to build the whole graph in parallel.

04 同仓库更多 Skills

dougborg
dougborg/harness-kit

teach

Teach yourself a topic over several sessions, with lessons, references, and a record of what you've learned.

教师与教育
★ 0
dougborg
dougborg/harness-kit

svg-logo-designer

Generate SVG logos with multiple concepts, layouts, and color variations.

图像与多媒体
★ 0
dougborg
dougborg/harness-kit

documentation-writer

Writes and revises human-facing documentation — READMEs, contributor and setup guides, reference pages, architecture notes, CLAUDE.md, and changelog entries. Covers picking the right document type for the question being asked, structuring for skimming, writing examples that actually run, and keeping docs from going stale. Use when creating or rewriting docs, when a README has drifted from the code, or when deciding where a piece of information belongs. For SKILL.md and agent files, use /skill-writer instead.

内容创作者写作与文案
★ 0
dougborg
dougborg/harness-kit

adhd-mode

Shapes every response for a reader with ADHD: the next action first, numbered steps, progress restated each turn, tangents held back, concrete time estimates, wins made visible. Stays on for the rest of the session until the reader says "stop adhd mode". On Claude Code, the harness-kit:adhd output style does the same without invoking this skill.

★ 0
dougborg
dougborg/harness-kit

wait-what

That last message didn't land: re-explain it with the missing context.

★ 0
dougborg
dougborg/harness-kit

to-questionnaire

Turn a decision you can't make alone into a questionnaire for the one person who can answer it, filled in async or together in a meeting.

★ 0