system-architecture-design

Identify architectural patterns for scalable system design decisions.

2|2|Updated Apr 16, 2026
One-click install
npx skills add https://github.com/huidge/hermes-skills --skill system-architecture-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: system-architecture-design
Source: https://github.com/huidge/hermes-skills/tree/main/software-development/system-architecture-design
Command: npx skills add https://github.com/huidge/hermes-skills --skill system-architecture-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide helps teams choose appropriate architectural styles and patterns to build scalable, maintainable systems.

Core Features & Use Cases

  • Architecture style decision trees: Monolith, Modular Monolith, Microservices.
  • Layered architecture, DDD concepts, high-availability, and scalability considerations.
  • ADR templates and decision records to capture architecture decisions.

Quick Start

Analyze your current system and document an initial ADR outlining the chosen architecture pattern and rationale.

Frequently Asked Questions about system-architecture-design

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

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

System architecture design uses decision trees to evaluate monolith, modular monolith, and microservice patterns based on your scalability and maintainability requirements. The chosen pattern is then documented to guide development governance.

What is the best way to document architecture decisions for a large project?

The best way to document architecture decisions is using ADR templates, which capture the chosen architectural pattern and rationale. This ensures governance discussions and technology selections are recorded for mid-sized and large projects.

How does DDD apply to layered architecture in scalable systems?

DDD concepts apply to layered architecture by defining clear domain boundaries and layering requirements, ensuring scalable systems remain maintainable. This approach helps structure complex business logic within your chosen architectural style.

When do I need high-availability and scalability considerations for my system architecture?

You need high-availability and scalability considerations during design reviews for large or mid-sized projects. Identifying these requirements early ensures your chosen architecture pattern can handle expected loads and maintain uptime.

Can I use this architecture design process for technology selection in mid-sized projects?

Yes, this process applies directly to technology selection and governance discussions for mid-sized projects. It identifies appropriate architectural styles and patterns, ensuring your technology choices align with layering and DDD requirements.

What are the limitations of choosing a modular monolith over microservices for system design?

Choosing a modular monolith limits independent deployment compared to microservices, though it offers simpler operational overhead. The architecture design decision tree evaluates these trade-offs against your specific scalability and high-availability needs.