关于 simplify
simplify 是面向开发者的代码审查与清理技能,用于检查变更文件。它并行安排三个 Agent 审查复用性、质量和效率,再处理汇总的问题。
主要功能
- 01用 git diff 定位变更文件
- 02并行运行三个审查 Agent
- 03检查复用性、质量与效率
- 04修复汇总后的审查问题
适用场景
- 01合并前检查近期代码变更
- 02查找重复辅助函数和内联逻辑
- 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:代码复用审查
针对每项变更:
- 查找可替代新编写代码的现有实用工具和辅助函数。 在代码库的其他位置寻找类似模式——常见位置包括工具目录、共享模块和变更文件的相邻文件。
- 指出任何重复现有功能的新函数。 建议改用现有函数。
- 指出可使用现有工具的内联逻辑——手动编写的字符串处理、手动路径处理、自定义环境检查、临时类型守卫及类似模式,通常都是候选项。
Agent 2:代码质量审查
从以下方面审查相同的变更,查找粗糙的实现模式:
- 冗余状态:与现有状态重复的状态、可由其他数据推导的缓存值、可以直接调用而非通过观察器或 Effect 触发的逻辑
- 参数膨胀:为函数添加新参数,而不是泛化或重构现有参数
- 复制粘贴后稍作修改:应通过共享抽象统一的近似重复代码块
- 抽象泄漏:暴露应封装的内部细节,或破坏现有抽象边界
- 字符串类型代码:在代码库已有常量、枚举(字符串联合类型)或品牌类型时使用原始字符串
- 不必要的 JSX 嵌套:没有布局作用的包装 Box/元素——检查内部组件的属性(flexShrink、alignItems 等)是否已能满足布局需求
Agent 3:效率审查
从以下方面审查相同的变更,检查效率问题:
- 不必要的工作:冗余计算、重复读取文件、重复网络/API 调用、N+1 模式
- 错失并发机会:可并行运行的独立操作却按顺序执行
- 热点路径臃肿:在启动或每次请求/渲染的热点路径中新增阻塞工作
- 反复进行无效更新:在轮询循环、定时器或事件处理程序中无条件更新状态/存储——添加变更检测保护,以免内容未变时通知下游消费者。此外,如果包装函数接收更新器/归约器回调,请确认其会处理返回相同引用(或其他“无变更”信号)的情况——否则,调用方提前返回的无操作会被悄然破坏
- 不必要的存在性检查:在操作前预先检查文件/资源是否存在(TOCTOU 反模式)——直接执行操作并处理错误
- 内存:无界数据结构、缺少清理、事件监听器泄漏
- 操作范围过大:只需部分内容却读取整个文件,只需筛选一项却加载所有项目
阶段 3:修复问题
等待三个 Agent 全部完成。汇总其发现并直接修复每个问题。如果某项发现属于误报或不值得处理,请记录后继续——不要与该发现争辩,直接跳过即可。
完成后,简要总结修复内容(或确认代码本身没有问题)。
评论
支持 Markdown