SKILL.md


name: loop-through-slices description: Guides the vertical-slice development loop for cooked-mcp. Use when explicitly told to loop through one or multiple slices. user-invocable: true

Each unit of work must deliver independently verifiable and observable behaviour. In addition to what AGENTS.md says,

  • Check jj status. If the working copy already contains completed or unrelated work, run jj new -m "area: imperative, kernel-style change description".

  • For design or behaviour questions, consult the oracle before implementation and adjust the spec or plan based on the answer. Include the slice goal, already-completed behaviour, relevant specs/files, explicit in-scope and out-of-scope ACIDs, and ask for spec adjustments, target ACIDs, tests to add, and implementation pitfalls.

  • Write the failing test first. Avoid ad-hoc smoke tests as a substitute for coverage; if manual testing finds a gap, add or improve automated tests so the gap stays covered. Then implement the smallest correct change using existing project patterns.

  • Verify with mise, using narrower tasks while iterating and mise run check before calling the slice done. After checks pass, get a formal code review for meaningful behaviour changes. Validate review findings before acting on them; fix clear and obvious findings directly, and ask the user about validated findings whose solution is not obvious.

  • When the slice is complete, review jj status, jj diff --git, and the working-copy description. Push relevant acai specs/refs and update completed ACID statuses without comments: acai set-status @payload.json --product lipu-kute --impl main --json. The payload is a JSON object keyed by full ACID, e.g. {"notes.ENCRYPT.1": {"status": "completed"}}. Only move on to the next slice after the tests, check, review, and acai state for the current slice are coherent.