speclisted
Install: claude install-skill jasonm4130/claude-skills
# Write a spec the launcher can land unattended
A spec is read once, at 2 a.m., by a headless `claude -p` that cannot ask
anyone anything. The first night paid for four defects a linter now catches
before they cost a night: a `cargo run --` with no `--bin` running the wrong
binary, a `cargo test` filter with no pinned count standing in for a real
assertion, an artifact the acceptance mentions without a `Writes:` header, and
a code span that asserts failure informally instead of naming the exit
behaviour in prose. Announce: "Using nightwatch:spec to write a spec the
launcher can land unattended."
## 1. Read before asking
Read the code the outcome touches — the module boundaries, the existing
tests, the binaries and scripts already in the repo — before asking the user
anything. Then ask only what the code cannot answer, one question at a time.
## 2. Settle the four headings
```markdown
# <Outcome title>
Repo: <repo name>.
Depends: <slug>[, <slug>...] # only if this spec needs another one landed first
Units: <n> # only if the default per-outcome cap is wrong for this one
Writes: <path>[, <path>...] # every file an acceptance command creates
## Outcome
What exists when this is done, and what does not exist yet on main. Name the
exact files, modules and binaries by their real names — a wrong name resolves
the wrong target at night.
## Acceptance
Every item is a command with its expected output, checkable without a human.
One item is always