Hook 创建器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_7be4ed6c/hook-creator。
技能介绍
要解决什么问题
Claude Code 的 hooks 写在 settings.json 里,事件类型、matcher、if、退出码和 JSON 决策一多,很容易配错或重复。常见痛点包括:编辑后想自动跑 Prettier、提交前拦 lint、保护 .env 不被改、压缩后注入项目约定,以及「hook 根本不触发」却不知道 matcher 写错了。
技能如何工作
hook-creator 按「场景识别 → 模板/对话构建 → 定配置位置 → 验证 → 合并写入 → 确认」流程执行。开始时应声明使用本技能创建或诊断 hooks。
- 模板库:覆盖通知(桌面
notify-send/osascript)、PostToolUse自动 Prettier、PreToolUse保护敏感路径、SessionStart压缩后注入上下文、ConfigChange审计、环境加载、PermissionRequest自动批准,以及Stop的 prompt/agent、PostToolUseHTTP 回调等。 - 对话式构建:需求对不上模板时,一次一问:触发时机(如
PreToolUse/PostToolUse)、匹配条件(工具名或if)、执行类型(command/prompt/agent/http)、是否阻断(exit 2或 JSONdecision)、写入~/.claude/settings.json、.claude/settings.json或.claude/settings.local.json。 - 写入前校验:去重(同 event+matcher 时保留/替换/并行)、JSON schema、依赖(如
jq)、脚本可执行性与平台命令是否可用;只追加 hooks 块,不整文件覆盖。 - 诊断:检查 JSON 语法、重复 hook、命令缺失、脚本权限、matcher 与平台兼容性,并给出合并
if、加timeout、长命令抽脚本等优化建议。
适用边界与注意点
技能面向 Claude Code hooks 文档中的事件模型;动态生成仍依赖你把意图说清楚(例如「仅 git commit 前 lint」)。Stop hook 需避免未处理 stop_hook_active 导致循环;shell 配置里的多余 echo 可能搞坏 JSON 管道解析。改完配置若未生效,往往需要新开会话或打开 /hooks 让 watcher 重新加载。
使用场景
- 在共享仓库的 `.claude/settings.json` 里加 `PostToolUse`,让每次 `Edit|Write` 后按包管理器自动跑 Prettier。
- 用 `PreToolUse` 匹配 `Edit|Write` 或 Bash,阻止误改 `.env`、`package-lock.json` 等路径,并生成可执行的 protect 脚本。
- 长会话压缩后,在 `SessionStart`(compact)注入项目约定或待办,减少上下文被压掉后的规则遗忘。
- hook 不触发或报 JSON 错时,按文档逐项查重复 event+matcher、matcher 大小写、`jq` 与脚本 `chmod +x`。
适合人员
- 维护多包仓库的 Tech Lead,要把 format/lint 类 hooks 写进团队 settings,避免成员各自手改 JSON 出错。
- 负责密钥与合规的后端工程师,需要阻止 Claude 在 `PreToolUse` 阶段修改 `.env` 或删除受保护目录。
- 日常用 Claude Code 跑长 agent 任务的独立开发者,想在 `Notification`(idle/权限)时收到 macOS/Linux/Windows 桌面提醒。
- 接手既有 Claude 项目的工程师,settings 里已有 hooks 但行为异常,需要结构化诊断与合并 `if`、加 `timeout` 的优化建议。