architecture-design · git:20260917.1dd4525 · 2026-09-17 · sha256 a21adb43bfeba8bd
architecture-design git:20260917.1dd4525A
Immutable. This exact content is served forever at /api/v1/blob/a21adb43bfeba8bd.
--- name: architecture-design description: 架构设计文档编排 Owner — 当用户要求架构设计、系统设计、技术架构或可指导开发、Review 与任务拆分的完整方案时使用;要求从业务流程反推节点、状态、数据、一致性、异常补偿、ADR 与实施任务。 --- # Architecture Design Skill ## 目录导航 - [定位](#定位) - [触发条件](#触发条件) - [与领域架构 Skill 的关系](#与领域架构-skill-的关系) - [核心门禁](#核心门禁) - [执行流程](#执行流程) - [输出结构](#输出结构) - [图表要求](#图表要求) - [反模式](#反模式) - [完成判定](#完成判定) ## 定位 本 Skill 负责完整架构设计文档的编排 Owner 视角。它把需求、业务流程、模块边界、数据模型、API 契约、一致性、异常补偿、ADR、验证与任务拆分组织成可直接指导开发、Review 和排期的设计产物。 本 Skill 不替代领域架构 Skill 的专业判断。它负责结构、顺序、追踪关系和交付物完整性;领域细节由后端、前端、数据、API、分布式、集成、平台、AI Agent、隐私合规、设计系统、DX 等 Skill 提供判断。 ## 触发条件 | 场景 | 是否触发 | |------|:--------:| | 用户要求架构设计、系统设计、技术架构、概要设计、详细设计或可指导开发/Review/任务拆分的方案 | 必须 | | 需求从 0 到 1、跨模块、跨角色、跨状态、跨数据流或跨外部系统 | 必须 | | 方案需要主流程、子流程、节点设计、状态机、数据流、时序、ADR、风险和实施拆分 | 必须 | | 已有代码小修、单点 bug 修复、纯审计结论或只要求某一领域专家判断 | N/A + skipReason | ## 与领域架构 Skill 的关系 | 领域 | 主要协作 Skill | 本 Skill 的编排责任 | |------|----------------|--------------------| | 业务与产品取舍 | `product-strategy` | 把业务目标、角色、对象和成功标准转成架构输入 | | 后端领域与流程 | `backend-domain-architecture` | 确保业务不变量、权限、事务和幂等映射到节点设计 | | API 与公开契约 | `api-contract-architecture` | 确保 API 由流程和消费者反推,避免先写接口后补业务 | | 数据模型与迁移 | `data-architecture` | 确保模型、查询、索引、生命周期和消费者闭环 | | 前端体验 | `frontend-architecture`、`ux-interaction-architecture` | 确保状态、错误、加载、权限和交互与主流程一致 | | 分布式与外部系统 | `distributed-systems-architecture`、`external-integration-architecture` | 确保失败、重试、补偿、超时和一致性边界可验证 | | 平台、AI、合规与 DX | `platform-ecosystem-architecture`、`ai-agent-system-architecture`、`privacy-compliance-architecture`、`developer-experience-architecture` | 确保平台扩展、Agent 合同、合规边界和开发体验进入设计 | ## 核心门禁 | Gate | 要求 | 证据 | |------|------|------| | `ArchitectureDesignIntentGate` | 先结构化需求目标、业务场景、角色、业务对象、边界和非目标 | requirementMatrix、boundary | | `BusinessFlowFirstGate` | 先写主业务流程,再进入模块、类、表、API 或缓存 | mainFlow | | `FlowDecompositionGate` | 复杂主流程节点必须拆成子流程,并说明触发、输入、输出和终止条件 | subFlows | | `NodeImplementationGate` | 关键节点必须写职责、前置条件、读写数据、状态变化、依赖、成功/失败和幂等 | nodeDesign | | `StateMachineGate` | 有状态对象必须写状态、事件、转移条件、终态和非法转移 | stateMachine | | `DataFlowSequenceGate` | 数据流和时序必须说明谁产生、谁消费、何时持久化、何时可见 | dataFlow、sequence | | `ModuleBoundaryGate` | 模块职责、依赖方向、共享契约和禁止跨层访问必须清楚 | moduleMap | | `DataModelConsistencyGate` | 数据模型、唯一键、索引、事务、一致性、缓存和生命周期必须闭环 | dataModel、consistency | | `ApiContractMappingGate` | API/CLI/事件/Hook/MCP 契约必须由流程节点和消费者反推 | contractMatrix | | `FailureCompensationGate` | 重试、超时、重复提交、部分成功、外部失败和人工修复路径必须定义 | failureMatrix | | `ArchitectureDecisionGate` | 关键决策必须写问题、方案、理由、备选项、拒绝原因和代价 | ADR | | `DevelopmentTaskSplitGate` | 最终任务拆分必须能映射回流程节点、模块、契约和验证项 | taskBreakdown | | `ArchitectureReviewChecklistGate` | Review 清单必须覆盖流程、状态、数据、契约、一致性、异常、可运维性和风险 | checklist | ## 执行流程 1. 结构化意图:提取目标、用户价值、业务角色、核心对象、范围、非目标、约束和待确认项。 2. 建立主流程:用业务语言描述从触发到终态的主路径,先不落实现类名和数据库表。 3. 拆分子流程:对复杂节点补子流程,明确入口、出口、失败分支和可恢复路径。 4. 设计节点:逐个关键节点写职责、输入、输出、前置条件、状态变化、数据读写、外部依赖、成功/失败和幂等策略。 5. 路由领域 Skill:按实际问题调用相关领域架构 Skill,引用其判断而不是重复发明领域规则。 6. 建模与契约:在流程和节点稳定后,定义模块、数据模型、API/事件/CLI/Hook/MCP 契约和兼容策略。 7. 写 ADR:记录会影响扩展性、复杂度、成本、风险或长期维护的关键决策。 8. 完成落地:输出验证策略、风险、待确认项、任务拆分和 Architecture Review Checklist。 ## 输出结构 架构设计文档必须包含 `## 目录导航`。若某节不适用,保留标题并写明 `N/A + skipReason`;不要删除结构导致 Review 无法定位缺口。 ```markdown ## 目录导航 ## 1. 架构目标与成功标准 ## 2. 需求理解与业务场景 ## 3. 角色、权限与核心业务对象 ## 4. 系统边界与非目标 ## 5. 当前上下文与约束 ## 6. 整体架构图 ## 7. 系统主流程 ## 8. 子流程设计 ## 9. 核心节点详细设计 ## 10. 状态机设计 ## 11. 数据流设计 ## 12. 时序设计 ## 13. 模块架构与依赖方向 ## 14. 数据模型、索引与生命周期 ## 15. API、事件、CLI、Hook 或 MCP 契约 ## 16. 一致性、事务、缓存与幂等 ## 17. 异常、重试、补偿与人工修复 ## 18. 权限、安全、隐私与审计 ## 19. 性能、容量与可扩展性 ## 20. 可观测性与运维策略 ## 21. ADR 决策记录 ## 22. 风险、取舍与待确认项 ## 23. 开发任务拆分与里程碑 ## 24. Architecture Review Checklist ``` ## 图表要求 - 主流程优先使用 Mermaid `flowchart TD`,节点名称使用业务动作。 - 有状态对象时使用 `stateDiagram-v2` 或状态转移表,必须包含非法转移处理。 - 跨系统调用、异步事件、补偿和回调使用 `sequenceDiagram` 或时序表。 - 图表必须和正文节点编号互相引用;不要为了形式完整添加无信息量图表。 ## 反模式 | 反模式 | 修正 | |--------|------| | 从需求直接跳到 controller/service/repository/table/API | 先补主流程、子流程和节点设计 | | 只说“使用 Redis/MQ/定时任务/缓存”但不说明业务触发与失败恢复 | 补 ADR、数据可见性、一致性和补偿策略 | | 流程图只有大框,没有关键节点的输入、输出、状态和数据读写 | 补 `NodeImplementationGate` | | API 先行,业务流程和消费者后补 | 用 `ApiContractMappingGate` 反推契约 | | 写“根据实际情况处理异常” | 明确失败矩阵、重试边界、人工修复和告警 | | 为了显得完整引入不必要的分布式组件 | 写取舍,证明必要性或删除该复杂度 | ## 完成判定 完成的架构设计必须回答:做什么、为什么做、谁参与、主流程怎么走、关键节点怎么实现、状态如何变化、数据如何流动、契约如何消费、失败如何恢复、一致性如何保证、替代方案为何不选、开发任务如何拆分、Review 如何验收。