- Category
- AI Agents
- Rank
- No. 2102Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Agent Building
- Interfaces
- Agent Skill / Plugin
- Builder
- @Leonxlnx
- GitHub
- 3.9k stars
- Date
About
An agent skill aimed at model laziness, underthinking, and premature completion on substantial tasks. Its core technique is the Depth Tree, which splits a task N layers deep and gives every leaf the full time budget of the whole task so effort scales with depth. The repository pairs this with a completion-discipline workflow — write an acceptance ledger first, run reviewed checks, reverify returned work, and report only what the evidence supports — backed by runnable gates.
What it does
A set of working instructions for coding agents, plus small Node command-line checkers, that stops an agent from calling a long job finished before it can prove it. First, the agent writes a checklist where each item pairs a shell command with the text its output must contain. A checker runs those commands only after a person approves each exact one, records a fingerprint of the passing result, and refuses to report the job done while any item fails. Larger jobs get broken into a tree of smaller pieces, each with its own checklist, and an optional Claude Code hook stops the session ending while items stay open.
Why it's ranked here
The case rests on what the code enforces rather than what the prompt asks. Success needs both a zero exit code and a matching output string, so an error message containing the right word never passes. Output over 1 MiB fails instead of being cut down into a match. Commands do not run until a human approves the exact command, working directory, shell and PATH. It is MIT licensed, needs only Node 16 with no third-party runtime packages, and ships a seven-file regression suite. It is also candid: its own method notes call the early claim that deeper splitting multiplies effort design history, not benchmark evidence.
What's good
Security handling is specific: approval records live outside the repository in an owner-private directory, and symlinked or hard-linked records are refused. Terminal output strips control and bidirectional text characters, so a hostile checklist title cannot rewrite the screen. The stop hook compares resolved checklist state rather than raw file bytes, so cosmetic edits do not count as progress, and it releases after six blocks without real progress so it cannot trap a session. The installer keeps unrelated hooks, writes atomically and leaves a backup. Parallel work requires every launched sub-agent to be recorded before any result is read, catching a driver that quietly runs leaves one at a time.
Tradeoffs
Approval is consent, not a sandbox: approved commands run with full filesystem, credential and network access. Approval does not hash the scripts a command calls, so an edited helper can run under an old approval until someone re-verifies. The result fingerprint detects drift, not tampering; anyone who can edit the checklist can forge a valid-looking record. The checker proves only the command you wrote, never that it measures what the item title says. The process is heavy, with several states, waves and leases to manage. The source is not a tagged release, so the README advises pinning a commit. On stock Windows, checks that assume grep or tail will fail.
How to use it well
Reach for it on long, multi-part agent jobs where a confident but incomplete "done" is expensive: migrations, audits, multi-package builds. Its own guidance says to skip it for trivial edits and factual answers. Write checks that perform every assertion and print a success marker only at the end, and test any absence check against a known positive case first. Inspect inherited checklists in the read-only status mode before approving anything. Re-run returned work with the re-verify mode, since status only reads old records. Install the stop hook only with consent and keep its local state files out of version control. It does not isolate files or processes.
Technical notes+
README.md, SKILL.md and references/gates.md define the format: gates start with a checkbox and an id, with indented CHECK, EXPECT, CWD and EVIDENCE lines, and a column-1 ABANDON line that ends in a HANDOFF REQUIRED exit 1 rather than success. scripts/gate-check.mjs exposes --status, --reverify, --approve, --jobs 1..64, --timeout 1..86400 (default 120s) and lease actions; exit codes are 0 met, 1 unmet, 2 parse or infrastructure, 3 lease conflict. Regex EXPECT runs in up to four worker threads with a 250ms match budget. scripts/lib/gates.mjs reads files with O_NOFOLLOW and dev plus inode checks before and after reading. scripts/stop-hook.mjs hashes resolved state with MAX_BLOCKS = 6. scripts/lib/dispatch.mjs validates wave timestamps so returns cannot precede the seal. references/method.md disowns the original effort-multiplication claim.
Observed
- License
- MIT
- Language
- JavaScript ES modules for Node, plus Markdown agent instructions
- Runtime
- Node 16 or newer, no third-party runtime packages
- Install surface
- skills CLI, or clone into the Claude Code or Codex CLI skills directory
- Interfaces
- Agent skill, command-line checker, optional Claude Code Stop hook
- Tests
- package test script runs seven Node regression test files
- Platform support
- Unix and Windows shells, with shell selectable by flag or environment variable
Read from README.md, package.json, LICENSE, SKILL.md, references/method.md, references/gates.md, references/dispatch.md, scripts/gate-check.mjs, scripts/install-hooks.mjs, scripts/stop-hook.mjs, scripts/lib/gates.mjs, scripts/lib/dispatch.mjs.
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.