Skip to content

Architecture Agents

Architecture agents are specialized experts that handle design decisions at different levels of abstraction. The three-tier system separates enterprise-level, detailed design, and application-level concerns to provide focused, expert guidance at each layer.

Overview

The architecture agent system consists of three specialized agents:

  • solution-architect - Enterprise-level, multi-system architecture and cloud platform selection
  • solution-designer - Detailed technical design, API specifications, and database schemas
  • software-architect - Application-level architecture, design patterns, and code structure

The Three-Tier Architecture Model

graph TD
    SA[solution-architect<br/>30,000 ft view] --> SD[solution-designer<br/>10,000 ft view]
    SD --> SWA[software-architect<br/>1,000 ft view]

    SA --> |Enterprise Strategy| Decision1[Cloud Platform Selection<br/>Multi-System Integration<br/>Compliance & Security]
    SD --> |Technical Design| Decision2[API Specifications<br/>Database Schemas<br/>Interface Contracts]
    SWA --> |Implementation| Decision3[Code Structure<br/>Design Patterns<br/>Component Architecture]

    style SA fill:#e3f2fd
    style SD fill:#fff3e0
    style SWA fill:#e8f5e9

When to Use Which Agent

flowchart TD
    Start[Architecture Decision] --> Q1{Spans Multiple<br/>Systems?}

    Q1 -->|Yes| SolutionArch[solution-architect]
    Q1 -->|No| Q2{Need Detailed<br/>Specs?}

    Q2 -->|Yes| Designer[solution-designer]
    Q2 -->|No| Q3{Application-Level<br/>Design?}

    Q3 -->|Yes| SoftwareArch[software-architect]
    Q3 -->|No| Clarify[Clarify Requirement]

    style SolutionArch fill:#a5d6a7
    style Designer fill:#ffcc80
    style SoftwareArch fill:#90caf9

solution-architect

Name: solution-architect

Description: Expert in enterprise-level architecture, multi-system integration, cloud platform selection, technology stack decisions, and cross-cutting concerns that span multiple applications or external systems.

Expertise Areas

  • Enterprise Architecture - Business, data, application, and technology architecture
  • Multi-System Integration - API gateways, event-driven architecture, service mesh
  • Cloud Platform Selection - AWS, Azure, GCP evaluation and recommendations
  • Technology Stack Decisions - Backend frameworks, databases, messaging systems
  • Security Architecture - Zero-trust, multi-tenant patterns, compliance (GDPR, HIPAA, SOC2)
  • Scalability Strategy - Horizontal/vertical scaling, auto-scaling, multi-region deployment
  • Infrastructure Architecture - Network design, load balancing, CDN configuration
  • Compliance & Governance - Regulatory requirements, Architecture Decision Records (ADRs)

Key Decisions Handled

Cloud Platform Selection

graph TD
    Start[Cloud Selection] --> Q1{Existing Microsoft Stack?}

    Q1 -->|Yes| Azure[Azure]
    Q1 -->|No| Q2{Need Cutting-Edge AI/ML?}

    Q2 -->|Yes| GCP[Google Cloud Platform]
    Q2 -->|No| Q3{Need Mature Ecosystem?}

    Q3 -->|Yes| AWS[Amazon Web Services]
    Q3 -->|No| Compare[Compare Pricing]

    style AWS fill:#ff9800
    style Azure fill:#2196f3
    style GCP fill:#4caf50

Integration Patterns

  • API Gateway - Unified entry point for microservices (Kong, AWS API Gateway, Azure API Management)
  • Event-Driven - Asynchronous communication (Kafka, RabbitMQ, AWS SNS/SQS, Azure Service Bus)
  • Service Mesh - Service-to-service communication (Istio, Linkerd, Consul Connect)

When to Use

  • Selecting cloud platform (AWS vs Azure vs GCP)
  • Designing multi-system integration architecture
  • Making enterprise-wide technology stack decisions
  • Planning scalability across multiple systems
  • Implementing zero-trust security architecture
  • Achieving compliance requirements (GDPR, HIPAA, SOC2, PCI DSS)
  • Designing for multi-region deployment
  • System-of-systems architecture
  • Event-driven architecture across platforms

Defer To

  • solution-designer - For detailed API specifications, database schemas, component diagrams
  • software-architect - For application-level code structure, design patterns within a single app

Usage Examples

Example 1: Cloud Platform Selection

Use solution-architect to evaluate AWS, Azure, and GCP for our e-commerce platform.

Requirements:
- High traffic (1M+ daily users)
- Real-time inventory management
- Multi-region deployment (US, EU, APAC)
- PCI DSS compliance required
- Team familiar with .NET and Azure DevOps

Example 2: Multi-System Integration

Use solution-architect to design an integration architecture connecting:
- Salesforce (CRM)
- SAP (ERP)
- Custom inventory management system
- E-commerce platform (Shopify)
- Analytics platform (Snowflake)

Example 3: Enterprise Security Architecture

Use solution-architect to design a zero-trust security architecture for our SaaS platform.

Requirements:
- Multi-tenant architecture
- SSO across all applications
- SOC 2 Type II compliance
- Support for enterprise customers (SAML, AD integration)

Deliverables

When using solution-architect, expect:

  1. Architecture Decision Records (ADRs) - Documented decisions with context, alternatives, and consequences
  2. Technology Selection Matrix - Evaluation criteria, scoring, and recommendations
  3. System Context Diagrams - High-level view of systems and interactions (Mermaid)
  4. Integration Strategy - API contracts, event schemas, data flow diagrams
  5. Security Architecture - Authentication/authorization model, network security, compliance mapping
  6. Scalability Plan - Current vs target capacity, scaling triggers, cost projections

solution-designer

Name: solution-designer

Description: Expert in detailed technical design, API specifications, database schemas, interface contracts, and sequence diagrams. Bridges architecture and implementation by creating comprehensive technical specifications.

Expertise Areas

  • API Specification - OpenAPI 3.0, GraphQL schemas, tRPC contracts
  • Database Schema Design - Relational modeling, normalization, indexing strategy
  • Prisma Schema - Complete Prisma models with relations, enums, and constraints
  • Sequence Diagrams - Detailed workflow and interaction diagrams
  • Component Diagrams - Frontend/backend interaction, module boundaries
  • Data Flow Diagrams - End-to-end data movement and transformation
  • Interface Contracts - TypeScript interfaces for service-to-service communication
  • Technical Design Documents - Comprehensive TDDs with all technical details

Key Deliverables

API Specifications

Complete OpenAPI 3.0 specifications including:

  • All endpoints with HTTP methods
  • Request/response schemas
  • Authentication requirements
  • Error responses
  • Rate limiting
  • Examples and descriptions

Database Schemas

erDiagram
    User ||--o{ Order : places
    User ||--o{ Review : writes
    Order ||--|{ OrderItem : contains
    Product ||--o{ OrderItem : ordered
    Product ||--o{ Review : receives

    User {
        uuid id PK
        string email UK
        string name
        timestamp createdAt
    }

    Order {
        uuid id PK
        uuid userId FK
        decimal total
        string status
        timestamp createdAt
    }

    Product {
        uuid id PK
        string name
        string description
        decimal price
        int stock
    }

Sequence Diagrams

Detailed workflow diagrams showing:

  • User interactions
  • Service calls
  • Database operations
  • External API calls
  • Error handling paths

When to Use

  • Creating OpenAPI specifications for REST APIs
  • Designing database schemas with proper normalization
  • Writing Prisma schemas with all relations and constraints
  • Creating detailed sequence diagrams for complex workflows
  • Designing service-to-service interface contracts
  • Documenting data flow across systems
  • Creating comprehensive Technical Design Documents (TDDs)
  • Specifying component interactions

Defer To

  • solution-architect - For enterprise-level decisions, cloud platform selection, multi-system strategy
  • software-architect - For code organization, design pattern selection, application structure

Usage Examples

Example 1: API Specification

Use solution-designer to create a complete OpenAPI 3.0 specification for our User Management API.

Features:
- User registration and authentication
- Profile management
- Password reset
- Email verification
- Role-based access control

Example 2: Database Schema Design

Use solution-designer to design a normalized database schema for an e-commerce platform.

Requirements:
- Users, products, orders, reviews
- Support for product variants (size, color)
- Order history with status tracking
- Multiple shipping addresses per user
- Inventory management

Example 3: Technical Design Document

Use solution-designer to create a comprehensive TDD for our payment processing integration.

Include:
- Sequence diagrams for checkout flow
- API specifications for payment endpoints
- Database schema for transactions
- Error handling strategies
- Security considerations

Deliverables

When using solution-designer, expect:

  1. OpenAPI 3.0 Specifications - Complete API documentation
  2. Prisma Schemas - Full database models with relations
  3. ER Diagrams - Entity-relationship diagrams (Mermaid)
  4. Sequence Diagrams - Detailed interaction flows (Mermaid)
  5. Component Diagrams - System component relationships (Mermaid)
  6. Technical Design Documents - Comprehensive specifications
  7. Interface Contracts - TypeScript types for all services

software-architect

Name: software-architect

Description: Expert in application-level architecture, design patterns, code structure, and scalability within a single application or bounded context. Focuses on Next.js app structure, component design, caching strategies, and code organization.

Expertise Areas

  • Next.js Architecture - App Router structure, Server/Client Components, layout organization
  • Design Patterns - Repository, Service, Factory, Strategy, Observer patterns
  • Code Organization - Feature-based vs layer-based architecture, module boundaries
  • Monolith vs Microservices - When to use each pattern
  • Caching Strategies - Multi-layer caching (CDN, server, database, application)
  • API Design - REST, tRPC, GraphQL selection and implementation
  • Database Patterns - Repository pattern, N+1 prevention, connection pooling
  • Resilience Patterns - Circuit breaker, retry logic, graceful degradation
  • Event-Driven Architecture - Event sourcing, CQRS within an application

Key Decisions Handled

Monolith vs Microservices

flowchart TD
    Start[Architecture Decision] --> Q1{Team Size?}

    Q1 -->|1-5 devs| Monolith[Monolith]
    Q1 -->|5+ devs| Q2{Deployment<br/>Independence?}

    Q2 -->|Required| Microservices[Microservices]
    Q2 -->|Not Required| Q3{Scaling<br/>Requirements?}

    Q3 -->|Different per module| Microservices
    Q3 -->|Uniform| Modular[Modular Monolith]

    style Monolith fill:#4caf50
    style Microservices fill:#2196f3
    style Modular fill:#ff9800

Caching Strategy

sequenceDiagram
    participant Client
    participant CDN
    participant Server
    participant AppCache
    participant DB

    Client->>CDN: Request /blog/post-1

    alt CDN Cache Hit
        CDN-->>Client: Return cached page
    else CDN Cache Miss
        CDN->>Server: Forward request

        alt Server Cache Hit
            Server-->>CDN: Return cached data
        else Server Cache Miss
            Server->>AppCache: Check Redis

            alt App Cache Hit
                AppCache-->>Server: Return data
            else App Cache Miss
                Server->>DB: Query database
                DB-->>Server: Return data
                Server->>AppCache: Cache result
            end

            Server-->>CDN: Return response
        end

        CDN->>CDN: Cache response
        CDN-->>Client: Return response
    end

When to Use

  • Designing Next.js application structure
  • Choosing between App Router patterns (Server vs Client Components)
  • Implementing design patterns (Repository, Service, Factory)
  • Planning application-level caching strategies
  • Organizing code structure (feature-based vs layer-based)
  • Making monolith vs microservices decisions
  • Designing REST, tRPC, or GraphQL APIs
  • Implementing resilience patterns (circuit breaker, retry)
  • Preventing N+1 database queries
  • Future-proofing application architecture

Defer To

  • solution-architect - For enterprise-level decisions, multi-system integration, cloud platform selection
  • solution-designer - For detailed API specs, database schemas, sequence diagrams

Usage Examples

Example 1: Next.js App Structure

Use software-architect to design the folder structure for a Next.js 15 SaaS application.

Features:
- Multi-tenant (organization-based)
- Admin dashboard
- Public marketing site
- User dashboard
- API routes with tRPC
- Shared component library

Example 2: Caching Strategy

Use software-architect to design a comprehensive caching strategy for our e-commerce platform.

Requirements:
- Product catalog (10,000+ products)
- Real-time inventory
- User sessions
- Shopping cart
- Frequently accessed data

Example 3: Design Pattern Selection

Use software-architect to recommend design patterns for our data access layer.

Context:
- Next.js with Prisma
- Multiple database operations per request
- Need for transaction support
- Want to avoid N+1 queries
- Future: May switch from PostgreSQL to MongoDB

Deliverables

When using software-architect, expect:

  1. Folder Structure Diagrams - Complete directory organization (Mermaid)
  2. Design Pattern Examples - Code examples with TypeScript
  3. Architecture Decision Rationale - Why monolith vs microservices, etc.
  4. Caching Strategy Diagrams - Multi-layer caching flows (Mermaid)
  5. API Design Recommendations - REST vs tRPC vs GraphQL with rationale
  6. Database Access Patterns - Repository pattern, N+1 prevention
  7. Resilience Patterns - Circuit breaker, retry logic examples

Agent Coordination

The three architecture agents work together in a coordinated flow:

sequenceDiagram
    participant User
    participant SA as solution-architect
    participant SD as solution-designer
    participant SWA as software-architect
    participant Dev as Developer

    User->>SA: Design enterprise architecture
    SA->>SA: Cloud platform selection<br/>Multi-system integration<br/>Security architecture
    SA->>User: Enterprise architecture<br/>ADRs, tech stack

    User->>SD: Create detailed specs
    SD->>SD: API specifications<br/>Database schemas<br/>Sequence diagrams
    SD->>User: Technical design docs<br/>OpenAPI specs, ER diagrams

    User->>SWA: Design application structure
    SWA->>SWA: Next.js architecture<br/>Design patterns<br/>Code organization
    SWA->>User: Application architecture<br/>Folder structure, patterns

    User->>Dev: Implement features

Decision Matrix

Use this matrix to determine which agent to use:

Question solution-architect solution-designer software-architect
Spans multiple systems?
Need cloud platform selection?
Enterprise compliance required?
Need detailed API specs?
Need database schema design?
Need sequence diagrams?
Single application design?
Need design patterns?
Code organization?
Caching strategy?

Best Practices

1. Start at the Right Level

flowchart LR
    Enterprise[Enterprise Project] --> SA[solution-architect]
    Single[Single App] --> SWA[software-architect]
    Details[Need Specs] --> SD[solution-designer]

    SA --> SD
    SD --> SWA
    SWA --> Implement[Implementation]

2. Use in Sequence for Complex Projects

For large projects, use all three agents in sequence:

  1. solution-architect - Establish enterprise strategy, cloud platform, integration patterns
  2. solution-designer - Create detailed specifications, API contracts, database schemas
  3. software-architect - Design application structure, select design patterns, organize code

3. Leverage Handoffs

Each agent explicitly states when to defer to another:

  • solution-architect defers detailed specs to solution-designer
  • solution-designer defers code organization to software-architect
  • software-architect defers multi-system integration to solution-architect

4. Document All Decisions

All architecture agents emphasize documentation:

  • solution-architect creates Architecture Decision Records (ADRs)
  • solution-designer creates Technical Design Documents (TDDs)
  • software-architect documents design patterns and rationale

Common Scenarios

Scenario 1: New Enterprise Application

User Goal: Build a new multi-tenant SaaS platform

Agent Flow:

  1. solution-architect - Choose cloud platform (AWS), design multi-tenant architecture, plan scalability
  2. solution-designer - Create API specifications, design database schema with tenant isolation
  3. software-architect - Design Next.js app structure, implement Repository pattern, plan caching

Scenario 2: Microservices Migration

User Goal: Split monolith into microservices

Agent Flow:

  1. solution-architect - Design service boundaries, choose service mesh, plan event-driven communication
  2. solution-designer - Define service interface contracts, design inter-service APIs
  3. software-architect - Refactor monolith modules, implement anti-corruption layers

Scenario 3: Single Application

User Goal: Build a simple blog platform

Agent Flow:

  1. software-architect - Design Next.js app structure, choose design patterns, plan caching
  2. solution-designer - Create API specs for blog endpoints, design database schema
  3. Implementation - No need for solution-architect (single system)

Summary

Architecture agents provide:

  • Separation of Concerns - Enterprise, design, and application levels
  • Expert Guidance - Focused expertise at each abstraction level
  • Clear Handoffs - Explicit deferral between agents
  • Comprehensive Coverage - From cloud selection to code organization
  • Documentation - ADRs, TDDs, diagrams at every level

Next Steps