software-design-principles

Apply SOLID, GRASP, and modularisation principles during code reviews.

3|2|Updated Mar 23, 2026
One-click install
npx skills add https://github.com/wesleyegberto/software-engineering-skills --skill software-design-principles-wesleyegberto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-design-principles
Source: https://github.com/wesleyegberto/software-engineering-skills/tree/main/plugins/programming-skills/skills/software-design-principles
Command: npx skills add https://github.com/wesleyegberto/software-engineering-skills --skill software-design-principles-wesleyegberto

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Reference guide for software design properties and principles: SOLID, GRASP, Law of Demeter, cohesion, coupling, information hiding, conceptual integrity, modularisation, module-level principles (REP/CCP/CRP/ADP/SDP/SAP), composition over inheritance, and immutability.

ALWAYS activate this skill when: performing code reviews, designing classes or modules, evaluating dependencies or abstractions, discussing SOLID principles, analysing coupling or cohesion, reviewing inheritance hierarchies, making architectural decisions about package structure, or any time the conversation involves design quality, code maintainability, or software design principles.

Core Features & Use Cases

  • A comprehensive reference companion for code reviews and software design discussions.
  • Provides guidance on design properties, SOLID, GRASP, modularisation, and architecture decisions.
  • Use case: during code reviews to check for cohesion, coupling, information hiding, and conceptual integrity.

Quick Start

Consult the design-principles references to apply SOLID, GRASP, and modularisation concepts in your codebase.

Frequently Asked Questions about software-design-principles

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

FAQPage Schema
How do I apply SOLID and GRASP principles during a code review?

To apply SOLID and GRASP principles during a code review, evaluate class dependencies, coupling, cohesion, and information hiding against established design properties to ensure maintainability and conceptual integrity.

What are the key modularisation principles for architectural decisions?

Key modularisation principles for architectural decisions include REP, CCP, CRP, ADP, SDP, and SAP, which guide package structure, dependency management, and component separation to maintain conceptual integrity.

When should I use composition over inheritance in software design?

Use composition over inheritance when evaluating dependency structures to reduce tight coupling and improve modularity, allowing flexible behavior assembly without rigid class hierarchies.

How does information hiding improve code maintainability?

Information hiding improves code maintainability by encapsulating implementation details within modules, reducing external dependencies, and limiting the ripple effect of changes across the codebase.

What is the Law of Demeter and how does it affect dependency evaluation?

The Law of Demeter restricts objects to interacting only with their immediate dependencies, reducing coupling and preventing architectural violations during dependency evaluation and module design.