SuperAPI AI 工具集

write-a-hook

通用与其它

查看项目

更新于 10-15 22:11

技能介绍

用途:为 memo-flow bundle 脚手架生成新的钩子(hook),属于内部编写工具。它会先向作者提问,收集完所有答案后才写文件,从而避免产出不一致的钩子。

主要能力与流程:

  1. 逐项询问钩子名(kebab-case,不带 .sh 后缀,需在 skills/engineering/memo-hooks/hooks/ 中唯一)、触发事件(PreToolUse、PostToolUse、Stop、UserPromptSubmit、PreCompact)、工具/路径匹配条件、退出码契约(advisory 恒为 0;blocking 用 2,Stop/PreCompact 用 1)、禁用语义、性能预算、状态读写需求、默认配置键与默认值。
  2. 一致性检查:blocking 必须在非零退出前输出消息;读写状态需用 flock 或临时文件加重命名;匹配条件仅适用于 PreToolUse/PostToolUse;名称不得重复。
  3. 生成四类产物:钩子脚本 skills/engineering/memo-hooks/hooks/<name>.sh(含 fail-open 配置读取模板,禁用时立即 exit 0);两处默认配置(hook-config.sh 的 _DEFAULTS 中 enabled 为 true,install.sh 内联 heredoc 中 enabled 为 false,其余键值保持一致);settings.json 条目(type 必须为 command,matcher 为空字符串)及 install.sh 两处接线;SKILL.md 中 Branch A2 的 README 行。
  4. 写入前展示摘要并确认,写入后提醒补集成测试、运行 bash bin/run-tests.sh,并用 bash skills/engineering/memo-hooks/install.sh --check-only --project-dir <test-project> 校验。

限制:仅面向 bundle 路径,v1 不暴露消费者本地钩子;python3 子进程启动约 30–80 ms,热路径应放在子进程调用之前;资料未提供收费、平台与效果信息。