用途
Technical Design Doc Creator 是一个用于创建技术设计文档(Technical Design Documents,TDD)的技能。它帮助团队清晰地沟通软件架构决策、实施计划和风险评估,遵循业界最佳实践。
适用场景包括:
- 用户要求“创建 TDD”“编写设计文档”或“记录技术设计”
- 启动新功能或集成项目
- 设计需要团队对齐的系统
- 规划现有系统的迁移或替换
- 用户提到需要文档以获得利益相关者批准
- 在实施重大技术变更之前
主要能力
该技能遵循以下业界标准模式:
- Google Design Docs:Context、Goals、Non-Goals、Design、Alternatives、Security、Testing
- Amazon PR-FAQ:Working Backwards,从客户问题出发
- RFC Pattern:Summary、Motivation、Explanation、Alternatives、Drawbacks
- ADR(Architecture Decision Records):Context、Decision、Consequences
- SRE Book:Monitoring、Rollback、SLOs、Observability
- PCI DSS:支付系统的安全要求
- OWASP:安全最佳实践
核心原则:TDD 记录架构决策和契约,而非实现代码。文档应能在实现变更后仍然有效。
应包含的高层内容:API 契约(请求/响应模式)、数据模式(表结构、字段类型)、架构(组件、数据流)、决策(选择什么技术及原因)、图表(序列图、架构图、流程图)、结构(日志格式、事件模式)、策略(方法而非命令)。
应避免的实现细节:CLI 命令、代码片段、框架特定语法、文件路径、工具特定语法。
判断准则:如果更换框架后该细节仍然适用,则包含;否则排除。
使用方式
该技能通过交互式工作流引导用户完成 TDD 创建:
-
初始信息收集:使用 AskQuestion 工具收集项目名称、项目规模(小/中/大)、项目类型(外部集成、新功能、重构/迁移、基础设施、支付/计费、认证/授权、数据迁移/处理)、是否有清晰的问题陈述和上下文。
-
验证必填信息:检查用户是否能提供技术负责人、团队成员、问题描述(什么/为什么/影响)、范围内事项、范围外事项、高层解决方案、至少 3 个风险、实施任务分解。缺失时用用户的语言询问。
-
检查关键章节:根据项目类型确定关键章节是否必填。支付/认证项目必须包含安全考虑;所有生产系统必须包含监控与可观测性、回滚计划;集成项目需要依赖和安全;所有项目强烈建议测试策略。缺失时用用户的语言询问。
-
提供建议章节:必填章节覆盖后,用用户的语言提供可选章节,如成功指标、术语表、考虑过的替代方案、依赖、性能要求、迁移计划、开放问题、路线图/时间线、批准与签署。
-
生成文档:以 Markdown 格式生成 TDD。
-
提供 Confluence 集成:如果用户有 Confluence Assistant 技能,询问是否发布到 Confluence。
语言适配:始终使用与用户请求相同的语言生成 TDD,自动检测用户输入的语言并生成所有内容(标题、正文、解释)。技术术语可保留英文(如 API、webhook、JSON、rollback、feature flag),代码示例和模式保持语言无关,公司/产品名称保留原语言。
文档结构
必选章节(必须有):
- 头部与元数据
- 上下文
- 问题陈述与动机
- 范围(范围内/范围外)
- 技术方案
- 风险
- 实施计划
关键章节(缺失时询问):
- 安全考虑(支付/认证/PII 必填)
- 测试策略
- 监控与可观测性
- 回滚计划
建议章节(向用户提供):
- 成功指标
- 术语表与领域术语
- 考虑过的替代方案
- 依赖
- 性能要求
- 迁移计划(如适用)
- 开放问题
- 路线图/时间线
- 批准与签署
项目规模适配
- 小型项目(< 1 周):使用章节 1、2、3、4、5、6、7、9;跳过替代方案、迁移计划、批准
- 中型项目(1-4 周):使用章节 1-11、15、18;提供成功指标、术语表、替代方案、性能
- 大型项目(> 1 个月):使用所有章节(1-20);所有必选和关键章节必须详细
适用场景
该技能适用于需要创建技术设计文档的各种软件项目场景,特别是需要团队对齐、利益相关者批准、或涉及支付、认证、生产系统等关键领域的项目。
限制
- 该技能依赖交互式提问来收集信息,用户需要提供必要信息才能生成完整文档。
- 文档以 Markdown 格式生成,Confluence 集成需要用户具备 Confluence Assistant 技能。
- 该技能强调高层架构决策,不包含具体实现代码。
- 关于收费、价格、平台支持等具体信息暂未提供。