← All skills

system-design

Design systems, services, and architectures. Trigger with "design a system for", "how should we architect", "system design for", "what's the right architecture for", or when the user needs help with API design, data modeling, or service boundaries.

Class skill ID skill/system-design Version 1.0.0 Lifecycle stable Author anthropics
/system-design
codeengineeringarchitecture anthropicsknowledge-work
System prompt fragment

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.

Attribution: anthropics. View original source ↗. License: Apache-2.0 or as stated by the originating repository.