From coding
Applies SOLID, KISS, DRY, YAGNI to code design decisions. Use for class structure, interface boundaries, dependency direction, or design trade-offs when building new features.
How this skill is triggered — by the user, by Claude, or both
Slash command
/coding:principlesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Detected a code smell (long method, feature envy)? → Use **refactoring** for specific techniques
| 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 |
Module type (application vs library) decides which default applies — see architecture Module Type.
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.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub elct9620/claudekit --plugin coding