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.