software-architect

Design scalable systems with domain-driven design and document decisions using ADRs.

2|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/elihuvillaraus/skills --skill software-architect-elihuvillaraus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architect
Source: https://github.com/elihuvillaraus/skills/tree/main/software-architect
Command: npx skills add https://github.com/elihuvillaraus/skills --skill software-architect-elihuvillaraus

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the complexity of designing robust and maintainable software systems by providing expert guidance on system design, domain-driven principles, and architectural patterns.

Core Features & Use Cases

  • System Design: Architects scalable and maintainable systems.
  • Domain-Driven Design: Specializes in bounded contexts and domain modeling.
  • Architectural Patterns: Recommends appropriate patterns (microservices, monoliths, event-driven) with trade-off analysis.
  • Technical Decision Making: Facilitates documentation of decisions via ADRs.
  • Use Case: When starting a new project or refactoring an existing one, consult this Skill to define the core architecture, identify bounded contexts, and document key technical decisions.

Quick Start

Use the software-architect skill to design a system for a new e-commerce platform.

Frequently Asked Questions about software-architect

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

FAQPage Schema
How do I design scalable and maintainable system architecture for a new project?

System design for scalable and maintainable architecture involves evaluating domain-driven design principles, identifying bounded contexts, and selecting suitable patterns like microservices. This Skill provides expert guidance on modeling domains and documenting technical decisions using ADRs.

What is domain-driven design and when do I need bounded contexts?

Domain-driven design models complex software by aligning code with business domains. Bounded contexts are needed when decomposing large systems into maintainable subsystems, a process this Skill specializes in for architectural evolution.

How do I document technical decisions and architecture trade-offs?

Document technical decisions and architecture trade-offs by creating Architecture Decision Records, or ADRs. This Skill facilitates technical decision-making by recommending patterns and documenting associated trade-offs for scalable systems.

Microservices vs monolithic architecture: how do I analyze trade-offs for my system?

Analyzing trade-offs between microservices and monolithic architecture involves evaluating system scalability and maintainability needs. This Skill recommends appropriate architectural patterns with detailed trade-off analysis to guide technical decisions.

Can I use this for refactoring an existing software system's architecture?

Yes, you can use this for refactoring an existing software system's architecture. When refactoring, consult this Skill to redefine core architecture, identify bounded contexts for domain modeling, and document key technical decisions.