
Principle Laziness Protocol
- 429 installs
- 2.5k repo stars
- Updated August 5, 2026
- cursor/plugins
When an agent might reimplement logic, duplicate files, or run redundant commands, apply laziness to reuse existing abstractions and defer work until necessary.
About
Defines a laziness protocol for coding agents: maximize reuse of existing code and tooling, postpone nonessential work, and resist redundant implementation so each change stays small, maintainable, and consistent with project conventions.
- Prefer reuse over reimplementation
- Defer work until truly required
- Avoid redundant automation
- Lean on existing utilities
- Shrink diff surface area
Principle Laziness Protocol by the numbers
- 429 all-time installs (skills.sh)
- Ranked #798 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cursor/plugins --skill principle-laziness-protocolAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 429 |
|---|---|
| repo stars | ★ 2.5k |
| Last updated | August 5, 2026 |
| Repository | cursor/plugins ↗ |
What it does
When an agent might reimplement logic, duplicate files, or run redundant commands, apply laziness to reuse existing abstractions and defer work until necessary.
Files
Laziness Protocol
Writing code is cheap for you, which makes over-engineering easy. Counter it by borrowing a human maintainer's fatigue. Aim for the most result with the least code and complexity.
- Prefer deletion. When asked to refactor or improve, look for removals before additions.
- Maintain a flat hierarchy. Avoid deep abstractions. If answering a question requires tracing through more than 3 files or layers, flatten it.
- Consolidate decisions. Do not repeat the same choice in several places. Put it behind one source of truth and pass the result as a simple flag.
- Minimize the diff. Make the smallest change that solves the problem. Fewer lines beat "elegant" boilerplate.
- Question the threading. If a task asks you to pass a new signal through types, schemas, pipelines, or similar layers, stop and look for a more direct path.
Prime directive: If a human developer would find the code exhausting to maintain, it is a bad solution. Be lazy. Stay simple.