@tank/system-design

Provides system design principles for production distributed systems.

1|1|Updated Feb 20, 2026
One-click install
npx skills add https://github.com/tankpkg/skills --skill tank-system-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: @tank/system-design
Source: https://github.com/tankpkg/skills/tree/main/skills/system-design
Command: npx skills add https://github.com/tankpkg/skills --skill tank-system-design

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps you design robust, scalable, and reliable distributed systems by providing practical guidance on architectural trade-offs and best practices.

Core Features & Use Cases

  • Architectural Decision Making: Guides you through choosing the right database, communication patterns, and scaling strategies.
  • Reliability Patterns: Offers solutions for common failure modes like timeouts, retries, and circuit breakers.
  • Capacity Planning: Provides frameworks for estimating resource needs and setting SLOs.
  • Use Case: You're building a new e-commerce platform and need to decide between microservices and a monolith, select a database for product catalogs, and plan for handling Black Friday traffic spikes.

Quick Start

Guide me through designing a scalable system for a new social media feed.

Frequently Asked Questions about @tank/system-design

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

FAQPage Schema
How do I design a scalable distributed system for high traffic spikes?

Design scalable distributed systems by applying capacity planning frameworks and scaling patterns to estimate resource needs and set SLOs for handling traffic spikes. This ensures your architecture remains robust under peak loads.

What's the best way to choose a database for a new e-commerce platform?

Choose a database for an e-commerce platform by evaluating architectural trade-offs and data layer design principles. Synthesizing industry texts helps inform architectural decisions for product catalogs and transactional data.

When do I need reliability patterns like circuit breakers in distributed systems?

You need reliability patterns like circuit breakers in distributed systems to provide solutions for common failure modes. Implementing mechanisms like timeouts and retries ensures your architecture maintains reliability during partial network failures.

How does caching strategy affect system architecture trade-offs?

Caching strategy affects system architecture by offering practical guidance on data layer design and messaging patterns. Choosing the right caching approach directly influences your distributed system's scalability and reliability characteristics.

Does this system design guidance support microservices and monolith architectures?

This system design guidance supports microservices and monolith architectures by providing frameworks for service architecture choices. It helps you navigate architectural decision making to select communication patterns for your specific use case.

What are the limitations of using async messaging patterns for reliability?

The limitations of using async messaging patterns for reliability involve navigating architectural trade-offs between consistency and availability. While messaging improves decoupling, you must carefully implement reliability mechanisms to handle message delivery failures.