What it does. Make incomplete work visible and make completion testable. Prove outcomes against a ledger instead of relying on a confident done report.
For solo work, create
GATES.md
from the local file
templates/gates-leaf.md
before implementing (orchestrated mode instead starts from
templates/PLAN.md
plus per-leaf
templates/gates-leaf.md
and per-branch
templates/gates-node.md
under
.unlazy//
; see Build the Depth Tree below). State one observable outcome per gate. Give every runnable gate an indented
CHECK:
and
EXPECT:
; use a manual gate only when no command can decide the outcome.
Highlights
- Use a decisive success-only token and require both zero exit and
EXPECT:
.
- Exercise a negative check against a known positive control before trusting absence.
- Measure figures independently; do not copy a supplied number into
EXPECT:
as its own proof.
- Review consequential manual gates with evidence proportional to risk. Try to make the riskiest outcome runnable, but do not claim that manual status and risk generally correlate.
- Prefer portable Node scripts. Do not assume
grep
, tail
, or tr
exists on stock Windows.
When to use it. Enforces completion discipline for substantial autonomous work by writing acceptance gates before execution, decomposing work with the Depth Tree, running approved checks, and re-verifying evidence…
Install
npx skills add Leonxlnx/unlazy
Or copy the skill folder manually:
git clone https://github.com/Leonxlnx/unlazy.git
cp -r unlazy/ ~/.claude/skills/unlazy
Source: Leonxlnx/unlazy — 2,981 stars, MIT, last pushed 2026-08-29.