用途:improve-diff 针对当前分支改动(changed files vs merge-base)运行 fallow 的 diff 范围审计,列出优先级最高的 10 个问题,并逐个交互式修复;每次修复前都会先询问用户。若 diff 中没有发现,则直接停止。它只查看 diff,不扫描整个代码库;全库扫描应使用 /improve-codebase。
主要能力:在仓库根目录运行 npx fallow audit --format json --pretty --quiet 获取紧凑的排名摘要,必须传 --pretty,否则 JSON 数组会被压缩。摘要会输出 verdict、introduced 计数,以及新增的死代码(unused exports / unused files)和复杂度发现(按 introduced、严重度 critical/high/moderate、圈复杂度降序排序)。退出码 0 和 1 都表示运行成功(1 表示发现问题),2 表示真实错误并通过 stdout 的 JSON 信封报告。
使用方式:先运行审计并判断是否有发现;若无发现或输出 NO_FINDINGS 则告知用户无可改进项并停止。然后按优先级构建 top 10:新增死代码优先,其次 critical 复杂度热点、high 复杂度热点、死代码簇、重复代码。逐条报告 rank、文件路径、符号/名称、行号和指标,再用 ask_user 询问是否修复 #1。用户同意后执行修复:优先使用自动修复动作(如 unused export 的 remove-export);复杂度热点应提取具名子函数重构,而非抑制。修复后重新运行审计确认问题消失且无回归。可改跑 build-test 技能验证流水线。用户拒绝某问题则跳到下一个,直到列表耗尽。
限制与注意:不要用 fallow-ignore 注释抑制问题,除非用户明确要求。删除未使用导出前需确认其确实未被使用,且不属于有意公开的 API;若仅内部使用,去掉 export 关键字。删除未使用文件前检查动态导入和仅副作用入口。exceeded: "crap" 且 coverage_tier: "none" 的发现是测试覆盖问题,应补充聚焦测试,而非继续重构。全程保持交互:一次只处理一个问题,修复前必须先询问。