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.
Works with
--- name: system-design description: 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. license: Apache-2.0 --- # 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.
More Architecture skills
architecture-decision-records
wshobson/agents
Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.
microservices-patterns
wshobson/agents
Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.
clickhouse-architecture-advisor
clickhouse/agent-skills
MUST USE when designing ClickHouse architectures, selecting between ingestion or modeling patterns, or translating best practices into workload-specific system designs. Complements clickhouse-best-practices with decision frameworks and explicit provenance labels.

