oo-principles

Installation
SKILL.md

OO Principles

A skill for evaluating TypeScript/JavaScript code against Dave Thomas's principles for distinguishing true object-oriented design from class-oriented anti-patterns.

Core Philosophy

Alan Kay, who coined "Object-Oriented," did not envision C++ or Java. Modern Ruby has the flexibility to move beyond class-centric design. The goal is to use classes only when they solve the problem they're designed for — creating multiple instances with their own state.

The Seven Rules (Checklist)

Rule 1: If it's not an object factory, don't use a class

The Anti-Pattern: A class with no constructor parameters, no instance variables, only static methods (especially common in checksum calculators, validators, or utilities).

Installs
2
Repository
bsene/skills
GitHub Stars
4
First Seen
Mar 24, 2026
oo-principles — bsene/skills