SOLID Principles
| Principle | Skill | Prevents |
|-----------|-------|----------|
| S | [Single Responsibility](./skills/single-responsibility/SKILL.md) | God classes, "just add it here" |
| O | [Open/Closed](./skills/open-closed/SKILL.md) | Adding if/else branches for new features |
| L | [Liskov Substitution](./skills/liskov-substitution/SKILL.md) | Override with throw/no-op |
| I | [Interface Segregation](./skills/interface-segregation/SKILL.md) | Fat interfaces, forced implementations |
| D | [Dependency Inversion](./skills/dependency-inversion/SKILL.md) | new Concrete() inside classes |
Core Principles
| Principle | Skill | Prevents |
|-----------|-------|----------|
| DRY | [Don't Repeat Yourself](./skills/dry/SKILL.md) | Copy-paste code, duplicated logic |
| YAGNI | [You Ain't Gonna Need It](./skills/yagni/SKILL.md) | Over-engineering, speculative features |
| KISS | [Keep It Simple](./skills/kiss/SKILL.md) | Clever one-liners, unnecessary complexity |
| Composition | [Composition over Inheritance](./skills/composition-over-inheritance/SKILL.md) | Deep inheritance hierarchies |
| Demeter | [Law of Demeter](./skills/law-of-demeter/SKILL.md) | a.b.c.d property chains |
| Fail Fast | [Fail Fast](./skills/fail-fast/SKILL.md) | Swallowed errors, silent failures |
Testing
| Skill | Prevents |
|-------|----------|
| [TDD](./skills/tdd/SKILL.md) | Tests as afterthought, untestable code |
| [Test Isolation](./skills/test-isolation/SKILL.md) | Flaky tests, shared state between tests |
| [AAA Pattern](./skills/aaa-pattern/SKILL.md) | Messy tests, unclear test structure |
Security
| Skill | Prevents |
|-------|----------|
| [Input Validation](./skills/input-validation/SKILL.md) | Injection attacks, invalid data |
| [Secrets Handling](./skills/secrets-handling/SKILL.md) | Hardcoded credentials, exposed secrets |
| [Auth Patterns](./skills/auth-patterns/SKILL.md) | Broken authentication, insecure sessions |
API Design
| Skill | Prevents |
|-------|----------|
| [REST Conventions](./skills/rest-conventions/SKILL.md) | Inconsistent endpoints, poor API design |
| [Error Responses](./skills/error-responses/SKILL.md) | Unhelpful errors, leaked internals |
| [Idempotency](./skills/idempotency/SKILL.md) | Duplicate opera