# unlazy

> An AI-agent skill that enforces completion discipline through a written acceptance ledger and runnable verification gates.

unlazy is an open-source skill for AI coding agents, published by Leonxlnx under the MIT license. It has the agent write an acceptance ledger before substantial work, then checks that work with runnable gates and reports only what the evidence supports. The README says the current source targets version 2.1.0 and is not identified as a tagged GitHub release.

## What It Is

unlazy is a skill, installed through the skills CLI or by cloning it into an agent's skills directory (Claude Code and Codex CLI are documented). It targets premature completion and partial compliance on large tasks. Its core is the Depth Tree method, which splits a task N layers deep and gives every leaf the full time budget of the whole task. A Node-based checker, `gate-check.mjs`, runs the verification. It requires Node 16 or newer and has no third-party runtime packages.

## How the Gate Workflow Works

The user writes a `GATES.md` ledger in which each gate has a `CHECK:` shell command, an `EXPECT:` string, an optional `CWD:`, and an `EVIDENCE:` line. A gate passes only when the command exits 0 and `EXPECT:` matches the combined output. The documented modes are:

- `--status` inspects the ledger without executing anything.
- `--approve` records approval of the exact commands after the user has read them.
- `--reverify` re-runs every runnable gate, including ones already marked complete.
- An advisory linter, `gate-lint.mjs`, flags weak ledger patterns.

Automatic evidence is bound to a digest of the gate definition, so a gate whose definition has changed is treated as stale and unmet.

## Orchestration and Parallel Work

For larger jobs, a scoped pipeline under `.unlazy/<scope>/` holds a plan, ledgers, and leaf and node gate files. Leaves move through the declared states WAITING, READY, IN-FLIGHT, VERIFIED, and ABANDONED. Ready leaves can run in parallel once they claim disjoint `OWNS:` paths, and `--jobs` optionally runs independent checks in parallel. Native launch waves record host agent handles and support audited abandonment after a partial launch.

## Security and Optional Stop Hook

Approval is consent, not a sandbox: checks run with ambient filesystem, environment, credential, and network access. Approval records are stored outside the repository, by default under `~/.unlazy/approved`. An optional Claude Code Stop hook blocks session exit while gates remain unmet or launch waves are incomplete. It does not execute checks, and it is installed only with the user's consent.

## Features
- Acceptance ledger with CHECK/EXPECT runnable gates
- Non-executing --status inspection mode
- Explicit --approve step and --reverify re-run of all gates
- Definition-bound automatic evidence that detects drift
- Depth Tree task decomposition method
- Scoped orchestration pipelines with leaf and node ledgers
- Parallel leaf dispatch with ownership leases and native launch waves
- Opt-in --jobs rolling parallel checks
- Advisory gate linter with strict mode
- Optional Claude Code Stop hook
- Configurable shell via --shell or UNLAZY_SHELL

## Integrations
Claude Code, Codex CLI, skills CLI

## Platforms
WINDOWS, MACOS, LINUX, WEB, API, CLI

## Pricing
Open Source

## Version
2.1.0

## Links
- Website: https://github.com/Leonxlnx/unlazy
- Repository: https://github.com/Leonxlnx/unlazy
- EveryDev.ai: https://www.everydev.ai/tools/unlazy
