#303 by GitHub stars
Leonxlnx/unlazy
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 before reporting. Use when an agent faces a long or multi-part task, work that has returned half-done,
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
16671491f667 → 16671491f667
Heat
5.9- Star growth, last 7 daysAhead of 93% of tracked repositories
- Star growth, last 24 hoursAhead of 85% of tracked repositories
- Rank movement, last 7 daysAhead of 45% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- unlazy
/
How it works
unlazy
When your agent uses 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 before reporting. Use when an agent faces a long or multi-part task, work that has returned half-done, an exhaustive audit or build, parallel leaves or pipelines, or explicit triggers such as /unlazy, $unlazy, "tree N", "gates", and "do not stop until it is done".
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
2,179 tokensWhen the skill is activated
Reference documents
23,049 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Write gates before real work
- Pick the smallest fitting mode
- Build the Depth Tree
- Work each leaf in four passes
- Author gates that can fail honestly
- Audit the final report
- Install the optional Claude Code Stop hook carefully
- Spend attention where it compounds
Scripts executed separately
package.jsonscripts/dispatch-check.mjsscripts/gate-check.mjsscripts/gate-lint.mjsscripts/install-hooks.mjsscripts/lib/check-supervisor.mjsscripts/lib/dispatch.mjsscripts/lib/gates.mjsscripts/lib/process-tree.mjsscripts/lib/regex-worker.mjsscripts/stop-hook.mjstests/contract-tests.mjstests/dispatch-tests.mjstests/hardening-tests.mjstests/lint-tests.mjstests/run-tests.mjstests/self-check.mjstests/stress-tests.mjs
Files
.github/workflows/test.ymlasset1,491 bytes.gitignoreasset153 bytesCHANGELOG.mddoc16,636 bytesCONTRIBUTING.mddoc4,705 bytesLICENSEasset1,065 bytesREADME.mddoc17,238 bytesSECURITY.mddoc12,742 bytesSKILL.mdcore10,520 bytesagents/openai.yamlasset250 bytespackage.jsonruns471 bytesreferences/dispatch.mddoc5,901 bytesreferences/gates.mddoc15,368 bytesreferences/method.mddoc3,853 bytesreferences/orchestration.mddoc7,324 bytesreferences/parallel.mddoc6,596 bytesreferences/token-economy.mddoc3,288 bytesresearch/validation-protocol.mddoc4,442 bytesscripts/dispatch-check.mjsruns6,250 bytesscripts/gate-check.mjsruns39,966 bytesscripts/gate-lint.mjsruns9,540 bytesscripts/install-hooks.mjsruns8,639 bytesscripts/lib/check-supervisor.mjsruns1,462 bytesscripts/lib/dispatch.mjsruns13,299 bytesscripts/lib/gates.mjsruns39,395 bytesscripts/lib/process-tree.mjsruns5,994 bytesscripts/lib/regex-worker.mjsruns282 bytesscripts/stop-hook.mjsruns9,230 bytestemplates/PLAN.mddoc6,492 bytestemplates/gates-leaf.mddoc2,067 bytestemplates/gates-node.mddoc2,139 bytestests/contract-tests.mjsruns4,656 bytestests/dispatch-tests.mjsruns34,447 bytestests/hardening-tests.mjsruns69,156 bytestests/lint-tests.mjsruns14,435 bytestests/run-tests.mjsruns30,761 bytestests/self-check.mjsruns16,171 bytestests/stress-tests.mjsruns34,116 bytes
Read SKILL.md
# Unlazy
Make incomplete work visible and make completion testable. Prove outcomes against a ledger instead of relying on a confident done report.
## Write gates before real work
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/<scope>/`; 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.
Throughout this file, `<skill-dir>` is the directory containing this `SKILL.md` and `<scope>` is a pipeline id under `.unlazy/`.
Treat `CHECK:` as code. Before executing an inherited ledger, parse it without running anything and read every command and called script:
```text
node <skill-dir>/scripts/gate-check.mjs --status GATES.mdView the complete source on GitHubSkills included
- unlazy
Repository facts
- License
- MIT
- Created
- Aug 9, 2026
- Last pushed
- Sep 3, 2026
- Forks
- 339
- Open issues
- 1
- Project activity
- Slowing
Rank over the last 12 weeks
Now #303 · best #271 · down 22 in 30 days
- #296 on Oct 31
- #297 on Nov 1
- #299 on Nov 2
- #300 on Nov 3
- #302 on Nov 4
- #303 since Nov 5
74 earlier periods
- #890 on Aug 9
- #914 on Aug 10
- #919 on Aug 11
- #916 on Aug 12
- #924 on Aug 13
- #862 on Aug 15
- #873 on Aug 16
- #881 on Aug 17
- #897 on Aug 18
- #888 on Aug 19
- #833 on Aug 20
- #733 on Aug 21
- #526 on Aug 22
- #408 on Aug 23
- #369 on Aug 24
- #354 on Aug 25
- #339 on Aug 26
- #333 on Aug 27
- #326 on Aug 28
- #319 on Aug 29
- #310 on Aug 30
- #312 from Aug 31 to Sep 1
- #309 on Sep 2
- #311 on Sep 3
- #301 on Sep 4
- #296 on Sep 5
- #295 on Sep 6
- #302 on Sep 7
- #301 on Sep 8
- #300 on Sep 9
- #297 on Sep 10
- #295 on Sep 11
- #297 on Sep 12
- #288 on Sep 13
- #290 from Sep 14 to Sep 15
- #286 on Sep 16
- #283 on Sep 17
- #285 on Sep 18
- #280 on Sep 19
- #286 on Sep 20
- #285 on Sep 21
- #288 on Sep 22
- #287 on Sep 23
- #283 on Sep 24
- #276 on Sep 25
- #271 on Sep 26
- #276 on Sep 27
- #279 on Sep 28
- #280 on Sep 29
- #277 on Sep 30
- #278 on Oct 1
- #282 on Oct 2
- #275 on Oct 3
- #271 on Oct 4
- #278 on Oct 5
- #280 on Oct 6
- #281 from Oct 7 to Oct 8
- #285 on Oct 9
- #281 from Oct 10 to Oct 11
- #286 from Oct 12 to Oct 13
- #285 on Oct 14
- #284 on Oct 15
- #281 on Oct 16
- #283 from Oct 17 to Oct 18
- #284 on Oct 19
- #283 on Oct 20
- #288 on Oct 21
- #286 on Oct 22
- #284 on Oct 23
- #285 on Oct 24
- #287 on Oct 25
- #294 on Oct 28
- #296 on Oct 29
- #297 on Oct 30
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 2, 2026
- No broad tool permissions
- 1 dangerous shell commandin 1 file: tests/stress-tests.mjs:415
- 43 network referencesin 4 files: README.md:19 CHANGELOG.md:79 references/dispatch.md:50 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 18 executable scriptsin 18 files: package.json:1 scripts/dispatch-check.mjs:1 scripts/gate-check.mjs:1 and 15 more
- No access to secrets
- No requests to vote in Hot
Show all 62 signals by file
CHANGELOG.md
- Network accessline 79
- [#2](https://github.com/Leonxlnx/unlazy/pull/2): re-verification, parser diagnostics, CRLF preservation, evidence insertion, fenced-example handling, and validation ideas - Network accessline 80
- [#3](https://github.com/Leonxlnx/unlazy/pull/3): the explicit-file positional fix - Network accessline 81
- [#5](https://github.com/Leonxlnx/unlazy/pull/5): rolling dispatch and bounded `--jobs` - Network accessline 82
- [#8](https://github.com/Leonxlnx/unlazy/pull/8): stable hook identification and moved-install repair - Network accessline 83
- [#9](https://github.com/Leonxlnx/unlazy/pull/9): explicit approval for executable checks - Network accessline 84
- [#10](https://github.com/Leonxlnx/unlazy/pull/10): scoped pipelines, shared parsing, ownership leases, session routing, and the first regression suite - Network accessline 85
- [#14](https://github.com/Leonxlnx/unlazy/pull/14): the COLM 2026 test-time-scaling source - Network accessline 86
- [#15](https://github.com/Leonxlnx/unlazy/pull/15): negative controls, supplied-number measurement, and manual-gate review guidance; the single-run risk observation is intentionally not generalized - Network accessline 87
- [#17](https://github.com/Leonxlnx/unlazy/pull/17): the read-only gate-quality linter, JSON output, strict mode, documentation, and regression harness by Daz Alderson - Network accessline 88
- [#18](https://github.com/Leonxlnx/unlazy/pull/18): atomic native dispatch waves, launch adapters, durable state, Stop integration, documentation, and tests by hangloose50 - Network accessline 89
- [#20](https://github.com/Leonxlnx/unlazy/pull/20): the Windows process-tree timeout diagnosis and `taskkill /t` direction by Praveen Bishnoi - Network accessline 90
- [#24](https://github.com/Leonxlnx/unlazy/pull/24): fail-closed diagnosis of an indented `ABANDON:` by Daz Alderson - Network accessline 91
- [#25](https://github.com/Leonxlnx/unlazy/pull/25): semantic Stop-hook progress hashing by Daz Alderson - Network accessline 92
- [#26](https://github.com/Leonxlnx/unlazy/pull/26): shared-parser warning for ambiguous path-shaped EXPECT regexes by Daz Alderson - Network accessline 93
- [#29](https://github.com/Leonxlnx/unlazy/pull/29): leaf-versus-branch gate placement, visible PLAN dispatch metadata, and host-neutral skill wording by mafiaboyhacker - Network accessline 94
- [#21](https://github.com/Leonxlnx/unlazy/issues/21) and [#23](https://github.com/Leonxlnx/unlazy/issues/23): abandonment-promotion and contract-omission reports and reproducers by theislampill - Network accessline 95
- [#30](https://github.com/Leonxlnx/unlazy/issues/30): affected-Windows descriptor/path `st_dev` mismatch report and reproduction - Network accessline 96
- [#31](https://github.com/Leonxlnx/unlazy/issues/31): automatic-evidence definition drift report and false-green reproduction
README.md
- Network accessline 19
Use the [skills CLI](https://github.com/vercel-labs/skills) for supported agents: - Network accessline 212
- Detailed multi-part prompts still see partial compliance and premature truncation in tested models ([Quantifying Laziness](https://arxiv.org/abs/2512.20662)). - Network accessline 213
- Reasoning can stop exploration too early or continue beyond useful compute, depending on task and model ([Thoughts Are All Over the Place](https://arxiv.org/abs/2501.18585), [When More Thinking Hurts](https://arxiv.org/abs/2604.10739), [O - Network accessline 214
- SlopCodeBench reports that no tested agent fully solved a problem end to end and that the best agent passed `14.8%` of checkpoints. Checkpoint success is not task completion ([SlopCodeBench](https://arxiv.org/abs/2603.24755)). - Network accessline 215
- s1's budget forcing lengthens reasoning by appending `Wait` multiple times when the model tries to stop; it is not a claim that one token always improves work ([s1](https://arxiv.org/abs/2501.19393)). - Network accessline 216
- METR's Time Horizon 1.1 reports a `196.5` day overall P50 doubling-time fit and `130.8` days for the post-2023 fit. The shorter figure must not be described as the all-years estimate ([METR Time Horizon 1.1](https://metr.org/blog/2026-1-2 - Network accessline 217
- Closed-book knowledge-intensive tasks can hallucinate more with additional test-time compute, and compute-only post-processing cannot add ground-truth information that was not present ([Test-Time Scaling in Reasoning Models Is Not Effecti - Network accessline 225
- 2026-08-06: [Test-Time Scaling in Reasoning Models Is Not Effective for Knowledge-Intensive Tasks Yet](https://arxiv.org/abs/2509.06861), v3, COLM 2026 - Network accessline 226
- 2026-07-10: [Measuring AI Ability to Complete Long Software Tasks](https://arxiv.org/abs/2503.14499), v4, NeurIPS 2025 - Network accessline 227
- 2026-05-07: [SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Tasks](https://arxiv.org/abs/2603.24755), v2 - Network accessline 228
- 2026-04-13: ["Should I Give Up Now?" Investigating LLM Pitfalls in Software Engineering](https://arxiv.org/abs/2411.09916), v3 - Network accessline 229
- 2026-04-12: [When More Thinking Hurts: Overthinking in LLM Test-Time Compute Scaling](https://arxiv.org/abs/2604.10739) - Network accessline 230
- 2026-01-29: [METR Time Horizon 1.1](https://metr.org/blog/2026-1-29-time-horizon-1-1/) - Network accessline 231
- 2025-12-19: [Quantifying Laziness, Decoding Suboptimality, and Context Degradation in Large Language Models](https://arxiv.org/abs/2512.20662) - Network accessline 232
- 2025-10-04: [OptimalThinkingBench: Evaluating Over and Underthinking in LLMs](https://arxiv.org/abs/2508.13141), v2 - Network accessline 233
- 2025-10-03: [Context Anxiety: How AI Agents Panic About Their Perceived Context Windows](https://inkeep.com/blog/context-anxiety) - Network accessline 234
- 2025-03-01: [s1: Simple test-time scaling](https://arxiv.org/abs/2501.19393), v3 - Network accessline 235
- 2025-02-18: [Thoughts Are All Over the Place: On the Underthinking of o1-Like LLMs](https://arxiv.org/abs/2501.18585), v2 - Network accessline 236
- Undated page: [Unified diffs make GPT-4 Turbo 3X less lazy](https://aider.chat/docs/unified-diffs.html)
package.json
- Executable scriptline 1
Executable file
references/dispatch.md
- Network accessline 50
[Current Codex releases support parallel subagents](https://developers.openai.com/codex/agent-configuration/subagents). Use the native subagent tools available in the host. When the tools are named `spawn_agent` and `wait_agent`, follow thi - Network accessline 62
[Claude Code background subagents run concurrently](https://code.claude.com/docs/en/sub-agents#run-subagents-in-foreground-or-background). Launch every leaf as a background `Agent` task, record every returned task or agent id, and seal befo - Network accessline 64
For a large regular fan-out, prefer a [Dynamic Workflow](https://code.claude.com/docs/en/workflows). Its `pipeline()` primitive runs agent work across a list under the runtime's concurrency limit. The workflow must still preserve the same s
references/gates.md
- Network accessline 31
The fenced example above is documentation. Lines inside fenced code blocks are ignored by the parser. Fence boundaries follow [CommonMark's fenced-code rules](https://spec.commonmark.org/0.30/#fenced-code-blocks): the closing marker uses th - Network accessline 92
- [Node.js child process documentation](https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback) - Network accessline 93
- [Microsoft `path` documentation](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/path)
scripts/dispatch-check.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/gate-check.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/gate-lint.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/install-hooks.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/lib/check-supervisor.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/lib/dispatch.mjs
- Executable scriptline 1
Executable file
scripts/lib/gates.mjs
- Executable scriptline 1
Executable file
scripts/lib/process-tree.mjs
- Executable scriptline 1
Executable file
scripts/lib/regex-worker.mjs
- Executable scriptline 1
Executable file
scripts/stop-hook.mjs
- Executable scriptline 1
#!/usr/bin/env node
tests/contract-tests.mjs
- Executable scriptline 1
#!/usr/bin/env node
tests/dispatch-tests.mjs
- Executable scriptline 1
#!/usr/bin/env node
tests/hardening-tests.mjs
- Executable scriptline 1
#!/usr/bin/env node
tests/lint-tests.mjs
- Executable scriptline 1
#!/usr/bin/env node
tests/run-tests.mjs
- Executable scriptline 1
#!/usr/bin/env node
tests/self-check.mjs
- Executable scriptline 1
#!/usr/bin/env node
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 62 facts
- Network access in prose of documentationCHANGELOG.md:79Low confidence
- Network access in prose of documentationCHANGELOG.md:80Low confidence
- Network access in prose of documentationCHANGELOG.md:81Low confidence
- Network access in prose of documentationCHANGELOG.md:82Low confidence
- Network access in prose of documentationCHANGELOG.md:83Low confidence
- Network access in prose of documentationCHANGELOG.md:84Low confidence
- Network access in prose of documentationCHANGELOG.md:85Low confidence
- Network access in prose of documentationCHANGELOG.md:86Low confidence
- Network access in prose of documentationCHANGELOG.md:87Low confidence
- Network access in prose of documentationCHANGELOG.md:88Low confidence
- Network access in prose of documentationCHANGELOG.md:89Low confidence
- Network access in prose of documentationCHANGELOG.md:90Low confidence
- Network access in prose of documentationCHANGELOG.md:91Low confidence
- Network access in prose of documentationCHANGELOG.md:92Low confidence
- Network access in prose of documentationCHANGELOG.md:93Low confidence
- Network access in prose of documentationCHANGELOG.md:94Low confidence
- Network access in prose of documentationCHANGELOG.md:95Low confidence
- Network access in prose of documentationCHANGELOG.md:96Low confidence
- Network access in prose of documentationREADME.md:19Low confidence
- Network access in prose of documentationREADME.md:212Low confidence
- Network access in prose of documentationREADME.md:213Low confidence
- Network access in prose of documentationREADME.md:214Low confidence
- Network access in prose of documentationREADME.md:215Low confidence
- Network access in prose of documentationREADME.md:216Low confidence
- Network access in prose of documentationREADME.md:217Low confidence
- Network access in prose of documentationREADME.md:225Low confidence
- Network access in prose of documentationREADME.md:226Low confidence
- Network access in prose of documentationREADME.md:227Low confidence
- Network access in prose of documentationREADME.md:228Low confidence
- Network access in prose of documentationREADME.md:229Low confidence
- Network access in prose of documentationREADME.md:230Low confidence
- Network access in prose of documentationREADME.md:231Low confidence
- Network access in prose of documentationREADME.md:232Low confidence
- Network access in prose of documentationREADME.md:233Low confidence
- Network access in prose of documentationREADME.md:234Low confidence
- Network access in prose of documentationREADME.md:235Low confidence
- Network access in prose of documentationREADME.md:236Low confidence
- Executable script in code of a file that runspackage.json:1High confidence
- Network access in prose of documentationreferences/dispatch.md:50Low confidence
- Network access in prose of documentationreferences/dispatch.md:62Low confidence
- Network access in prose of documentationreferences/dispatch.md:64Low confidence
- Network access in prose of documentationreferences/gates.md:31Low confidence
- Network access in prose of documentationreferences/gates.md:92Low confidence
- Network access in prose of documentationreferences/gates.md:93Low confidence
- Executable script in code of a file that runsscripts/dispatch-check.mjs:1High confidence
- Executable script in code of a file that runsscripts/gate-check.mjs:1High confidence
- Executable script in code of a file that runsscripts/gate-lint.mjs:1High confidence
- Executable script in code of a file that runsscripts/install-hooks.mjs:1High confidence
- Executable script in code of a file that runsscripts/lib/check-supervisor.mjs:1High confidence
- Executable script in a comment of a file that runsscripts/lib/dispatch.mjs:1Low confidence
and 12 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/leonxlnx-unlazy/)