engineering-system-design

Design system architectures with requirements analysis, API contracts, and trade-off evaluation.

Updated May 26, 2026
One-click install
npx skills add https://github.com/avel123111/triplanio --skill engineering-system-design-avel123111
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: engineering-system-design
Source: https://github.com/avel123111/triplanio/tree/main/.claude/skills/engineering-system-design
Command: npx skills add https://github.com/avel123111/triplanio --skill engineering-system-design-avel123111

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It structures the process of designing systems and evaluating architectural decisions, preventing overlooked requirements, undocumented assumptions, and hidden trade-offs in system design work. ## Core Features & Use Cases - Requirements Gathering: Captures functional and non-functional requirements (scale, latency, availability, cost) plus constraints like team size and existing tech stack. - High-Level and Deep Design: Produces component diagrams, data flows, API contracts (REST, GraphQL, gRPC), data models, caching strategies, and queue/event designs. - Scale and Trade-off Analysis: Covers load estimation, scaling strategies, failover, monitoring, and explicit trade-off evaluation for every decision. - Use Case: When asked to design a notification service for a growing app, it walks through requirements, proposes an architecture with queues and retries, estimates load, and documents what to revisit as the system grows. ## Quick Start Ask the assistant to design a system for your use case, for example by saying "design a system for real-time order tracking with high availability".

Frequently Asked Questions about engineering-system-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a system architecture for a new service?

Start by gathering functional and non-functional requirements such as scale, latency, and availability, then produce a high-level design with component diagrams, data flow, and API contracts. Follow with deep dives into data models, caching, and error handling, and document trade-offs explicitly.

How to choose between REST, GraphQL, and gRPC for API design?

The choice depends on your consumers and data patterns: REST suits simple resource-based APIs, GraphQL fits clients needing flexible queries, and gRPC works best for high-performance internal service communication. Evaluate each against team familiarity, tooling, and latency requirements.

What should a system design document include?

A design document should include requirements, a component diagram, data flow, API contracts, storage choices, scaling and failover strategy, and explicit trade-off analysis. It should also state assumptions and identify what to revisit as the system grows.

When should I use horizontal vs vertical scaling?

Vertical scaling is simpler and suits early-stage systems with modest load, while horizontal scaling supports higher availability and growth at the cost of added complexity in state management and failover. Estimate load first, then choose based on growth projections and redundancy needs.

What are the limitations of a framework-based design approach?

A structured framework guides reasoning but cannot replace domain-specific benchmarks, prototyping, or load testing. Decisions like storage choice and caching strategy still require validation against real traffic patterns and infrastructure constraints.