About reducing-entropy
A development skill that guides changes toward a smaller total codebase, rather than merely minimizing the immediate edit. It prompts developers to measure the end state and look for code that can be removed.
Key features
- 01Prioritize the smallest final codebase
- 02Compare code size before and after
- 03Identify obsolete code to delete
- 04Load a reference mindset before starting
- 05Notes on cases where the approach may not apply
Use cases
- 01Evaluating whether a feature can be simplified
- 02Reviewing a proposed refactor for added code
- 03Finding obsolete code during implementation
- 04Choosing a minimal solution to a development task
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill reducing-entropyAfter installing, type/reducing-entropyin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
adding-reference-mindsets.mdREADME.mdreferences/data-over-abstractions.mddesign-is-taking-apart.mdexpensive-to-add-later.mdsimplicity-vs-easy.mdDetails
From the project READMEReducing Entropy
More code begets more code. Entropy accumulates. This skill biases toward the smallest possible codebase.
Core question: "What does the codebase look like after?"
Before You Begin
Load at least one mindset from references/
- List the files in the reference directory
- Read frontmatter descriptions to pick which applies
- Load at least one
- State which you loaded and its core principle
Do not proceed until you've done this.
The Goal
The goal is less total code in the final codebase - not less code to write right now.
- Writing 50 lines that delete 200 lines = net win
- Keeping 14 functions to avoid writing 2 = net loss
- "No churn" is not a goal. Less code is the goal.
Measure the end state, not the effort.
Three Questions
1. What's the smallest codebase that solves this?
Not "what's the smallest change" - what's the smallest result.
- Could this be 2 functions instead of 14?
- Could this be 0 functions (delete the feature)?
- What would we delete if we did this?
2. Does the proposed change result in less total code?
Count lines before and after. If after > before, reject it.
- "Better organized" but more code = more entropy
- "More flexible" but more code = more entropy
- "Cleaner separation" but more code = more entropy
3. What can we delete?
Every change is an opportunity to delete. Ask:
- What does this make obsolete?
- What was only needed because of what we're replacing?
- What's the maximum we could remove?
Red Flags
- "Keep what exists" - Status quo bias. The question is total code, not churn.
- "This adds flexibility" - Flexibility for what? YAGNI.
- "Better separation of concerns" - More files/functions = more code. Separation isn't free.
- "Type safety" - Worth how many lines? Sometimes runtime checks in less code wins.
- "Easier to understand" - 14 things are not easier than 2 things.
When This Doesn't Apply
- The codebase is already minimal for what it does
- You're in a framework with strong conventions (don't fight it)
- Regulatory/compliance requirements mandate certain structures
Reference Mindsets
See references/ for philosophical grounding.
To add new mindsets, see adding-reference-mindsets.md.
Bias toward deletion. Measure the end state.