software-patterns

Select and implement architectural patterns like Dependency Injection and Circuit Breaker.

68|19|Updated Nov 21, 2025
One-click install
npx skills add https://github.com/bobmatnyc/claude-mpm-skills --skill software-patterns-bobmatnyc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-patterns
Source: https://github.com/bobmatnyc/claude-mpm-skills/tree/main/universal/architecture/software-patterns
Command: npx skills add https://github.com/bobmatnyc/claude-mpm-skills --skill software-patterns-bobmatnyc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a decision framework to select and implement appropriate architectural patterns, preventing common design flaws and ensuring maintainable, scalable software systems.

Core Features & Use Cases

  • Pattern Selection Guidance: Offers decision trees and problem-to-pattern mappings for choosing patterns like Dependency Injection, SOA, Repository, Domain Events, Circuit Breaker, and Anti-Corruption Layer.
  • Anti-Pattern Identification: Highlights common mistakes and anti-patterns to avoid.
  • Use Case: When designing a new microservice, use this Skill to determine the best foundational patterns (like DI and SOA) and situational patterns (like Repository for data access) to ensure a robust and maintainable architecture from the start.

Quick Start

Use the software-patterns skill to understand when to apply the Repository pattern.

Frequently Asked Questions about software-patterns

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

FAQPage Schema
When should I use the Repository pattern versus Domain Events in system design?

Use the Repository pattern to abstract data access and improve testability, while Domain Events decouple business logic across system boundaries. The framework provides decision trees to map specific design problems to the correct pattern.

How do I prevent cascading failures in a service-oriented architecture?

To prevent cascading failures in a service-oriented architecture, implement the Circuit Breaker pattern. This framework guides the selection and implementation of fault-tolerance patterns to ensure robust system design and prevent failure propagation.

Does Dependency Injection improve code testability in software architecture?

Yes, Dependency Injection directly improves code testability by inverting control of dependencies. This framework identifies it as a foundational pattern to solve testability problems and reduce scattered business logic in your systems.

What is the best way to decouple external system integrations in microservices?

The best way to decouple external system integrations is the Anti-Corruption Layer pattern. This framework addresses external system coupling by guiding the implementation of isolation patterns to maintain architectural integrity.

What prerequisite knowledge do I need to select appropriate architectural patterns?

You need an understanding of software design principles and common architectural challenges. This framework requires existing knowledge of system design concepts to effectively utilize its problem-to-pattern mappings and decision trees.

Why should I avoid common anti-patterns when designing a new microservice?

Avoiding anti-patterns when designing a new microservice prevents common design flaws and ensures maintainable, scalable software. This framework highlights specific mistakes to avoid and offers structural guidance for foundational patterns.