PromptShop

System Design

This skill assists in designing systems and evaluating architectural decisions.

Install

npx promptshop add system-design

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