SuperAPI AI 工具集

simplify

编程与开发

查看项目

更新于 10-16 02:24

技能介绍

用途

Simplify 是一个代码审查与修复技能,用于在实现工作完成后对已变更的代码进行质量验证。它的核心目标是:审查所有变更文件,找出可复用机会、质量问题与效率问题,并直接修复发现的问题。

该技能强调“变更的代码是唯一的审查目标”。每个审查维度独立运行,各自看到完整的 diff,并在不知道其他代理结果的情况下报告发现。主代理负责汇总并应用修复。

主要能力

Simplify 通过三个并行审查代理完成工作:

  1. 代码复用审查(Code Reuse Review):查找新代码中重复了代码库已有功能的部分。搜索工具目录(utils/、helpers/、lib/、common/、shared/)、变更文件相邻的文件以及被变更文件导入的文件;标记重复现有功能的新函数、可使用现有工具的内联逻辑,以及重新实现标准库或已安装依赖中已有功能的代码。

  2. 代码质量审查(Code Quality Review):查找 hacky 模式、不必要的复杂性和抽象边界违规。检查的模式包括:冗余状态、参数蔓延、轻微变体的复制粘贴、泄漏的抽象、字符串类型化代码、不必要的注释。

  3. 效率审查(Efficiency Review):查找不必要的工作、错过的并发和资源管理问题。检查的模式包括:不必要的工作(循环中重复计算、重复读取文件、重复 API 调用、循环内数据库查询)、错过的并发(顺序 await 独立操作)、热路径膨胀、重复的无操作更新、不必要的存在性检查(TOCTOU)、内存问题、过于宽泛的操作。

使用方式

该技能遵循严格的流程:

阶段 1:识别变更

  • 运行 git diff 查看未暂存的变更
  • 若无输出,运行 git diff HEAD 检查已暂存的变更
  • 若仍无输出,检查用户提到或本次对话中较早编辑过的最近修改文件
  • 若无法识别变更,通知用户并停止
  • 捕获完整 diff 输出,作为三个代理的输入

阶段 2:并行启动三个审查代理

  • 通过 Agent 工具在单条消息中同时派发三个代理
  • 每个代理接收完整 diff 及其审查提示
  • 不向代理提供其他代理的发现,也不指示代理修复问题(代理只报告发现)

阶段 3:修复问题

  • 等待三个代理全部完成
  • 汇总三个代理的发现
  • 去重重叠的发现
  • 对每个可操作的发现应用最小修复,不捆绑无关改进,不扩大修复范围
  • 对误报静默跳过
  • 运行测试套件验证未引入回归
  • 若修复后测试失败,回退该修复并报告为需要人工关注的问题
  • 简要总结修复内容(或确认代码已干净)

适用场景

  • 任何实现工作之后需要代码质量验证时
  • 用户说“simplify”“clean up”“review the changes”或“check the code”时
  • run-plan 执行之后、review-work 之前,作为中间质量检查
  • 用户怀疑近期变更中存在重复逻辑、低效或 hacky 模式时

限制

以下情况不应使用该技能:

  • 没有变更(无 diff 输出)时
  • 用户想要完整代码库审计时(该技能只审查 diff)
  • 用户只想要格式化或 lint 修复时
  • 目标是计划验证时(应使用 review-work)

该技能还列出了反模式:未先运行 git diff 就审查、顺序运行代理、只给每个代理部分 diff、只报告发现而不修复、与跳过的发现争论或解释、审查未变更的代码、修复后不运行测试、将“顺便”改进捆绑进修复。

过渡

简化完成后:

  • 若这是实现后的质量检查,建议过渡到 review-work 进行独立计划验证
  • 若发现问题并已修复,用户可能想再次运行 simplify 验证修复是否干净
  • 若审查中发现 bug,建议使用 systematic-debugging

该技能本身不调用下一个技能,它报告结果并让用户决定下一步。