SuperAPI AI 工具集

design

编程与开发

查看项目

更新于 10-16 01:58

技能介绍

用途

该技能用于从功能需求出发,设计模块化的高层架构,并为每个模块产出完整的设计文档。它适用于设计新系统、创建模块化架构等场景。所有架构决策均应用 Balanced Coupling(平衡耦合)模型,该模型从 balanced-coupling 技能预加载。

主要能力

  • 读取功能需求文件,将需求重新表述并组织为内聚的功能领域。
  • 通过交互式提问澄清需求中影响耦合决策的模糊点,包括领域分类、组织约束、战略方向和集成需求。
  • 使用 DDD 子域(核心 / 支撑 / 通用)对领域区域进行分类,以确定波动性和设计投入方向。
  • 识别高层模块、职责及模块间集成,并从集成强度、距离、波动性三个维度评估耦合。
  • 应用平衡规则:BALANCE = (STRENGTH XOR DISTANCE) OR NOT VOLATILITY。
  • 标记不平衡耦合,如高强度 + 高距离(分布式单体风险)或低强度 + 低距离(低内聚 / 大泥球风险),并给出重新平衡的具体建议。
  • 为每个模块编写设计文档、测试规格,并编写整体架构文档。
  • 进行模块化评审,识别关键、重大和次要问题,并在用户批准后更新受影响的设计文档。

使用方式

技能通过 6 个步骤执行,每步都需要用户明确批准后才能进入下一步:

  1. 理解需求:读取功能需求文件,重新表述需求,发现耦合感知设计所需的缺失信息,通过 AskUserQuestion 逐个提问。对领域区域进行 DDD 子域分类并以表格呈现,请用户验证。最后呈现完整理解供用户确认。
  2. 设计模块化架构:识别高层模块、职责和集成,分类波动性,评估三个维度的耦合,应用平衡规则,标记不平衡耦合并给出重新平衡建议。以表格呈现耦合评估,请用户批准。
  3. 编写模块设计文档:为每个模块创建 docs/design/!date +%Y-%m-%d/{module-name}/design.md,包含功能职责、封装知识、子域分类、集成契约、变更向量。全部写完后请用户审阅。
  4. 编写模块测试规格:为每个模块创建 docs/design/!date +%Y-%m-%d/{module-name}/tests.md,包含单元测试、集成契约测试、边界测试、行为测试,每个测试包含测试名称、场景和预期行为。
  5. 编写架构文档:创建 docs/design/!date +%Y-%m-%d/architecture.md,包含功能需求摘要、模块地图、模块协作方式、耦合评估、设计决策与权衡、未解决风险。
  6. 模块化评审:映射每个集成,评估三个维度,应用平衡规则,标记不平衡且波动性高的集成,按严重程度分类(关键 / 重大 / 次要)。若存在关键或重大问题,呈现给用户并提出具体修改,用户批准后更新受影响文档,重复评审直到无关键或重大问题。次要问题记录在架构文档的“未解决风险”部分。

交互规则:始终使用 AskUserQuestion 获取用户输入;一次只问一个问题;优先提供 2-4 个具体选项的多选题;使用不超过 12 字符的短标题;工具自动提供“Other”自由文本选项。

适用场景

  • 设计新系统的高层架构。
  • 创建模块化架构并需要为每个模块产出设计文档。
  • 需要基于 Balanced Coupling 模型评估和优化模块间耦合。
  • 需要为模块编写测试规格和整体架构文档。

限制

  • 需要提供功能需求文件的路径,否则无法继续。
  • 每个步骤都需要用户明确批准,不能自动跳过。
  • 遇到任何不明确之处必须停止并询问用户,不得假设。
  • 不得仅从单一维度评估耦合,必须同时考虑强度、距离和波动性。
  • 不得建议“全部解耦”,这会忽略强度与距离之间的平衡。
  • 需区分本质波动性与偶然波动性;高提交频率可能表示设计不佳而非领域波动。
  • 需考虑距离的组织维度:相同代码结构 + 不同团队 = 更高的有效距离。
  • 每条建议都必须基于模型,引用具体维度和原则。
  • 关于收费、价格、平台支持等信息暂未提供。