SuperAPI AI 工具集

writing-hookify-rules

写作与研究

查看项目

更新于 10-15 22:41

技能介绍

Hookify 规则是带 YAML frontmatter 的 Markdown 文件,用于定义需要监视的模式,以及模式匹配时要显示的消息,文件存放在 .claude/hookify.{rule-name}.local.md。

主要字段:name(必填,唯一标识,建议 kebab-case 且以动词开头,如 warn-dangerous-rm);enabled(必填,布尔值,控制启用或停用,可切换而不删除规则);event(必填,可选 bash、file、stop、prompt、all,分别对应 Bash 命令、Edit/Write/MultiEdit 等文件工具、智能体停止、用户提交提示、全部事件);action(可选,warn 为默认,显示消息但允许操作,block 用于阻止操作或停止会话);pattern 为简单格式的 Python 正则,匹配 command(bash)或 new_text(file)。复杂规则可用 conditions 多条件格式,每个条件含 field、operator、pattern,常见 field 有 command、file_path、new_text、old_text、content、user_prompt;operator 支持 regex_match、contains、equals、not_contains、starts_with、ends_with。所有条件都匹配时规则才触发。frontmatter 之后的 Markdown 正文即命中时向 Claude 显示的消息,可说明检测到什么、为何有问题并给出替代方案。

使用时在项目根目录创建 .claude/hookify.{name}.local.md;规则在下次使用工具时动态读取,因此改完即可测试。临时停用可设 enabled: false,永久停用则删除该文件。建议把 .claude/*.local.md 加入 .gitignore。编写正则时注意转义,YAML 中推荐使用不加引号的 pattern,避免双反斜杠问题;可用 python3 -c "import re; print(re.search(r'your_pattern', 'test text'))" 测试。需避免模式过宽(如 log 会匹配 login、dialog)或过窄(如写死具体路径)。资料未提供官方定价或平台限制信息。