All skills
softaworks avatar

/reducing-entropy

@1c0662a
by softaworkssoftaworks/agent-toolkit2.5k stars
230

Manual-only skill for minimizing total codebase size. Only activate when explicitly requested by user. Measures success by final code amount, not effort. Bias toward deletion.

Use this Skill: https://skilld.dev/gh/softaworks/agent-toolkit/reducing-entropy

This session only. Nothing lands on disk.

README.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Reducing Entropy

A manual-only skill for minimizing total codebase size by measuring success through final code amount, not effort. Biases toward deletion and aggressive simplification.

Purpose

This skill exists to counter the natural tendency of codebases to grow over time. It provides a framework for evaluating changes based on whether they reduce the total amount of code in the final codebase, not just minimize the work required now.

More code creates more entropy. More entropy means more bugs, more maintenance, more cognitive load. This skill fights that trend.

When to Use It

Use this skill when:

  • Refactoring existing code and want to minimize the result
  • Evaluating feature requests (should we add this?)
  • Cleaning up technical debt
  • Deciding between implementation approaches
  • The user explicitly asks to "reduce entropy" or "minimize code"
  • You need to bias toward deletion over addition

Do NOT use automatically. This is a manual-only skill that requires explicit user request.

How It Works

Core Philosophy

Measure the end state, not the effort.

  • Writing 50 lines that delete 200 lines = net win (-150 lines)
  • Keeping 14 functions to avoid writing 2 = net loss (+12 functions)
  • "No churn" is not a goal. Less total code is the goal.

The Three Questions

Every change must answer:

  1. What's the smallest codebase that solves this?

    • Not "smallest change" but smallest result
    • Could this be 2 functions instead of 14?
    • Could this be 0 functions (delete the feature)?
  2. Does this result in less total code?

    • Count lines/functions before vs. after
    • If after > before, reject it
    • "Better organized" but more code = more entropy
  3. What can we delete?

    • What does this make obsolete?
    • What was only needed because of what we're replacing?
    • What's the maximum we could remove?

Reference Mindsets

Before starting, you must load at least one mindset from the references/ directory. These provide philosophical grounding for radical simplification:

  1. List files in references/
  2. Read frontmatter to see which applies
  3. Load at least one
  4. State which you loaded and its core principle

Do not proceed without loading a mindset.

Key Features

  • Deletion Bias: Default action is to remove, not add
  • Total Code Metric: Success measured by final codebase size
  • Anti-Pattern Detection: Flags common excuses for adding code
  • Mindset-Driven: Loads philosophical frameworks to guide decisions
  • Effort Agnostic: Doesn't care about rewrite effort, only end result

Red Flags

This skill actively rejects these common arguments:

Argument Why It's Rejected
"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 win.
"Easier to understand" 14 things are not easier than 2 things.

When This Doesn't Apply

Don't use this skill when:

  • The codebase is already minimal for what it does
  • Working in a framework with strong conventions (don't fight it)
  • Regulatory/compliance requirements mandate certain structures
  • User wants to add functionality and accepts the code cost

Usage Example

User: "I need to add validation to these 5 forms"

Standard approach:
- Create validation schema for each form (5 files)
- Add validation helper functions (1 file)
- Update each form component (5 files modified)
- Total: +6 files, ~300 lines added

Reducing Entropy approach:
1. Load mindset (e.g., "worse-is-better.md")
2. Ask: What's the smallest codebase that solves this?
   - Could we have 1 validation function instead of 5 schemas?
   - Do all 5 forms need validation or just 2?
   - Can we delete 3 forms and merge functionality?
3. Count before/after:
   - Before: 5 forms + 0 validation = 500 lines
   - Option A: 5 forms + 6 validation files = 800 lines (reject)
   - Option B: 2 forms + 1 validation function = 350 lines (accept)
4. Delete: Remove 3 forms, add 1 function
   - Net result: -150 lines

Related Files

  • references/ - Philosophical mindsets to load before starting
  • adding-reference-mindsets.md - How to add new mindsets

Success Metrics

You've succeeded when:

  • Total lines of code decreased
  • Number of files decreased
  • Number of functions/classes decreased
  • Features work the same (or better) with less code
  • You deleted more than you added

Bias toward deletion. Measure the end state.

Attribution

Source: SKILL.md on GitHub

No alerts16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides a framework for reducing code complexity through deletion and simplification. It is conceptually safe but carries a low risk of indirect prompt injection, as it requires the agent to analyze and modify external codebases that could contain malicious instructions designed to trick the agent into removing security controls.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    7 files scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 1c0662a. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Dormantupdated 9 months ago
  • Refactoring
  • entropy
  • code-deletion
  • codebase-size
  • minimalism
  • technical-debt
  • architecture

README badge

README badge for softaworks/agent-toolkit/reducing-entropy

Reduces total codebase size by favoring deletion over addition, measuring success by final code amount rather than effort or refactoring elegance. Requires explicit user activation and loading a reference mindset before proceeding; applies to any project where minimizing lines of code is the primary goal, not organizational improvements.

Generated from the current SKILL.md.

When should I activate this skill?
Only when explicitly requested by the user. This is a manual-only skill for focused reduction efforts, not a default mode.
What does 'success' mean for this skill?
Success is measured by final codebase size, not effort or refactoring cleanliness. Writing 50 lines to delete 200 lines is a win.
Does this skill apply to all codebases?
No. Skip it if the codebase is already minimal, if you're constrained by framework conventions or regulatory requirements, or if reduction isn't the stated goal.
How do I use the reference mindsets?
Load at least one mindset from the references/ directory before proceeding. Read the frontmatter descriptions to find which applies, then state which you loaded.

Generated from the current SKILL.md. These answers refresh after source changes.