solid

Apply SOLID principles to class design and refactoring workflows.

3|Updated Apr 5, 2023
One-click install
npx skills add https://github.com/mrp4sten/.dotfiles --skill solid-mrp4sten
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: solid
Source: https://github.com/mrp4sten/.dotfiles/tree/main/development/IA/opencode/skill/solid
Command: npx skills add https://github.com/mrp4sten/.dotfiles --skill solid-mrp4sten

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

SOLID principles help teams design maintainable, scalable object-oriented systems by clearly separating concerns and enabling safe evolution.

Core Features & Use Cases

  • Structured guidance on applying the five SOLID principles to real-world class design.
  • Refactoring help to split responsibilities and introduce abstractions.
  • Code-quality examples demonstrating proper composition vs inheritance in multiple languages.
  • Use case: when designing a new module or reviewing architecture, apply SRP, OCP, LSP, ISP, and DIP to improve maintainability and testability.

Quick Start

Apply SOLID principles to a sample class by identifying responsibilities, introducing abstractions, and refactoring toward single-responsibility components.

Frequently Asked Questions about solid

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I apply SOLID principles to refactor an existing class?▼

To apply SOLID principles during refactoring, identify existing responsibilities within a class, introduce abstractions for dependencies, and split logic toward single-responsibility components to improve maintainability and testability.

What is the best way to separate concerns when designing object-oriented systems?▼

Separating concerns in object-oriented systems is best achieved by applying SOLID principles, explicitly modularizing interfaces, and using composition over inheritance to enable safe system evolution.

Can I use SOLID design patterns across different programming languages?▼

Yes, SOLID design patterns are applicable across multiple object-oriented languages including Java, C#, TypeScript, and Python, providing structured guidance for real-world class design and architecture reviews.

Why does dependency inversion matter for scalable software architecture?▼

Dependency inversion matters for scalable software architecture because it forces modules to depend on abstractions rather than concrete implementations, enabling safe evolution and modular interfaces.

When do I need to refactor code using the Liskov Substitution Principle?▼

You need to refactor code using the Liskov Substitution Principle when derived classes alter the expected behavior of their base classes, ensuring proper inheritance hierarchies and preventing architectural violations.