360 Secure SkillHub
360 安全技能中心

simplification-cascades

这是一份软件简化方法论文档,指导识别同一概念的多重实现、不断增长的特例列表和带例外规则,寻找底层统一模式并抽象,从而删除冗余组件。包含快速对照表、三个示例和五步流程,不包含可执行工具。

obra
热度 0.00
最近更新 2026-10-18 17:19:58
分类:开发依赖:纯提示词应用场景:代码审查 / 概念解释

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add obra/superpowers-skills/simplification-cascades
Metadata
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

Symptom Likely Cascade
Same thing implemented 5+ ways Abstract the common pattern
Growing special case list Find the general case
Complex rules with exceptions Find the rule that has no exceptions
Excessive config options Find 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?"