← ClaudeAtlas

speclisted

Use when the user has an outcome for Nightwatch to run unattended overnight and says "write a nightwatch spec for X", "/nightwatch:spec", or "spec this out for the launcher". Reads the code the outcome touches, settles Outcome / Acceptance / Non-goals / Context with the user one question at a time, declares Depends, Units and Writes headers when they apply, writes the spec file, and refuses to finish until lint-spec.mjs prints SPEC OK. Do NOT use to execute a spec (run.sh does that at night) or for a one-sitting edit that does not need an unattended run. Do NOT use for the old Task-N plan format — that is nightshift:plan.
jasonm4130/claude-skills · ★ 5 · Testing & QA · score 72
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