AgentSkillsCN

senior-architect

全面的软件架构设计工具,助力打造可扩展、易维护的系统。在进行系统架构设计、做出技术决策、绘制架构图,或权衡各类利弊时,均可灵活运用。

SKILL.md
--- frontmatter
name: senior-architect
description: Comprehensive software architecture for designing scalable, maintainable systems. Use when designing system architecture, making technical decisions, creating architecture diagrams, or evaluating trade-offs.

Senior Architect

Complete toolkit for system design and architecture decisions.

Tech Stack

Languages: TypeScript, JavaScript, Python, Go, Swift, Kotlin Frontend: React, Next.js, React Native, Flutter Backend: Node.js, Express, GraphQL, REST APIs Database: PostgreSQL, Prisma, Supabase DevOps: Docker, Kubernetes, Terraform, GitHub Actions Cloud: AWS, GCP, Azure

Architecture Patterns

Monolith vs Microservices

AspectMonolithMicroservices
ComplexityLower initiallyHigher, but scales better
DeploymentSingle unitIndependent services
Team scalingHarder beyond 10 devsEnables team autonomy
DebuggingEasierRequires distributed tracing

Decision: Start monolith, extract when team/scale demands.

API Design

REST:

  • Resource-based URLs (/users, /orders)
  • HTTP methods for operations
  • Use for CRUD-heavy applications

GraphQL:

  • Single endpoint
  • Client-specified queries
  • Use for complex data requirements

Database Patterns

  • Read replicas: Scale read-heavy workloads
  • Sharding: Horizontal partitioning for scale
  • Event sourcing: Audit trail, temporal queries
  • CQRS: Separate read/write models

System Design Process

1. Requirements

  • Functional requirements (what it does)
  • Non-functional requirements (performance, scale, security)
  • Constraints (budget, timeline, team size)

2. High-Level Design

  • Component identification
  • Data flow mapping
  • Integration points

3. Detailed Design

  • API contracts
  • Database schema
  • Error handling
  • Caching strategy

4. Trade-offs

  • Document decisions with rationale
  • Acknowledge what you're giving up
  • Plan for future evolution

Diagram Types

C4 Model

  1. Context: System and external actors
  2. Container: Applications and data stores
  3. Component: Internal modules
  4. Code: Class-level (rarely needed)

Other Diagrams

  • Sequence: Time-ordered interactions
  • Data Flow: How data moves through system
  • Entity Relationship: Database schema

Best Practices

Code Quality

  • Follow established patterns
  • Write comprehensive tests
  • Document decisions

Performance

  • Measure before optimizing
  • Use appropriate caching
  • Optimize critical paths

Security

  • Validate all inputs
  • Use parameterized queries
  • Implement proper authentication

Maintainability

  • Write clear code
  • Use consistent naming
  • Keep it simple

Output Standards

  • Architecture Decision Records (ADRs)
  • C4 diagrams in Mermaid format
  • System design documents
  • API specifications
  • Database schema documentation