system-design

Turn requirements into architectural decisions with structured design documents.

Updated Apr 23, 2026
One-click install
npx skills add https://github.com/ngochuy13/intern-dev --skill system-design-ngochuy13
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: system-design
Source: https://github.com/ngochuy13/intern-dev/tree/main/skills/system-design
Command: npx skills add https://github.com/ngochuy13/intern-dev --skill system-design-ngochuy13

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you turn vague product or engineering ideas into an actionable system architecture, with clear requirements, component/API design, and reliability trade-offs.

Core Features & Use Cases

  • Requirements to architecture: Capture functional/non-functional requirements and constraints, then translate them into a high-level design.
  • Deep design details: Specify data models, API contracts (REST/GraphQL/gRPC), caching, and queue/event behavior, including error handling and retry logic.
  • Scalability and decision making: Estimate load, propose scaling and failover strategies, and make trade-offs explicit as the system grows.

Quick Start

Ask: "Design a system for user authentication and authorization for a multi-tenant SaaS with high availability and role-based access control."

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 system architecture from product requirements?▼

Defining API contracts involves specifying REST, GraphQL, or gRPC endpoints alongside data models and queue/event behavior. Your system design must explicitly document error handling, retry logic, and service boundaries to ensure reliable component communication.

What is the best way to document trade-offs and reliability strategies for software architecture?▼

Documenting trade-offs requires estimating load and proposing scaling and failover strategies as your system grows. A reliable architecture makes these decisions explicit, balancing constraints against scalability requirements in a structured design document.

Can I use this approach for designing multi-tenant SaaS applications with role-based access control?▼

Yes, this approach applies to designing multi-tenant SaaS applications by turning high availability and role-based access control constraints into architectural decisions. It guides the creation of service boundaries and data modeling tailored to your SaaS context.

When do I need to estimate load and plan failover strategies during system design?▼

You need to estimate load and plan failover strategies when evolving applications to handle scale and reliability considerations. This ensures your architecture accommodates growth while making component and data-flow trade-offs explicit.