system-design

Design system architectures and evaluate trade-offs for web-scale applications.

1|Updated Mar 19, 2026
One-click install
npx skills add https://github.com/cy-wali/knowledge --skill system-design-cy-wali
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: system-design
Source: https://github.com/cy-wali/knowledge/tree/main/engineering/skills/system-design
Command: npx skills add https://github.com/cy-wali/knowledge --skill system-design-cy-wali

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design robust, scalable architectures by guiding requirements gathering, architectural decisions, and trade-off analysis.

Core Features & Use Cases

  • Requirements gathering framework for functional and non-functional constraints
  • High-level design artifacts including component diagrams, data flows, and API contracts
  • Deep-dive design guidance covering data models, API endpoints, caching, and messaging
  • Scale and reliability planning with load estimation, redundancy, monitoring, and incident response
  • Trade-off analysis with explicit considerations of complexity, cost, team familiarity, and maintainability
  • Use Case: Planning a new service or refactoring a monolith to improve scalability and resilience.

Quick Start

Start by outlining system goals and constraints, then apply the framework to produce a structured design document.

Frequently Asked Questions about system-design

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

FAQPage Schema
How do I design scalable system architecture for web applications?▼

To design scalable system architecture, gather functional and non-functional requirements, create high-level component diagrams, and plan data models with caching and messaging. This framework guides requirements gathering, deep-dive design, and documented trade-offs.

What's the best way to evaluate architectural trade-offs for reliability and cost?▼

Evaluating architectural trade-offs requires analyzing complexity, cost, team familiarity, and maintainability. This system design approach explicitly balances reliability and performance constraints against cost to document architectural decisions.

How do I plan service boundaries and API design for a new microservice?▼

Plan service boundaries and API design by defining data models, API endpoints, and data flows. This framework produces high-level design artifacts including component diagrams and API contracts for new systems.

Can I use this system design framework to refactor a monolith for better resilience?▼

Yes, you can use this system design framework to refactor a monolith. It provides scale and reliability planning with load estimation, redundancy, monitoring, and incident response guidance to improve resilience.

When do I need to perform load estimation and scalability planning?▼

You need load estimation and scalability planning when designing new services or refactoring existing architectures. This framework calculates scale requirements and establishes redundancy and monitoring for web-scale applications.

Does system design require explicit assumptions for requirements gathering?▼

System design requires explicit assumptions during requirements gathering to satisfy functional and non-functional constraints. This framework ensures documented trade-offs and architectural decisions are grounded in clearly stated system goals.