mcpField
S
simplify

simplify

github.com/factory-ai测试与质量120240 次安装6 天前更新
代码仓库

关于 simplify

simplify 是面向开发者的代码审查与清理技能,用于检查变更文件。它并行安排三个 Agent 审查复用性、质量和效率,再处理汇总的问题。

主要功能

  1. 01用 git diff 定位变更文件
  2. 02并行运行三个审查 Agent
  3. 03检查复用性、质量与效率
  4. 04修复汇总后的审查问题

适用场景

  1. 01合并前检查近期代码变更
  2. 02查找重复辅助函数和内联逻辑
  3. 03排查效率及内存问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/factory-ai/factory-plugins --skill simplify

安装后在 Claude Code 中输入/simplify确认已加载。

详细介绍

简化:代码审查与清理

审查所有已更改的文件,检查其复用性、质量和效率。修复发现的所有问题。

阶段 1:识别变更

运行 git diff(如果存在已暂存的变更,则运行 git diff HEAD)以查看变更内容。如果没有 Git 变更,请审查用户提到的或你在本次对话中先前编辑过的最近修改的文件。

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

使用 Task 工具,在一条消息中同时启动全部三个 Agent。向每个 Agent 提供完整的 diff,确保其掌握完整上下文。

Agent 1:代码复用审查

针对每项变更:

  1. 查找可替代新编写代码的现有实用工具和辅助函数。 在代码库的其他位置寻找类似模式——常见位置包括工具目录、共享模块和变更文件的相邻文件。
  2. 指出任何重复现有功能的新函数。 建议改用现有函数。
  3. 指出可使用现有工具的内联逻辑——手动编写的字符串处理、手动路径处理、自定义环境检查、临时类型守卫及类似模式,通常都是候选项。
Agent 2:代码质量审查

从以下方面审查相同的变更,查找粗糙的实现模式:

  1. 冗余状态:与现有状态重复的状态、可由其他数据推导的缓存值、可以直接调用而非通过观察器或 Effect 触发的逻辑
  2. 参数膨胀:为函数添加新参数,而不是泛化或重构现有参数
  3. 复制粘贴后稍作修改:应通过共享抽象统一的近似重复代码块
  4. 抽象泄漏:暴露应封装的内部细节,或破坏现有抽象边界
  5. 字符串类型代码:在代码库已有常量、枚举(字符串联合类型)或品牌类型时使用原始字符串
  6. 不必要的 JSX 嵌套:没有布局作用的包装 Box/元素——检查内部组件的属性(flexShrink、alignItems 等)是否已能满足布局需求
Agent 3:效率审查

从以下方面审查相同的变更,检查效率问题:

  1. 不必要的工作:冗余计算、重复读取文件、重复网络/API 调用、N+1 模式
  2. 错失并发机会:可并行运行的独立操作却按顺序执行
  3. 热点路径臃肿:在启动或每次请求/渲染的热点路径中新增阻塞工作
  4. 反复进行无效更新:在轮询循环、定时器或事件处理程序中无条件更新状态/存储——添加变更检测保护,以免内容未变时通知下游消费者。此外,如果包装函数接收更新器/归约器回调,请确认其会处理返回相同引用(或其他“无变更”信号)的情况——否则,调用方提前返回的无操作会被悄然破坏
  5. 不必要的存在性检查:在操作前预先检查文件/资源是否存在(TOCTOU 反模式)——直接执行操作并处理错误
  6. 内存:无界数据结构、缺少清理、事件监听器泄漏
  7. 操作范围过大:只需部分内容却读取整个文件,只需筛选一项却加载所有项目

阶段 3:修复问题

等待三个 Agent 全部完成。汇总其发现并直接修复每个问题。如果某项发现属于误报或不值得处理,请记录后继续——不要与该发现争辩,直接跳过即可。

完成后,简要总结修复内容(或确认代码本身没有问题)。

评论

支持 Markdown