From coding
Applies SOLID, KISS, DRY, YAGNI principles to code design decisions for new features, class structures, interface boundaries, and dependencies. Use for design trade-offs and abstraction debates.
npx claudepluginhub elct9620/claudekit --plugin codingThis skill uses the workspace's default tool permissions.
- Detected a code smell (long method, feature envy)? → Use **refactoring** for specific techniques
Elevates code to senior-engineer quality using SOLID principles, TDD, and clean code practices for writing, refactoring, architecture planning, reviews, and debugging.
SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) for object-oriented design.
Applies Uncle Bob's Clean Code, Clean Architecture, Clean Coder, Clean Agile principles for code review, refactoring, writing code, and architecture discussions.
Share bugs, ideas, or general feedback.
| Condition | Pass | Fail |
|---|---|---|
| New feature from scratch | Building without existing reference | Modifying existing code |
| Design trade-off | Choosing between competing approaches | Implementation path is clear |
| Interface/boundary design | Defining class responsibilities or contracts | Internal implementation detail |
| Dependency structure | Deciding coupling and injection strategy | No dependency decisions |
Apply when: Any condition passes Do NOT apply when: The task is purely about restructuring existing code (use refactoring) or detecting code smells (use refactoring)
| Principle | Description | Violation Sign |
|---|---|---|
| Single Responsibility | One reason to change | Class does too many things |
| Open/Closed | Open for extension, closed for modification | Frequent changes to existing code |
| Liskov Substitution | Subtypes must be substitutable | Type checks or conditional logic on types |
| Interface Segregation | Many specific interfaces over one general | Clients implement unused methods |
| Dependency Inversion | Depend on abstractions, not concretions | Direct instantiation of dependencies |
Use the Violation Sign column in the SOLID table above as the primary checklist. Additionally verify:
| Criterion | Pass | Fail |
|---|---|---|
| Describable | Each class/function describable in one sentence | Needs a paragraph to explain |
| Simplest solution | Chosen approach is the simplest that works | Over-engineered for hypothetical needs |
| Dependencies injected | High-level modules depend on abstractions | Direct instantiation of concretions |
This skill addresses design-level decisions (abstraction level, coupling, interface shape). For code-level restructuring (long methods, duplicated code, feature envy), use the refactoring skill — it has specific techniques and safe steps for each smell.