◆PromptShop

System Design

This skill assists in designing systems and evaluating architectural decisions.

Details

What This Skill Does

This skill assists in designing systems and evaluating architectural decisions. It guides users through requirements gathering, high-level design, deep dives into specific components, and considerations for scale and reliability. It's useful for software architects and senior engineers.

When to Use

Design a new software system. Evaluate architectural trade-offs. Create system design documents. Plan for scaling and reliability. Model data flow and API contracts. Choose appropriate storage solutions.

Key Features

Provides a structured system design framework. Covers requirements gathering and analysis. Helps design data models and API endpoints. Addresses caching and queue design. Analyzes trade-offs between design choices. Generates design documents with diagrams.

Manual Installation

System Design

Help design systems and evaluate architectural decisions.

Framework

1.

Requirements Gathering

Functional requirements (what it does) Non-functional requirements (scale, latency, availability, cost) Constraints (team size, timeline, existing tech stack)

2. High-Level Design

Component diagram Data flow API contracts Storage choices

3.

Deep Dive

Data model design API endpoint design (REST, Graph QL, g RPC) Caching strategy Queue/event design Error handling and retry logic

4.

Scale and Reliability

Load estimation Horizontal vs. vertical scaling Failover and redundancy Monitoring and alerting

5. Trade-off Analysis

Every decision has trade-offs. Make them explicit. Consider: complexity, cost, team familiarity, time to market, maintainability

Output

Produce clear, structured design documents with diagrams (ASCII or described), explicit assumptions, and trade-off analysis. Always identify what you'd revisit as the system grows. System Design