What problem does it solve? Python codebases often grow into tangled God classes, monolithic functions, and tightly coupled layers that are hard to test and modify. This Skill provides concrete patterns and decision rules for structuring Python code so responsibilities stay separated and components remain testable. ## Core Features & Use Cases - Fundamental Design Principles: Apply KISS, Single Responsibility, Separation of Concerns, and composition over inheritance with before-and-after code examples. - Layered Architecture Guidance: Organize code into API, service, and repository layers with correct dependency direction. - Refactoring Decision Rules: Use the Rule of Three, function size guidelines, and dependency injection to decide when to abstract, split, or leave duplication alone. - Use Case: When reviewing a pull request where a handler mixes HTTP parsing, SQL queries, and business rules, use this Skill to restructure it into a handler, service, and repository with injected dependencies that can each be tested in isolation. ## Quick Start Ask the AI to review this Python class using the design patterns skill and suggest how to split its responsibilities.