Marketplace

Simplification Cascades

Find one insight that eliminates multiple components - "if this is true, we don't need X, Y, or Z"

$ Installer

git clone https://github.com/mrgoonie/claudekit-skills /tmp/claudekit-skills && cp -r /tmp/claudekit-skills/.claude/skills/problem-solving/simplification-cascades ~/.claude/skills/claudekit-skills

// tip: Run this command in your terminal to install the skill


name: Simplification Cascades description: Find one insight that eliminates multiple components - "if this is true, we don't need X, Y, or Z" when_to_use: when implementing the same concept multiple ways, accumulating special cases, or complexity is spiraling version: 1.1.0

Simplification Cascades

Overview

Sometimes one insight eliminates 10 things. Look for the unifying principle that makes multiple components unnecessary.

Core principle: "Everything is a special case of..." collapses complexity dramatically.

Quick Reference

SymptomLikely Cascade
Same thing implemented 5+ waysAbstract the common pattern
Growing special case listFind the general case
Complex rules with exceptionsFind the rule that has no exceptions
Excessive config optionsFind defaults that work for 95%

The Pattern

Look for:

  • Multiple implementations of similar concepts
  • Special case handling everywhere
  • "We need to handle A, B, C, D differently..."
  • Complex rules with many exceptions

Ask: "What if they're all the same thing underneath?"

Examples

Cascade 1: Stream Abstraction

Before: Separate handlers for batch/real-time/file/network data Insight: "All inputs are streams - just different sources" After: One stream processor, multiple stream sources Eliminated: 4 separate implementations

Cascade 2: Resource Governance

Before: Session tracking, rate limiting, file validation, connection pooling (all separate) Insight: "All are per-entity resource limits" After: One ResourceGovernor with 4 resource types Eliminated: 4 custom enforcement systems

Cascade 3: Immutability

Before: Defensive copying, locking, cache invalidation, temporal coupling Insight: "Treat everything as immutable data + transformations" After: Functional programming patterns Eliminated: Entire classes of synchronization problems

Process

  1. List the variations - What's implemented multiple ways?
  2. Find the essence - What's the same underneath?
  3. Extract abstraction - What's the domain-independent pattern?
  4. Test it - Do all cases fit cleanly?
  5. Measure cascade - How many things become unnecessary?

Red Flags You're Missing a Cascade

  • "We just need to add one more case..." (repeating forever)
  • "These are all similar but different" (maybe they're the same?)
  • Refactoring feels like whack-a-mole (fix one, break another)
  • Growing configuration file
  • "Don't touch that, it's complicated" (complexity hiding pattern)

Remember

  • Simplification cascades = 10x wins, not 10% improvements
  • One powerful abstraction > ten clever hacks
  • The pattern is usually already there, just needs recognition
  • Measure in "how many things can we delete?"