home / skills / htlin222 / dotfiles / architect
npx playbooks add skill htlin222/dotfiles --skill architectReview the files below or copy the command above to add this skill to your agents.
---
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
```markdown
# 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