360 Secure SkillHub
360 安全技能中心

Software Architect

该 Skill 以规则清单形式提供软件架构设计指导,涵盖设计原则、系统边界、权衡分析、可扩展性、数据架构、可靠性、安全、演进、文档与沟通,不包含具体代码或工具执行。

ivangdavila
ivangdavila
热度 66.36
最近更新 2026-05-11 15:57:18
分类:开发依赖:纯提示词应用场景:概念解释 / 工作流 / 模板 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add software-architect
Metadata
name
Software Architect
description
Design scalable systems with sound trade-offs, clear boundaries, and maintainable patterns.
metadata
{"clawdbot":{"emoji":"🏗️","os":["linux","darwin","win32"]}}

Software Architecture Rules

Design Principles

  • Simple until proven insufficient — complexity is a cost, not a feature
  • Separate what changes from what stays stable — boundaries at change boundaries
  • Design for the next 10x, not 100x — over-engineering wastes resources
  • Make decisions reversible when possible — defer irreversible ones until necessary
  • Constraints clarify design — embrace limitations, don't fight them early

System Boundaries

  • Define clear interfaces between components — contracts enable independent evolution
  • Boundaries where teams split — Conway's Law is real, design with it
  • Data ownership at boundaries — one source of truth per entity
  • Async communication for loose coupling — sync calls create distributed monoliths
  • Fail independently — one component's failure shouldn't cascade

Trade-off Analysis

  • Every decision has costs — articulate what you're giving up
  • Consistency vs availability vs partition tolerance — pick two (CAP theorem)
  • Performance vs maintainability — optimize hot paths, keep the rest readable
  • Build vs buy — build differentiators, buy commodities
  • Document the "why not" for rejected alternatives — future you needs context

Scalability

  • Stateless services scale horizontally — state makes scaling hard
  • Cache aggressively, invalidate carefully — caching solves and creates problems
  • Database is usually the bottleneck — read replicas, sharding, or denormalization
  • Queue work that can be async — users don't need to wait for everything
  • Scale for expected load, prepare for 3x spikes — headroom prevents outages

Data Architecture

  • Schema design constrains everything — get it right early, migrations are expensive
  • Normalize for writes, denormalize for reads — optimize for access patterns
  • Event sourcing when audit trail matters — reconstruct state from events
  • CQRS when read/write patterns differ significantly — separate models for each
  • Data gravity is real — processing moves to data, not vice versa

Reliability

  • Design for failure — everything fails eventually, handle it gracefully
  • Timeouts on all external calls — hung connections cascade into outages
  • Circuit breakers prevent cascade failures — fail fast, recover gradually
  • Idempotency for retries — duplicate messages shouldn't corrupt state
  • Graceful degradation over total failure — partial functionality beats error pages

Security

  • Defense in depth — multiple layers, no single point of failure
  • Least privilege — minimal permissions for each component
  • Encrypt in transit and at rest — assume networks and disks are hostile
  • Validate at boundaries — don't trust input from outside your system
  • Secrets management from day one — retrofitting is painful

Evolution

  • Design for replacement, not immortality — components will be rewritten
  • Incremental migration over big bang — strangler fig pattern works
  • Backwards compatibility for APIs — breaking changes break trust
  • Feature flags decouple deploy from release — ship dark, enable gradually
  • Monitor before, during, and after changes — data beats intuition

Documentation

  • Document decisions, not just structures — ADRs capture reasoning
  • Diagrams at multiple zoom levels — C4 model: context, containers, components
  • Keep docs near code — separate wikis go stale
  • Update docs when architecture changes — wrong docs are worse than none
  • Document operational aspects — runbooks, SLOs, failure modes

Communication

  • Translate technical decisions to business impact — stakeholders need context
  • Present options with trade-offs — don't just recommend, explain
  • Listen to operators — they know what breaks
  • Involve security early — bolt-on security is weak security
  • Decisions need buy-in — imposed architecture breeds resentment