Install
openclaw skills install reducing-entropyMinimize total codebase size through ruthless simplification. Measure success by final code amount, not effort. Bias toward deletion.
openclaw skills install reducing-entropyMore code begets more code. Entropy accumulates. This skill biases toward the smallest possible codebase.
Provides a mindset and checklist for:
Core question: "What does the codebase look like after?"
Activate this skill when:
The goal is less total code in the final codebase — not less code to write right now.
| Scenario | Verdict |
|---|---|
| Writing 50 lines that delete 200 lines | Net win ✓ |
| Keeping 14 functions to avoid writing 2 | Net loss ✗ |
| "Better organized" but more code | More entropy ✗ |
| "More flexible" but more code | More entropy ✗ |
| "Cleaner separation" but more code | More entropy ✗ |
Measure the end state, not the effort.
Load a mindset from references/:
references/Available mindsets:
simplicity-vs-easy.md — Simple is objective; easy is subjective. Choose simple.design-is-taking-apart.md — Good design separates concerns, removes dependencies.data-over-abstractions.md — 100 functions on one structure beats 10 on 10.expensive-to-add-later.md — When YAGNI doesn't apply (PAGNI exceptions).Not "what's the smallest change" — what's the smallest result.
Count lines before and after. If after > before, challenge it.
Before: 847 lines across 12 files
After: 623 lines across 8 files
Verdict: ✓ Net reduction of 224 lines
Every change is an opportunity to delete. Ask:
| Phrase | What It Hides | Challenge |
|---|---|---|
| "Keep what exists" | Status quo bias | "Total code is the metric, not churn" |
| "This adds flexibility" | Speculative generality | "Flexibility for what? Is it needed now?" |
| "Better separation of concerns" | More files = more code | "Separation isn't free. Worth how many lines?" |
| "Type safety" | Sometimes bloats code | "Worth how many lines? Could runtime checks work?" |
| "Easier to understand" | More things ≠ easier | "14 things are not easier than 2 things" |
| "This is the pattern" | Pattern worship | "Does the pattern fit, or are we forcing it?" |
| "We might need this later" | YAGNI violation | "Delete it. Git remembers." |
Before completing any refactor, ask:
| Pattern | Action |
|---|---|
| Wrapper that just forwards calls | Inline the wrapped code |
| Config file with 2 settings | Move to environment variables |
| Utils file with 1 function | Move function to where it's used |
| Interface with 1 implementation | Delete the interface |
| Abstract class with 1 subclass | Merge into concrete class |
| Module that re-exports everything | Delete; import from source |
| Comments explaining obvious code | Delete comments; code is clear |
"complexity very very bad. say again: complexity very bad. you think you not, but you are."
Grug brain developer knows:
Philosophical foundations for simplicity thinking:
| Reference | Core Principle |
|---|---|
| simplicity-vs-easy.md | Simple (objective) vs easy (subjective) — choose simple |
| design-is-taking-apart.md | Good design separates; composition beats construction |
| data-over-abstractions.md | Generic data + many functions beats many custom types |
| expensive-to-add-later.md | PAGNI exceptions — what you probably are gonna need |
External resources: