system-design

Installation
SKILL.md

System Design

Principles for building reusable, maintainable coding systems. From "A Philosophy of Software Design" by John Ousterhout.

Core Principle: Fight Complexity

Complexity is the root cause of most software problems. It accumulates incrementally—each shortcut adds a little, until the system becomes unmaintainable.

Complexity defined: Anything that makes software hard to understand or modify.

Symptoms:

  • Change amplification: simple change requires many modifications
  • Cognitive load: how much you need to know to make a change
  • Unknown unknowns: not obvious what needs to change

Deep Modules

The most important design principle: make modules deep.

Installs
3
GitHub Stars
642
First Seen
Jan 26, 2026
system-design — joelhooks/swarm-tools