SKILL.md


name: loop-through-slices description: Guides Blush feature work by having Oracle break features into reviewed jj-backed slices, with per-slice and aggregate feature reviews. Use when explicitly told to loop through one or more features. user-invocable: true

A feature is the larger capability the user asked for. A slice is one Oracle-scoped portion of that feature, implemented in one jj change and verified independently.

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

Feature loop

  • Before implementing a feature, ask Oracle to break that feature into the smallest useful slices. Include the feature goal, completed work, relevant files, constraints, explicit non-goals, and the current jj stack.

  • Treat Oracle's answer as the slice backlog for that feature. If a suggested slice still feels too broad, ask Oracle to split that slice again before coding.

  • Implement exactly one slice at a time. Each slice gets its own jj change, its own verification, and its own Oracle code review before the next slice starts.

  • After all slices for a feature are reviewed and complete, ask Oracle for an aggregate review across the feature's changes before calling it done or moving to the next feature.

  • Only after the aggregate feature review is resolved should you create a new jj change and ask Oracle to scope the next feature.

Slice loop

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

  • Before starting the slice, confirm the selected Oracle-scoped slice is still the next smallest useful unit. If anything changed, ask Oracle to rescope before coding.

  • 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, ask Oracle for a formal code review of that single slice. 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. Only move on to the next slice after the tests, check output, review, and jj history for the current slice are coherent.

Review cadence example

For a feature Oracle splits into four slices, the cadence is:

  1. Oracle scopes the feature into four slices.
  2. Implement slice 1 in one jj change, verify it, and get Oracle's slice review.
  3. Fix slice 1 if needed, then jj new.
  4. Repeat for slices 2, 3, and 4.
  5. Ask Oracle for an aggregate feature review covering all four slice changes.
  6. Fix the feature if needed, in a new jj change when the fix is distinct.
  7. Only then ask Oracle to scope the next feature.