From solid-principles
This skill should be used when the user asks to "check SOLID violations", "audit class design", "review code quality", "find design smells", or "improve object-oriented architecture". Also triggers when the user mentions a principle by name (e.g., "check SRP", "is this violating LSP?", "dependency inversion"), or asks about coupling, cohesion, or class responsibilities. Supports checking all five principles at once or focusing on a single principle.
npx claudepluginhub florianbuetow/claude-code --plugin solid-principlesThis skill uses the workspace's default tool permissions.
Analyze source code for violations of Robert C. Martin's SOLID principles of
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
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