用途:扫描 TypeScript/JavaScript 的 diff,找出重新实现已有工具函数的代码,输出按优先级排序的复用机会清单,涵盖外部库(es-toolkit、date-fns、zod)、ES2020+ 原生 API、项目已安装库(effect、remeda、ts-pattern 等)以及工作区已有内部辅助函数。该技能只报告,不应用任何编辑。
主要能力:按未提交更改、分支差异或指定提交确定审查范围;检测项目已安装库;提取变更代码区域;用 ast-grep 规则(约 80 条、14 类)做结构化匹配;交叉引用外部库、原生 API、项目库等目录;在建议外部替换前先搜索内部工具目录,避免重复引入;按 P1/P2/P3 优先级输出报告,并标注置信度。
使用方式:需先安装 ripgrep(brew install ripgrep 或 cargo install ripgrep)与 ast-grep(npm i -g @ast-grep/cli 或 brew install ast-grep)。缺少 ast-grep 时降级为仅 ripgrep 检测并在报告头部标注。脚本位于技能目录下的 scripts/,直接运行并用 --help 查看用法,不读取脚本源码。
适用场景:TS/JS 代码评审、重构前检查、并行运行的其他审查流程。
限制:仅支持 TS/JS,跳过 .d.ts、生成文件、node_modules 与测试夹具;只标记变更区域,不标记未触碰的既有代码;不执行安装、不写入 package.json;不修改工作区状态;不处理 .py、.rs、.go、.md、.json、.yml。