dec-software-principles

Installation
SKILL.md

Software Principles

The engineering half of design engineering — how code stays maintainable.

  • SOLID:
    • Single responsibility — one reason to change per unit.
    • Open/closed — open to extension, closed to modification.
    • Liskov substitution — subtypes must be usable wherever the base type is.
    • Interface segregation — many small interfaces over one fat one.
    • Dependency inversion — depend on abstractions, not concretions.
  • DRY / KISS / YAGNI: Don't repeat yourself; keep it simple; you aren't gonna need it. YAGNI is the antidote to speculative abstraction — don't generalize until you have concrete uses.
  • Conway's Law: Systems mirror the communication structure of the org that builds them — team topology is an architecture decision.
  • Principle of Least Astonishment: Components should behave the way their name and appearance imply. Surprise is a defect.

How to apply

Installs
2
First Seen
Jul 13, 2026
dec-software-principles — jpoindexter/dec-skills