planlisted
Install: claude install-skill nhhthong/clio
A spec says what must be true. This skill turns it into a list of things small enough that each one
is either proven by a named test or not done. It writes **only** `.claude/docs/plans/<area>.md`;
ledgers and specs stay untouched. Nothing is implemented here.
Target (may be empty — then ask which area): $ARGUMENTS
## 1. Load the area
Run the `clio:context` skill for the target first: the governing `memory/<area>.md` and its rows
(hop 1), what `index.jsonl` says is built (hop 2), what `debt.jsonl` says is open (hop 3). Read the
spec file in full. Existing `.claude/docs/plans/<area>.md` → read it in full; this is a re-plan.
## 2. Split
- **One task = one observable behaviour, proven by one test.** Cannot name the test → split
further; still cannot → it is a ⚠️, not a task.
- **Smaller wins.** A task fits one session with room to run its test. "Add the orders endpoint" is
four tasks: route returns 200 · rejects unauthenticated · paginates at the limit the spec names ·
returns the fields the spec lists.
- **The test is exact**: a command (`go test ./orders -run TestListPaginates`), a request + the
response expected, or numbered manual steps ending in what must be observed. "Works", "verified",
"check it" are not tests.
- Every number, limit and default in a task is **copied verbatim from `## Decisions`** and appears in
its test. A value the spec does not state → no task; it is a ⚠️ (file it via `/clio:memo`, or note
the existing debt `id`).
- **Row 0 — foundati