SuperAPI AI 工具集

hook-updater

测试与质量

查看项目

更新于 10-16 02:36

技能介绍

用途:Hook Updater 用于安全地刷新既有 hook,避免盲目修改。适用场景包括反思标记出 hook 行为陈旧或异常、EVOLVE 判定 hook 能力存在但质量过时、用户要求审计或刷新既有 hook,以及检测到 hook 退出码或 stdin 协议问题。

主要能力与工作流:第 0 步评估现状,读取 hook 文件、检查 settings.json 注册(事件与匹配器)、运行已有测试并识别错误 API 模式、缺失注册、损坏的 require 等问题。第 1 步调研最佳实践,阅读 .claude/hooks/CLAUDE.md 与 .claude/rules/hooks.md,参考同类 hook 模式,必要时使用 Skill({ skill: 'research-synthesis' })。第 2 步生成补丁清单,按 TDD 方式先写测试,按风险排序:注册修复优先于退出码修复,再优先于逻辑改进;小于 30 行自动应用,大于 30 行进入计划模式。第 3 步应用更新,先写或更新测试(RED),再改 hook(GREEN),最后重构(REFACTOR),使用 Edit 工具而非重写整个文件。第 4 步验证集成,确认注册事件正确,验证退出码 0=允许、2=阻止、1=错误,验证 stdin JSON 解析,运行 pnpm lint:fix && pnpm format 及 hook 专属测试。第 5 步记录,必要时通过 MemoryRecord 记录并更新 CHANGELOG.md。

领域校验要求:hook 必须在 settings.json 中按正确事件注册;必须使用 stdin JSON 协议而非程序化函数导出;必须退出 0 或 2,阻止时不得退出 1;必须用 try/catch 包裹主体,意外错误时退出 0;require() 路径必须相对文件(../../lib/...)而非相对 CWD。

反模式:不检查 settings.json 注册就更新;不理解 0/1/2 语义就改退出码;把 stdin 协议 hook 转成程序化 API 或反向转换;为“简化”而移除错误处理。

限制:资料未提供具体安装命令、收费方式、支持平台或效果数据。