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 operations, unsafe retries |
| [API Versioning](./skills/api-versioning/SKILL.md) | Breaking changes, version chaos |
Performance
| Skill | Prevents |
|-------|----------|
| [N+1 Prevention](./skills/n-plus-one-prevention/SKILL.md) | Database query explosions |
| [Lazy Loading](./skills/lazy-loading/SKILL.md) | Loading everything upfront, slow startup |
| [Caching](./skills/caching/SKILL.md) | Repeated expensive operations, cache bugs |
Code Quality
| Skill | Prevents |
|-------|----------|
| [Separation of Concerns](./skills/separation-of-concerns/SKILL.md) | Mixed responsibilities, tangled code |
| [Encapsulation](./skills/encapsulation/SKILL.md) | Exposed internals, broken abstractions |
| [Immutability](./skills/immutability/SKILL.md) | Mutation bugs, unexpected state changes |
Error Handling
| Skill | Prevents |
|-------|----------|
| [Exception Hierarchies](./skills/exception-hierarchies/SKILL.md) | Generic errors, poor error handling |
| [Error Boundaries](./skills/error-boundaries/SKILL.md) | Cascading failures, crashed UIs |
Concurrency
| Skill | Prevents |
|-------|----------|
| [Race Conditions](./skills/race-conditions/SKILL.md) | Data races, inconsistent state |
| [Deadlock Prevention](./skills/deadlock-prevention/SKILL.md) | System hangs, resource starvation |
Meta
| Skill | Purpose |
|-------|---------|
| [Skill Awareness](./skills/skill-awareness/SKILL.md) | Tracks skill usage across sessions, enables analytics |