system-design

Design scalable distributed systems with load balancing, caching, and message queues.

5|Updated Jan 20, 2026
One-click install
npx skills add https://github.com/mohamedgshoaib/reway --skill system-design-mohamedgshoaib
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: system-design
Source: https://github.com/mohamedgshoaib/reway/tree/main/.agents/skills/system-design
Command: npx skills add https://github.com/mohamedgshoaib/reway --skill system-design-mohamedgshoaib

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the complexity of architecting large-scale distributed systems by providing a structured, repeatable framework for design, estimation, and component selection.

Core Features & Use Cases

  • Structured Design Process: Follows a proven four-step methodology (Scope, High-Level, Deep Dive, Wrap-up) to ensure designs are comprehensive and defensible.
  • Back-of-the-Envelope Estimation: Provides formulas and reference numbers for calculating QPS, storage, and bandwidth requirements.
  • Building Block Library: Offers clear guidance on when and why to use load balancers, caches, message queues, and sharding strategies.
  • Use Case: Use this when preparing for a system design interview or when you need to evaluate the scalability and reliability of a proposed architecture for a new service.

Quick Start

Use the system design skill to outline a high-level architecture and capacity estimate for a URL shortening service.

Frequently Asked Questions about system-design

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

FAQPage Schema
How do I design a scalable distributed system architecture?▼

To design a scalable distributed system, follow a structured four-step methodology covering scope, high-level design, deep dive, and wrap-up to comprehensively address functional and non-functional requirements.

What is back-of-the-envelope estimation in system design?▼

Back-of-the-envelope estimation calculates QPS, storage, and bandwidth requirements using reference formulas, enabling accurate capacity planning for proposed distributed architectures.

When should I use caching, load balancing, and message queues?▼

Use caching, load balancing, and message queues during the deep dive phase of system design to address scalability bottlenecks, improve reliability, and manage asynchronous task processing effectively.

How do I prepare for a system design interview?▼

Prepare for a system design interview by practicing a repeatable four-step framework that scopes requirements, drafts high-level architecture, estimates capacity, and selects components like sharding strategies.

What is the best way to evaluate database scaling and sharding strategies?▼

Evaluating database scaling and sharding strategies requires estimating capacity needs and mapping them against building block guidance to determine when specific scaling approaches are necessary for reliability.