Help us improve
Share bugs, ideas, or general feedback.
From solid-principles
Analyzes object-oriented source code for SOLID principles violations in Python, Java, TypeScript, C#, C++, Kotlin, Go, Rust. Delivers severity-rated findings with locations and refactoring suggestions via subcommands like `solid srp`.
npx claudepluginhub florianbuetow/claude-code --plugin solid-principlesHow this skill is triggered — by the user, by Claude, or both
Slash command
/solid-principles:solid-principlesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze source code for violations of Robert C. Martin's SOLID principles of
Reviews code for SOLID design-principles compliance (SRP/OCP/LSP/ISP/DIP). Use as a quality gate or standalone review. Does not modify code.
Reviews and refactors object-oriented code for SOLID compliance across PHP, Java, Python, TypeScript, and C++. Detects violations, suggests fixes, and explains trade-offs.
SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) for object-oriented design.
Share bugs, ideas, or general feedback.
Analyze source code for violations of Robert C. Martin's SOLID principles of object-oriented design. Produce actionable findings with severity ratings, code locations, and concrete refactoring suggestions.
Request a full audit or focus on a single principle:
| Command Pattern | Principle | Reference |
|---|---|---|
solid all / solid check / solid | All five principles | All references |
solid srp | Single Responsibility | references/srp.md |
solid ocp | Open/Closed | references/ocp.md |
solid lsp | Liskov Substitution | references/lsp.md |
solid isp | Interface Segregation | references/isp.md |
solid dip | Dependency Inversion | references/dip.md |
When no subcommand is specified, default to checking all five principles. When a principle is mentioned by name (even without saying "solid"), match it to the appropriate subcommand.
Determine what code to analyze:
Supported languages: any OO language (Python, Java, TypeScript, C#, C++, Kotlin, Go with struct methods, Rust with impl blocks, etc.). Adapt the principle checks to the idioms of the target language — not every principle manifests identically across languages.
Before analyzing, read the reference file(s) for the requested principle(s):
references/srp.md for SRP checksreferences/ocp.md for OCP checksreferences/lsp.md for LSP checksreferences/isp.md for ISP checksreferences/dip.md for DIP checksFor a full audit (solid all), read all five.
For each target file/class, apply the violation patterns from the loaded references. Think carefully about each pattern — not every heuristic match is a true violation. Consider context, project size, and pragmatism. A 50-line script doesn't need the same architectural rigor as a large production system.
Present findings using this structure:
**[PRINCIPLE] Violation — Severity: HIGH | MEDIUM | LOW**
Location: `filename.py`, class `ClassName`, lines ~XX-YY
Issue: Clear description of what violates the principle and why it matters.
Suggestion: Concrete refactoring approach with brief code sketch if helpful.
Severity guidelines:
After all findings, provide:
| Principle | HIGH | MEDIUM | LOW |When a fix or refactoring is requested (e.g., "fix this", "refactor it", "show me the clean version"), produce refactored code that resolves the identified violations. Explain each change briefly.
These are guidelines, not laws. Apply judgment:
User: solid srp (with a file attached)
Claude:
references/srp.md