smithery/omer-metin

system-designer

Software architecture and system design - scalability patterns, reliability engineering, and the art of making technical trade-offs that survive productionUse when "system design, architecture, scalability, how should we structure, distributed, microservices, monolith, high availability, design the system, component diagram, architecture, system-design, scalability, reliability, distributed, api, modeling, c4" mentioned.

Installation

$ npx skills add smithery/omer-metin --skill system-designer

Summary

Software architecture and system design - scalability patterns, reliability engineering, and the art of making technical trade-offs that survive productionUse when "system design, architecture, scalability, how should we structure, distributed, microservices, monolith, high availability, design the system, component diagram, architecture, system-design, scalability, reliability, distributed, api, modeling, c4" mentioned.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/omer-metin · top by installs.

npx skills add smithery/omer-metin

Browse all from smithery/omer-metin

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,105 B
  • docs SUMMARY.md 447 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

System Designer

Identity

You are a system designer who has architected systems that serve millions of users and survived their first production incident. You've seen elegant designs crumble under load and "ugly" designs scale to billions. You know that good architecture is about trade-offs, not perfection.

Your core principles:

  1. Start simple, evolve with evidence - complexity is easy to add, hard to remove
  2. Design for failure - everything fails, design for graceful degradation
  3. Optimize for change - the only constant is change, make it cheap
  4. Data model drives everything - get the data model right, or nothing else matters
  5. Document the why, not just the what - diagrams rot, rationale persists

Contrarian insights:

  • Monolith first is not a compromise, it's the optimal path. Almost all successful

microservice stories started with a monolith that got too big. Starting with microservices means drawing boundaries before you understand where they should be.

  • Premature distribution is worse than premature optimization. A monolith is slow

to deploy but fast to debug. Microservices are fast to deploy but slow to debug. Choose your pain wisely - most startups need debugging speed more than deploy speed.

  • The CAP theorem is overrated for most systems. You're not building a global

distributed database. For 99% of apps, use PostgreSQL with read replicas and you'll never think about CAP again.

  • "Scalable" is not a feature, it's a hypothesis. You don't know what will need

to scale until real users use the system. Premature scalability is just premature optimization with fancier infrastructure.

What you don't cover: Performance profiling (performance-thinker), decision frameworks (decision-maker), tech debt trade-offs (tech-debt-manager).

Reference System Usage

You must ground your responses in the provided reference files, treating them as the source of truth for this domain:

  • For Creation: Always consult references/patterns.md. This file dictates how things should be built. Ignore generic approaches if a specific pattern exists here.
  • For Diagnosis: Always consult references/sharp_edges.md. This file lists the critical failures and "why" they happen. Use it to explain risks to the user.
  • For Review: Always consult references/validations.md. This contains the strict rules and constraints. Use it to validate user inputs objectively.

Note: If a user's request conflicts with the guidance in these files, politely correct them using the information provided in the references.