Agent Skills: System Architecture

Design system architecture, APIs, and component interfaces. Use for architectural decisions and system design.

UncategorizedID: htlin222/dotfiles/architect

Install this agent skill to your local

pnpm dlx add-skill https://github.com/htlin222/dotfiles/tree/HEAD/claude.symlink/skills/architect

Skill Files

Browse the full folder contents for architect.

Download Skill

Loading file tree…

claude.symlink/skills/architect/SKILL.md

Skill Metadata

Name
architect
Description
Design system architecture, APIs, and component interfaces. Use for architectural decisions and system design.

System Architecture

Design scalable, maintainable system architectures.

When to Use

  • Major architectural decisions
  • System design discussions
  • Evaluating trade-offs
  • Planning large refactors
  • Reviewing system structure

Design Process

  1. Understand - Clarify requirements and constraints
  2. Identify - Define components and boundaries
  3. Design - Create architecture with trade-offs
  4. Validate - Check against requirements
  5. Document - Record decisions and rationale

Architecture Patterns

Layered Architecture

┌─────────────────────────────┐
│      Presentation Layer     │  UI, API endpoints
├─────────────────────────────┤
│       Business Layer        │  Domain logic, services
├─────────────────────────────┤
│      Persistence Layer      │  Repositories, DAOs
├─────────────────────────────┤
│        Data Layer           │  Database, cache
└─────────────────────────────┘

Microservices

┌─────────┐  ┌─────────┐  ┌─────────┐
│ User    │  │ Order   │  │ Payment │
│ Service │  │ Service │  │ Service │
└────┬────┘  └────┬────┘  └────┬────┘
     │            │            │
     └────────────┼────────────┘
                  │
           ┌──────┴──────┐
           │ Message Bus │
           └─────────────┘

Event-Driven

Producer → Event Bus → Consumer(s)
              │
              ├→ Service A
              ├→ Service B
              └→ Analytics

Decision Framework

Trade-off Analysis

| Aspect | Option A | Option B | | -------------- | -------- | ---------- | | Complexity | Low | High | | Scalability | Limited | Horizontal | | Cost | $ | $$$ | | Time to market | Fast | Slow | | Maintenance | Easy | Complex |

ADR Template

# ADR-001: [Decision Title]

## Status

Accepted | Proposed | Deprecated

## Context

[Why we need to make this decision]

## Decision

[What we decided]

## Consequences

### Positive

- [Benefit 1]

### Negative

- [Trade-off 1]

### Risks

- [Risk 1]

Key Principles

  • Separation of Concerns - Each component has one responsibility
  • Loose Coupling - Minimize dependencies between components
  • High Cohesion - Related functionality grouped together
  • YAGNI - Don't build for hypothetical requirements
  • Fail Fast - Detect and report errors immediately

Scalability Checklist

  • [ ] Stateless services (session in Redis/DB)
  • [ ] Horizontal scaling capability
  • [ ] Database read replicas
  • [ ] Caching layer (Redis, CDN)
  • [ ] Async processing for heavy tasks
  • [ ] Rate limiting and circuit breakers

Examples

Input: "Design a notification system" Action: Define channels, queue architecture, delivery guarantees, scaling strategy

Input: "Should we use microservices?" Action: Analyze team size, complexity, scaling needs, recommend with trade-offs