System Architect

Transform vague requirements into scalable software architecture designs.

42|1|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/rar-file/surf --skill system-architect-rar-file
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: System Architect
Source: https://github.com/rar-file/surf/tree/main/skills/system_architect
Command: npx skills add https://github.com/rar-file/surf --skill system-architect-rar-file

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Software architecture planning and decision-making for complex systems, transforming vague requirements into structured, scalable designs that balance quality attributes.

Core Features & Use Cases

  • Propose high-level architectures with component diagrams for multi-service systems.
  • Assess technology choices, trade-offs, and integration patterns (microservices, monoliths, event-driven approaches).
  • Address non-functional requirements such as scalability, reliability, fault tolerance, observability, and security.
  • Create decision records outlining rationale and potential risks for stakeholders.

Quick Start

Propose a high-level architecture for a system given the requirements.

Frequently Asked Questions about System Architect

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

FAQPage Schema
How do I design a scalable software architecture from vague requirements?▼

To design scalable software architecture from vague requirements, you outline high-level components, interactions, non-functional requirements, and capacity considerations to transform them into structured, maintainable designs.

What's the best way to choose between microservices and monolithic architecture patterns?▼

Choosing between microservices and monolithic architecture involves assessing technology choices, trade-offs, and integration patterns like event-driven approaches to determine which structure balances your system's quality attributes best.

How do I document architecture decisions and risk trade-offs for stakeholders?▼

You document architecture decisions and risk trade-offs for stakeholders by creating architecture decision records that outline the rationale and potential risks behind technology selections and structural choices.

How do I address non-functional requirements like fault tolerance and observability in system design?▼

Addressing fault tolerance and observability in system design requires explicitly mapping these non-functional requirements alongside scalability, reliability, and security into your high-level component interactions and architecture diagrams.

Can I use this for event-driven architecture design and capacity planning?▼

Yes, you can use this for event-driven architecture design and capacity planning, as it applies system design discussions and integration patterns to address capacity considerations and balance quality attributes.

When should I not use a distributed system design approach for my application?▼

You should reconsider a distributed system design approach when the risk trade-offs and capacity considerations outweigh the benefits, indicating a monolithic structure better balances your application's non-functional requirements.