common-system-design

Review system designs for architectural best practices and microservices patterns.

Updated Jun 25, 2026
One-click install
npx skills add https://github.com/VSF-QC-TTS/vf-qc-copilot --skill common-system-design-vsf-qc-tts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: common-system-design
Source: https://github.com/VSF-QC-TTS/vf-qc-copilot/tree/main/.agents/skills/common/common-system-design
Command: npx skills add https://github.com/VSF-QC-TTS/vf-qc-copilot --skill common-system-design-vsf-qc-tts

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill helps developers enforce best practices in system design, ensuring that new features are built with separation of concerns, dependency inversion, and resilience patterns, thus improving maintainability and scalability.

Core Features & Use Cases

  • Architecture Best Practices: Encourages the use of bounded contexts, dependency direction, and communication patterns.
  • CAP Theorem: Provides guidance on consistency, availability, and partition tolerance in distributed systems.
  • Modularity & Coupling: Offers strategies for high cohesion and loose coupling.
  • Common Patterns: Explains layered, event-driven, clean/hexagonal, and stateless architectures.
  • Use Case: When designing a microservices architecture, this Skill can help in selecting the right architectural patterns and resolving scalability issues.

Quick Start

Apply the common-system-design skill to review your system's architecture and ensure it follows best practices.

Frequently Asked Questions about common-system-design

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

FAQPage Schema
How do I apply CAP theorem principles when designing microservices architecture?

Microservices architecture design enforces separation of concerns, dependency inversion, and bounded contexts to achieve loose coupling. This ensures new features maintain high cohesion and modularity, directly improving overall system maintainability and scalability.

What is the best way to structure microservices for high cohesion and loose coupling?

Microservices architecture design enforces separation of concerns, dependency inversion, and bounded contexts to achieve loose coupling. This ensures new features maintain high cohesion and modularity, directly improving overall system maintainability and scalability.

How do I choose between layered, event-driven, and clean architectural patterns?

Choosing between layered, event-driven, and clean or hexagonal architectural patterns depends on your scalability and resilience needs. This system design guidance evaluates common patterns against your requirements to determine the optimal structural approach.

Can I use these system design best practices for stateless architectures?

Yes, these system design best practices explicitly support stateless architectures alongside event-driven and layered patterns. They provide guidance on applying separation of concerns and dependency inversion to ensure your stateless components remain scalable and resilient.

When should I not use dependency inversion in distributed system design?

You should reconsider dependency inversion in distributed system design when it introduces unnecessary complexity that hinders communication patterns. While generally recommended for separation of concerns, strict adherence must be weighed against your specific modularity and scalability requirements.