unlazy

Enforces task completion through acceptance gate files and runnable shell checks.

Updated Jun 29, 2026
One-click install
npx skills add https://github.com/thorsenk/skills --skill unlazy-thorsenk
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unlazy
Source: https://github.com/thorsenk/skills/tree/main/skills/unlazy
Command: npx skills add https://github.com/thorsenk/skills --skill unlazy-thorsenk

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Long or substantial agent tasks often end prematurely: reports claim done at 80 percent, scope quietly narrows, and final summaries contain numbers stated from memory rather than measurement. This Skill replaces prose promises with file-based acceptance gates and executable checks so completion is proven against a ledger, not asserted. ## Core Features & Use Cases - Acceptance gates as files: Write GATES.md before work begins, with one checkbox per outcome plus runnable CHECK and EXPECT lines, executed by the bundled gate-check.mjs script which flips boxes and records evidence. - Depth Tree decomposition: Split work into leaves of real units of effort, with solo mode for small tasks and orchestrated mode dispatching fresh subagents per leaf with contracts in PLAN.md and integration gates per branch. - Optional Stop hook for Claude Code: A hook structurally blocks ending a turn while gates remain unmet, with ABANDON lines as an honest escape and a progress-aware release after repeated stalls. - Use Case: On a large refactor, decompose the work into a tree, write gates per leaf, run gate-check.mjs to verify each outcome with evidence, and report only when the ledger shows every gate met. ## Quick Start Ask the agent to use the unlazy skill to write acceptance gates for this task and not report done until every gate is checked with evidence.

Frequently Asked Questions about unlazy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stop an AI agent from reporting done before finishing?▼

Write acceptance gates to a GATES.md file before work starts, one checkbox per outcome with CHECK and EXPECT lines. Run the bundled gate-check.mjs script to execute the checks and record evidence; a report is only allowed when every gate is met.

How does the Depth Tree decomposition work?▼

Split the task at natural joints into layers where leaves are real units of work of ten or more minutes. Tree 2-3 suits features or documents in solo mode, tree 4-5 suits subsystems, and tree 6-7 suits full projects in orchestrated mode with subagents per leaf.

Does the unlazy Stop hook work outside Claude Code?▼

The Stop hook is specific to Claude Code and installed optionally via install-hooks.mjs. Everything else, including gate files, gate-check.mjs, and the Depth Tree method, works in any harness that can read markdown files.

What happens if a gate becomes impossible to complete?▼

Add an ABANDON line with the gate id and reason to the gates file instead of deleting it. The tooling treats abandoned gates as an honest exit, and the final report must surface every abandonment.

When should I use solo mode versus orchestrated mode?▼

Use solo mode for tasks under roughly half an hour with tree depth 3 or less, using a single GATES.md. Use orchestrated mode for depth 4 or more, dispatching each leaf as a fresh subagent with its own gates file and re-verifying results yourself.