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.
From programming-skillsnpx claudepluginhub wesleyegberto/software-engineering-skills --plugin programming-skillsThis skill uses the workspace's default tool permissions.
references/code-review-checklist.mdreferences/composition-immutability.mdreferences/design-properties.mdreferences/error-handling.mdreferences/grasp-demeter.mdreferences/modularization.mdreferences/simplicity.mdreferences/solid.mdSearches, 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.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
This skill is a reference companion for code review and software design sessions. Each concept lives in its own reference file — read only the file(s) relevant to the current task.
| File | Contents |
|---|---|
references/design-properties.md | Cohesion, Coupling, Information Hiding, Conceptual Integrity |
references/solid.md | SRP, OCP, LSP, ISP, DIP — with nuances and critical counterpoints |
references/grasp-demeter.md | GRASP patterns, Law of Demeter, Tell-Don't-Ask |
references/modularization.md | Modularisation, REP/CCP/CRP, ADP/SDP/SAP, metrics |
references/composition-immutability.md | Prefer Composition over Inheritance, Immutability rules |
references/simplicity.md | Causes of complexity, abstraction leaks, scale, model/reality gaps |
references/error-handling.md | Error types, when/where to handle, flow control, checked exceptions |
references/code-review-checklist.md | Unified checklist + quick red-flag table for reviews |
During a code review:
Start with code-review-checklist.md for a structured walkthrough, then open the
specific reference file for deeper context on any flagged issue.
During software design:
design-properties.md (cohesion, coupling)solid.md + composition-immutability.mdgrasp-demeter.mdmodularization.mdsimplicity.mderror-handling.mdGoal Practice
────────────────────────────────────────────────────────────
High Cohesion ←─ SRP, ISP, CCP, GRASP High Cohesion
Low Coupling ←─ DIP, Law of Demeter, Composition, SDP
Information Hiding ←─ Law of Demeter, Private fields, API Module
Extensibility ←─ OCP, LSP, Protected Variations
Module Stability ←─ ADP, SDP, SAP
Reusability ←─ REP, CRP, Separate Abstractions
Thread Safety ←─ Immutability
| Property | Principles |
|---|---|
| Cohesion | SRP, ISP, CCP |
| Coupling | DIP, Law of Demeter, Composition > Inheritance, SDP |
| Information Hiding | Law of Demeter, CCP, Separate Abstractions |
| Extensibility | OCP, LSP, Protected Variations (GRASP) |
| Module stability | ADP (no cycles), SDP (stable direction), SAP (abstract = stable) |