{"id":21505,"plugin_id":"plugins_6aaeb2c568208191bd71d62167ba2ba3","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:16:58.289Z","digest":"90032d9f0cb314bc89c0daad7cee82220ae24b37cd04c63201b262c02c1514a0","against":null,"payload":{"description":"Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading. Enforces Occam's Razor: bias toward deletion and the simplest change that solves the problem.","included_files":[],"name":"principle-laziness-protocol","skill_md_contents":"---\r\nname: principle-laziness-protocol\r\ndescription: \"Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading. Enforces Occam's Razor: bias toward deletion and the simplest change that solves the problem.\"\r\nuser-invocable: false\r\ndisable-model-invocation: true\r\n---\r\n\r\n# Laziness Protocol (Occam's Razor)\r\n\r\n> *Entia non sunt multiplicanda praeter necessitatem.* — William of Ockham  \r\n> (\"Entities should not be multiplied beyond necessity.\")\r\n\r\nWriting code is cheap for you, which makes over-engineering easy.\r\nCounter it with **Occam's Razor**: when deciding between competing designs, the implementation that introduces the fewest new abstractions, fewest assumptions, and least code is almost always the right one. Borrow a human maintainer's fatigue. Aim for the most result with the least code and complexity.\r\n\r\nAim for the maximum result with the least complexity.\r\n\r\n- **Occam's Razor over premature architecture.** Do not add interfaces, generic factories, or adapter layers for hypothetical future requirements. Solve today's concrete problem.\r\n- **Prefer deletion.** When asked to refactor or improve, search for removals before additions. Dead code deleted is zero-cost maintenance.\r\n- **Maintain a flat call hierarchy.** Avoid deep call chains. If answering a question requires tracing through more than 3 files or layers, flatten it.\r\n- **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.\r\n- **Minimize the diff.** Make the smallest change that completely solves the problem. Fewer lines beat \"clever\" boilerplate.\r\n- **Question the threading.** If a task asks you to pass a new signal through types, schemas, pipelines, or similar layers, stop and find the direct path.\r\n- **Sweat the small leaks.** Remove tiny pass-throughs, representation leaks, and duplicated choices before they spread. Small leaks compound into permanent coordination costs.\r\n\r\n**Prime directive:** If a human developer would find the code exhausting to read, trace, or maintain, it is a bad solution. Apply Occam's Razor: stay lazy, stay simple.\r\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}