System Design Interview Skill

Structure a complete system design answer for interview questions or real architecture sessions.

System Design Interview Skill — The Skill Playground: pick the Executive Update skill, fill in a few notes, hit run, and watch a structured executive… (from the mohitagw15856/pm-claude-skills README)

From the mohitagw15856/pm-claude-skills README — shows the whole collection, not only this skill. · view on GitHub

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/system-design-interview.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit mohitagw15856/pm-claude-skills/skills/system-design-interview#main ~/.claude/skills/system-design-interview

For one project only, change the path to .claude/skills/system-design-interview.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of System Design Interview Skill

Show the full text142 lines
namedescription
system-design-interviewStructure a complete system design answer for interview questions or real architecture sessions. Use when asked to design a system, answer a system design interview question, or architect a solution at scale. Produces a structured answer covering requirements, capacity estimates, high-level design, component deep-dives, trade-offs, and follow-up considerations.

System Design Interview Skill

Structures a complete, interview-grade system design response — covering clarifying questions, requirements, capacity estimates, architecture, component design, and trade-offs. Works equally well for real architecture sessions.

Required Inputs

Ask for these if not provided:

  • The system to design (e.g. "design a URL shortener", "design a notification service", "design Twitter's feed")
  • Scope (interview prep / real architecture decision / practice run)
  • Scale target (rough numbers: DAU, requests/sec, data volume — or "assume typical web scale")
  • Constraints or priorities (e.g. prioritise availability over consistency, minimise cost, low-latency reads)
  • Time available (interview context only: 30 / 45 / 60 minutes — skip for real architecture sessions)
  • Emphasis (optional — any area to go deeper on, e.g. "focus on the DB design" or "spend more time on scaling")

Output Format

1. Clarifying Questions

Before designing, list 4–6 questions that would change the design. Examples:

  • Read-heavy or write-heavy? (affects caching and DB choice)
  • Global or single-region? (affects latency requirements)
  • Strong or eventual consistency? (affects storage and replication)
  • Acceptable latency targets? (p50 / p99)
  • Any existing infrastructure constraints?

Then proceed with stated assumptions if answering an interview question.

2. Functional Requirements

Core features (must have):

  • [Feature 1]
  • [Feature 2]
  • [Feature 3]

Out of scope (for this design):

  • [What's deliberately excluded and why]
3. Non-Functional Requirements
Requirement Target
Availability [e.g. 99.9% / 99.99%]
Latency [e.g. p95 < 100ms for reads]
Throughput [e.g. 10k writes/sec peak]
Consistency [Strong / Eventual]
Durability [e.g. 99.999% — no data loss]
4. Capacity Estimation

Traffic:

  • DAU: [X]
  • Reads/sec: [X] (peak: [X])
  • Writes/sec: [X] (peak: [X])

Storage:

  • Per record size: [X bytes]
  • Records per day: [X]
  • 5-year storage: [X GB/TB]

Bandwidth:

  • Inbound: [X MB/s]
  • Outbound: [X MB/s]
5. High-Level Architecture

Draw an ASCII diagram specific to this system. Do not default to the client→CDN→LB→API→Cache→DB template unless it genuinely applies. Label each component with the specific technology chosen (e.g. "Kafka" not "Message Queue", "PostgreSQL" not "DB"). Describe each component in 1–2 sentences explaining its role and why that technology was chosen.

6. Component Deep-Dive

Pick the 2–3 most critical/interesting components and go deep:

[Component 1: e.g. Database Layer]

  • Choice: [Technology and why — e.g. PostgreSQL for ACID guarantees, Cassandra for write throughput]
  • Schema design (high-level): [Key tables/collections and their structure]
  • Indexing strategy: [What gets indexed and why]
  • Replication: [Primary-replica / Multi-primary — and why]

[Component 2: e.g. Caching Strategy]

  • Cache type: [Redis / Memcached — and why]
  • What gets cached: [Hot data — e.g. user sessions, frequent reads]
  • Cache invalidation: [TTL / Write-through / Write-behind — trade-offs]
  • Cache hit rate target: [e.g. 95%]

[Component 3: e.g. API Design]

  • Key endpoints: [List the 3–5 most important API calls]
  • Authentication: [JWT / OAuth / API keys]
  • Rate limiting: [Where and at what rate]
7. Data Flow

Walk through the two most critical paths end-to-end:

Write path: [Step 1 → Step 2 → Step 3...] Read path: [Step 1 → Step 2 → Step 3...]

8. Scaling Bottlenecks and Mitigations
Bottleneck Mitigation
[e.g. DB write throughput] [e.g. sharding by user_id, write batching]
[e.g. Hot-key cache misses] [e.g. local in-process cache, probabilistic early expiry]
[e.g. Single region latency] [e.g. multi-region deployment, GeoDNS routing]
9. Trade-offs and Alternatives

Be explicit about what was chosen and what was sacrificed:

Decision Why Trade-off
[e.g. Eventual consistency] [Higher availability, lower latency] [Stale reads possible]
[e.g. SQL over NoSQL] [Complex queries, ACID transactions] [Harder to shard horizontally]
[e.g. Async processing via queue] [Decoupled, more resilient] [Eventual delivery, harder to debug]
10. Follow-up Considerations

Things to tackle in production but out of scope for this design session:

  • Monitoring and alerting (what metrics matter)
  • Disaster recovery and backup strategy
  • Security (auth, encryption at rest/transit, rate limiting)
  • Cost optimisation at scale
  • Gradual rollout and feature flagging

Quality Checks

  • Clarifying questions are design-changing (not generic filler)
  • Capacity estimates show the arithmetic: DAU → requests/day → requests/sec → storage per record → total storage, so the numbers can be sanity-checked
  • Every row in the Trade-offs table has a non-empty Trade-off column (no rows where the trade-off is blank or says "none")
  • At least 2 component deep-dives with technology choices justified
  • Trade-offs section is honest (not just benefits of chosen approach)
  • Data flow is described end-to-end for the critical path

Anti-Patterns

  • Do not jump to solutions before clarifying requirements — always establish functional and non-functional requirements first
  • Do not present a design without discussing trade-offs — every architecture decision has costs and benefits that must be acknowledged
  • Do not use vague capacity estimates — show the actual calculation (QPS, storage bytes, bandwidth) not just "this handles scale"
  • Do not design for unlimited scale by default — match the design to the requirements stated
  • Do not skip the data model — a system design without entity definitions and data flow is incomplete

Usage Examples

  • "Help me answer a system design interview: [question]"
  • "Design [system] for a system design interview"
  • "How would I architect [system] at scale?"
  • "I have a system design interview — the question is [X]"
  • "Design a [URL shortener / chat system / notification service / feed]"
1---
2name: system-design-interview
3description: "Structure a complete system design answer for interview questions or real architecture sessions. Use when asked to design a system, answer a system design interview question, or architect a solution at scale. Produces a structured answer covering requirements, capacity estimates, high-level design, component deep-dives, trade-offs, and follow-up considerations."
4---
5 
6# System Design Interview Skill
7 
8Structures a complete, interview-grade system design response — covering clarifying questions, requirements, capacity estimates, architecture, component design, and trade-offs. Works equally well for real architecture sessions.
9 
10## Required Inputs
11 
12Ask for these if not provided:
13- **The system to design** (e.g. "design a URL shortener", "design a notification service", "design Twitter's feed")
14- **Scope** (interview prep / real architecture decision / practice run)
15- **Scale target** (rough numbers: DAU, requests/sec, data volume — or "assume typical web scale")
16- **Constraints or priorities** (e.g. prioritise availability over consistency, minimise cost, low-latency reads)
17- **Time available** (interview context only: 30 / 45 / 60 minutes — skip for real architecture sessions)
18- **Emphasis** (optional — any area to go deeper on, e.g. "focus on the DB design" or "spend more time on scaling")
19 
20## Output Format
21 
22### 1. Clarifying Questions
23Before designing, list 4–6 questions that would change the design. Examples:
24- Read-heavy or write-heavy? (affects caching and DB choice)
25- Global or single-region? (affects latency requirements)
26- Strong or eventual consistency? (affects storage and replication)
27- Acceptable latency targets? (p50 / p99)
28- Any existing infrastructure constraints?
29 
30Then proceed with stated assumptions if answering an interview question.
31 
32### 2. Functional Requirements
33**Core features (must have):**
34- [Feature 1]
35- [Feature 2]
36- [Feature 3]
37 
38**Out of scope (for this design):**
39- [What's deliberately excluded and why]
40 
41### 3. Non-Functional Requirements
42| Requirement | Target |
43|---|---|
44| Availability | [e.g. 99.9% / 99.99%] |
45| Latency | [e.g. p95 < 100ms for reads] |
46| Throughput | [e.g. 10k writes/sec peak] |
47| Consistency | [Strong / Eventual] |
48| Durability | [e.g. 99.999% — no data loss] |
49 
50### 4. Capacity Estimation
51**Traffic:**
52- DAU: [X]
53- Reads/sec: [X] (peak: [X])
54- Writes/sec: [X] (peak: [X])
55 
56**Storage:**
57- Per record size: [X bytes]
58- Records per day: [X]
59- 5-year storage: [X GB/TB]
60 
61**Bandwidth:**
62- Inbound: [X MB/s]
63- Outbound: [X MB/s]
64 
65### 5. High-Level Architecture
66 
67Draw an ASCII diagram specific to this system. Do not default to the client→CDN→LB→API→Cache→DB template unless it genuinely applies. Label each component with the specific technology chosen (e.g. "Kafka" not "Message Queue", "PostgreSQL" not "DB"). Describe each component in 1–2 sentences explaining its role and why that technology was chosen.
68 
69### 6. Component Deep-Dive
70 
71Pick the 2–3 most critical/interesting components and go deep:
72 
73**[Component 1: e.g. Database Layer]**
74- Choice: [Technology and why — e.g. PostgreSQL for ACID guarantees, Cassandra for write throughput]
75- Schema design (high-level): [Key tables/collections and their structure]
76- Indexing strategy: [What gets indexed and why]
77- Replication: [Primary-replica / Multi-primary — and why]
78 
79**[Component 2: e.g. Caching Strategy]**
80- Cache type: [Redis / Memcached — and why]
81- What gets cached: [Hot data — e.g. user sessions, frequent reads]
82- Cache invalidation: [TTL / Write-through / Write-behind — trade-offs]
83- Cache hit rate target: [e.g. 95%]
84 
85**[Component 3: e.g. API Design]**
86- Key endpoints: [List the 3–5 most important API calls]
87- Authentication: [JWT / OAuth / API keys]
88- Rate limiting: [Where and at what rate]
89 
90### 7. Data Flow
91Walk through the two most critical paths end-to-end:
92 
93**Write path:** [Step 1 → Step 2 → Step 3...]
94**Read path:** [Step 1 → Step 2 → Step 3...]
95 
96### 8. Scaling Bottlenecks and Mitigations
97| Bottleneck | Mitigation |
98|---|---|
99| [e.g. DB write throughput] | [e.g. sharding by user_id, write batching] |
100| [e.g. Hot-key cache misses] | [e.g. local in-process cache, probabilistic early expiry] |
101| [e.g. Single region latency] | [e.g. multi-region deployment, GeoDNS routing] |
102 
103### 9. Trade-offs and Alternatives
104Be explicit about what was chosen and what was sacrificed:
105 
106| Decision | Why | Trade-off |
107|---|---|---|
108| [e.g. Eventual consistency] | [Higher availability, lower latency] | [Stale reads possible] |
109| [e.g. SQL over NoSQL] | [Complex queries, ACID transactions] | [Harder to shard horizontally] |
110| [e.g. Async processing via queue] | [Decoupled, more resilient] | [Eventual delivery, harder to debug] |
111 
112### 10. Follow-up Considerations
113Things to tackle in production but out of scope for this design session:
114- Monitoring and alerting (what metrics matter)
115- Disaster recovery and backup strategy
116- Security (auth, encryption at rest/transit, rate limiting)
117- Cost optimisation at scale
118- Gradual rollout and feature flagging
119 
120## Quality Checks
121- [ ] Clarifying questions are design-changing (not generic filler)
122- [ ] Capacity estimates show the arithmetic: DAU → requests/day → requests/sec → storage per record → total storage, so the numbers can be sanity-checked
123- [ ] Every row in the Trade-offs table has a non-empty Trade-off column (no rows where the trade-off is blank or says "none")
124- [ ] At least 2 component deep-dives with technology choices justified
125- [ ] Trade-offs section is honest (not just benefits of chosen approach)
126- [ ] Data flow is described end-to-end for the critical path
127 
128## Anti-Patterns
129 
130- [ ] Do not jump to solutions before clarifying requirements — always establish functional and non-functional requirements first
131- [ ] Do not present a design without discussing trade-offs — every architecture decision has costs and benefits that must be acknowledged
132- [ ] Do not use vague capacity estimates — show the actual calculation (QPS, storage bytes, bandwidth) not just "this handles scale"
133- [ ] Do not design for unlimited scale by default — match the design to the requirements stated
134- [ ] Do not skip the data model — a system design without entity definitions and data flow is incomplete
135 
136## Usage Examples
137- "Help me answer a system design interview: [question]"
138- "Design [system] for a system design interview"
139- "How would I architect [system] at scale?"
140- "I have a system design interview — the question is [X]"
141- "Design a [URL shortener / chat system / notification service / feed]"
142 

Discussion

Alternatives

Also in User researchSee all 277 in Product →