roundlooplisted
Install: claude install-skill SoliEstre/EstreGenesis
# /roundloop — repeat rounds until the remainder is not self-actionable
Repeats `/roundnext` until the queue can no longer be advanced by this agent alone. Contract: `Constellation.md §13.34`. The product of a run is **the list of things only a human can decide** — not the round count, and not a longer backlog.
Read §13.34 before changing anything here. In particular: registering work is not doing work (§13.34.1), and a round is complete when its board write is *measured*, not when it is sent (§13.34.3).
## 0. Preflight — declare the envelope, then read the board
State the caps **before the first round**, in the opening line of the run: max rounds, the dry-round threshold K (default 2), and any wall-clock or token budget. A cap discovered mid-run is not a cap (§13.34.2-3). If the operator gave a bound ("3 rounds", "until the P2s are gone"), that bound replaces the default and is echoed back.
Then load board truth once (`board_state_get`, or the board's `state.json`): `planned[]` with `blocked`/`blockReason`, `current[]`, open `decisions[]`, recent `done[]`.
**Register the loop as in-flight work** (§13.34.5) so the operator can see it exists and stop it: one `current[]` entry, id `c-roundloop`, whose detail line carries the round index and the dry count. Remove it when the loop stops. A loop nobody can see is a loop nobody can interrupt.
## 1. Loop body — per round
1. **Run one round** exactly as `/roundnext` specifies (all five steps, in order). Do not abbreviate the