mcpField
S
system-design

system-design

github.com/anthropicsDevelopment33.6k7.5k installsUpdated 1d ago
Repository

About system-design

system-design is a skill for designing systems and evaluating architectural decisions. It guides requirements analysis, component and data-flow design, and trade-off assessment, producing structured documents with assumptions, diagrams, and areas to revisit as a system grows.

Key features

  1. 01Gather functional and non-functional requirements
  2. 02Design components, data flows, and APIs
  3. 03Explore data models and caching strategies
  4. 04Assess scalability and reliability
  5. 05Make architectural trade-offs explicit
  6. 06Produce structured design documents and diagrams

Use cases

  1. 01Plan a new system's high-level architecture
  2. 02Compare storage, API, and caching options
  3. 03Evaluate scaling, failover, and monitoring designs

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/anthropics/knowledge-work-plugins --skill system-design

After installing, type/system-designin Claude Code to confirm it loaded.

Details

From the project README

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, GraphQL, gRPC)
  • 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.

Comments

Markdown supported