architecture-patterns

Explain SOLID principles and common design patterns for software architecture.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/akaszubski/realign --skill architecture-patterns-akaszubski
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-patterns
Source: https://github.com/akaszubski/realign/tree/main/.claude/skills/architecture-patterns
Command: npx skills add https://github.com/akaszubski/realign --skill architecture-patterns-akaszubski

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building scalable, maintainable, and testable software is challenging. This Skill provides a comprehensive guide to fundamental software architecture principles and design patterns, helping you avoid common pitfalls and build robust systems.

Core Features & Use Cases

  • SOLID Principles: Detailed explanations and code examples for Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
  • DRY & Separation of Concerns: Guidance on reducing code duplication and organizing logic for clarity.
  • Common Design Patterns: Practical examples of Factory, Strategy, Observer, and Repository patterns.
  • Use Case: When refactoring a complex module, activate this Skill to quickly review SOLID principles and identify the most suitable design pattern (e.g., Strategy for different training methods) to improve code structure and maintainability.

Quick Start

When designing a new feature, consider:

S - Single Responsibility: Each class/function does one thing.

O - Open/Closed: Extend without modifying existing code.

D - Dependency Inversion: Depend on abstractions, not concretions.

Example: Using Dependency Inversion for a NotificationService

class NotificationService:

def init(self, sender: MessageSender):

self.sender = sender

def notify(self, message):

self.sender.send(message)

email_notifier = NotificationService(EmailSender())

email_notifier.notify("Hello!")