software-design-philosophy

software design philosophy

wondelai 1.7k ↓ 3.7k MIT updated 26d ago
Claude Code
View source ↗

What it does

  • 6-8 — mostly deep, but one or two leaks, shallow classes, or undocumented abstractions. 5-6 diagnostics pass.
  • 3-5 — classitis or temporal decomposition, recurring leakage, comments that only restate code. 2-4 diagnostics pass.
  • ≤2 — tactical-tornado code: shallow modules, pervasive leakage, no design intent recorded. 0-1 diagnostics pass.
  • Change amplification: a simple change requires edits in many places
  • Cognitive load: a developer must hold too much in mind to make a change
  • Unknown unknowns: it isn't obvious what must change or what information is relevant — the worst symptom
  • Complexity is incremental — it accumulates from hundreds of small decisions ("death by a thousand cuts"), so every decision matters

Requirements & configuration

  • Always state the current score, the diagnostic rows that failed, and the specific change each one needs to reach 10/10.
  • Change amplification: a simple change requires edits in many places
  • Startups need strategic programming most — early shortcuts compound into crippling debt as the team grows
  • | Designing for specific use cases | Special-purpose interfaces accumulate special cases | Ask: simplest interface covering all current needs? |

Derived from the skill's own SKILL.md documentation · extracted 2026-07-23

software design philosophy

Source

Repository: https://github.com/wondelai/skills

software-design-philosophy FAQ

What does the software-design-philosophy skill do?

Manage software complexity through deep modules, information hiding, and strategic programming. Use when the user mentions "module design", "API too complex", "shallow class", "complexity budget", "strategic vs tactical", "deep module", "information leakage", "pass-through method", "this code is over-engineered", or "simplify this design". Also trigger when reviewing an interface for simplicity, evaluating whether an abstraction is pulling its weight, deciding whether a comment is worth writing, or choosing between general-purpose and special-purpose approaches. Covers deep vs shallow modules, red flags for complexity, and comments as design documentation. For code quality, see clean-code. For architecture boundaries, see clean-architecture. 6-8 — mostly deep, but one or two leaks, shallow classes, or undocumented abstractions. 5-6 diagnostics pass. 3-5 — classitis or temporal decomposition, recurring leakage, comments that only restate code. 2-4 diagnostics pass.

What does software-design-philosophy require?

Always state the current score, the diagnostic rows that failed, and the specific change each one needs to reach 10/10. Change amplification: a simple change requires edits in many places Startups need strategic programming most — early shortcuts compound into crippling debt as the team grows | Designing for specific use cases | Special-purpose interfaces accumulate special cases | Ask: simplest interface covering all current needs? |

How do I install software-design-philosophy?

Run: npx -y skills add https://github.com/wondelai/skills --skill software-design-philosophy --agent claude-code — the source lives at github.com/wondelai/skills.

Maintain software-design-philosophy?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[software-design-philosophy on getagentictools](https://getagentictools.com/skills/wondelai-skills-software-design-philosophy?ref=badge)
npx agentictools info skills/wondelai-skills-software-design-philosophy

The second line is the CLI lookup for this page — handy in READMEs and docs.