SKILL.md

 1---
 2name: loop-through-slices
 3description: Guides the vertical-slice development loop for cooked-mcp. Use when explicitly told to loop through one or multiple slices.
 4user-invocable: true
 5---
 6
 7Each unit of work must deliver independently verifiable and observable
 8behaviour. In addition to what AGENTS.md says,
 9
10- Check `jj status`. If the working copy already contains completed or
11	unrelated work, run `jj new -m "area: imperative, kernel-style change
12	description"`.
13
14- For design or behaviour questions, consult the oracle before implementation
15	and adjust the spec or plan based on the answer. Include the slice goal,
16	already-completed behaviour, relevant specs/files, explicit in-scope and
17	out-of-scope ACIDs, and ask for spec adjustments, target ACIDs, tests to add,
18	and implementation pitfalls.
19
20- Write the failing test first. Avoid ad-hoc smoke tests as a substitute for
21	coverage; if manual testing finds a gap, add or improve automated tests so
22	the gap stays covered. Then implement the smallest correct change using
23	existing project patterns.
24
25- Verify with `mise`, using narrower tasks while iterating and `mise run check`
26	before calling the slice done. After checks pass, get a formal code review
27	for meaningful behaviour changes. Validate review findings before acting on
28	them; fix clear and obvious findings directly, and ask the user about
29  validated findings whose solution is not obvious.
30
31- When the slice is complete, review `jj status`, `jj diff --git`, and the
32	working-copy description. Push relevant acai specs/refs and update completed
33	ACID statuses without comments: `acai set-status @payload.json --product
34	lipu-kute --impl main --json`. The payload is a JSON object keyed by full
35	ACID, e.g. `{"notes.ENCRYPT.1": {"status": "completed"}}`. Only move on to
36	the next slice after the tests, check, review, and acai state for the current
37  slice are coherent.