rsun-sysdesign

Guides architecture decisions for system design, database selection, caching, and AI/LLM integration.

Updated May 20, 2026
One-click install
npx skills add https://github.com/EZoneLai/claude-plugin-ronsunai-os --skill rsun-sysdesign-ezonelai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rsun-sysdesign
Source: https://github.com/EZoneLai/claude-plugin-ronsunai-os/tree/main/commands/rsun-sysdesign
Command: npx skills add https://github.com/EZoneLai/claude-plugin-ronsunai-os --skill rsun-sysdesign-ezonelai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Making early architecture decisions for a new project is risky and time-consuming—choosing the wrong database, architecture style, or LLM provider can cost months of rework. This Skill provides a structured decision framework that walks you through requirements gathering, architecture pattern selection, data storage, caching, API design, resilience, and AI/LLM architecture in about 30 minutes. ## Core Features & Use Cases - Phased Decision Framework: Eight phases covering requirements collection, architecture style selection (Monolith vs Modular Monolith vs Microservices), database选型, caching strategies, API design, availability patterns, message queues, and AI/LLM architecture. - AI/LLM Architecture Guidance: Covers LLM provider selection (Claude, Gemini, Groq), RAG pipeline design, vector database选型 (pgvector, Pinecone, Weaviate), embedding models, prompt caching, and cost control. - Architecture Summary Output: Produces a structured architecture summary ready to be recorded as ADRs (Architecture Decision Records) via the companion /rsun-adr command. - Use Case: When starting a new client project, invoke this Skill to systematically decide whether to use PostgreSQL or MongoDB, whether you need Redis caching, which API style fits, and how to structure the AI provider fallback cascade—then record each decision as an ADR. ## Quick Start Ask the AI to help design the system architecture for your new project using the rsun-sysdesign framework, starting from your functional and non-functional requirements.

Frequently Asked Questions about rsun-sysdesign

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

FAQPage Schema
How do I choose between monolith and microservices architecture?

Use the decision tree: small teams or MVPs should start with a Monolith, growing teams with clear business boundaries should use a Modular Monolith, and only large teams (15+ people) with strong DevOps should consider Microservices. Most projects are better served by a Modular Monolith.

How do I choose a database for a new project?

PostgreSQL is the default choice when you need ACID transactions or complex JOINs. Use MongoDB for flexible schemas, Redis for key-value and session data, Elasticsearch or pgvector for search, and TimescaleDB for time-series data.

Which vector database should I use for RAG?

If you already run PostgreSQL with under one million vectors, use pgvector to avoid a new service. For managed cloud with multi-tenancy use Pinecone, for self-hosted open source use Weaviate or Qdrant, and for Cloudflare-native stacks use Vectorize.

How do I reduce LLM API costs in production?

The biggest levers are model tiering (use cheaper models like Haiku for simple tasks), prompt caching for long system prompts (saves up to 90% on input tokens), Batch API for non-urgent jobs (50% savings), and local models via Ollama for high-volume simple tasks.

When should I use a message queue in system design?

Add a message queue when you need asynchronous processing (image handling, emails), decoupling between services, backpressure control, or guaranteed delivery like order confirmations. BullMQ on Redis suits most small projects; Kafka fits high-throughput event streaming.

What caching strategy prevents cache stampede and avalanche?

Use mutex locks or promise coalescing to prevent cache stampede when many requests miss simultaneously, write null results with a Bloom filter against cache penetration, and add random TTL jitter to prevent mass simultaneous expiration (cache avalanche).