system-design-patterns

Guide distributed system architecture decisions with CAP, scaling, and caching patterns.

Updated Jan 23, 2026
One-click install
npx skills add https://github.com/alexsandrocruz/DominusLeads --skill system-design-patterns-alexsandrocruz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: system-design-patterns
Source: https://github.com/alexsandrocruz/DominusLeads/tree/main/backend/Sapienza.Leads/.claude/skills/system-design-patterns
Command: npx skills add https://github.com/alexsandrocruz/DominusLeads --skill system-design-patterns-alexsandrocruz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

System Design Patterns provides a structured catalog of proven patterns to design scalable, reliable, and high-performance distributed systems. It helps engineers reason about trade-offs and select appropriate approaches during architecture decisions.

Core Features & Use Cases

  • CAP Theorem guidance: Practical considerations of Consistency, Availability, and Partition Tolerance.
  • Scaling strategies: Horizontal and vertical scaling patterns with real-world scenarios.
  • Reliability & caching: Patterns for fault tolerance, caching strategies, and cache invalidation.
  • Event-driven architectures: Designing event streams, queues, and sagas for resilient workflows.

Quick Start

Provide a system design prompt to identify and apply a minimal set of patterns (CAP, scaling, caching) to guide architecture decisions.

Frequently Asked Questions about system-design-patterns

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

FAQPage Schema
What is the CAP theorem and how does it impact distributed system design?

The CAP theorem dictates that distributed systems can guarantee at most two of Consistency, Availability, and Partition Tolerance simultaneously. This framework guides trade-off analysis when selecting database sharding and caching strategies for resilient architectures.

How do I design scalable event-driven architectures for microservices?

Design scalable event-driven architectures by implementing event streams, queues, and sagas. These patterns coordinate resilient workflows across microservices, enabling fault tolerance and decoupled processing for distributed systems.

When should I use horizontal scaling versus vertical scaling for capacity planning?

Horizontal scaling adds more machines to distribute load, while vertical scaling adds resources to a single machine. Capacity planning requires analyzing these trade-offs to select appropriate scaling strategies for your system requirements.

What are the best ways to handle cache invalidation and ensure reliability?

Handle cache invalidation and ensure reliability by applying established fault tolerance patterns. Structured caching strategies maintain data consistency while preventing stale reads in high-performance distributed environments.

Can I use system design patterns for database sharding and trade-off analysis?

Yes, you can apply system design patterns to plan database sharding and perform trade-off analysis. They provide structured guidance for capacity planning and data store decisions across distributed microservices architectures.