$npx -y skills add anthropics/knowledge-work-plugins --skill system-designDesign 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.
| 1 | # System Design |
| 2 | |
| 3 | Help design systems and evaluate architectural decisions. |
| 4 | |
| 5 | ## Framework |
| 6 | |
| 7 | ### 1. Requirements Gathering |
| 8 | - Functional requirements (what it does) |
| 9 | - Non-functional requirements (scale, latency, availability, cost) |
| 10 | - Constraints (team size, timeline, existing tech stack) |
| 11 | |
| 12 | ### 2. High-Level Design |
| 13 | - Component diagram |
| 14 | - Data flow |
| 15 | - API contracts |
| 16 | - Storage choices |
| 17 | |
| 18 | ### 3. Deep Dive |
| 19 | - Data model design |
| 20 | - API endpoint design (REST, GraphQL, gRPC) |
| 21 | - Caching strategy |
| 22 | - Queue/event design |
| 23 | - Error handling and retry logic |
| 24 | |
| 25 | ### 4. Scale and Reliability |
| 26 | - Load estimation |
| 27 | - Horizontal vs. vertical scaling |
| 28 | - Failover and redundancy |
| 29 | - Monitoring and alerting |
| 30 | |
| 31 | ### 5. Trade-off Analysis |
| 32 | - Every decision has trade-offs. Make them explicit. |
| 33 | - Consider: complexity, cost, team familiarity, time to market, maintainability |
| 34 | |
| 35 | ## Output |
| 36 | |
| 37 | 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. |