Hook Development:Claude Code 的事件触发器,把团队规范自动化执行
大部分人装完 Claude Code,装完 Skills,就觉得完事了。但 Claude Code 还有一层更底层的能力——Hook 系统,几乎没人认真讲过。
这才是我今天想说的:Hook Development,Anthropic 官方出品的插件钩子技能,教你怎么给 Claude Code 装上「事件触发器」,让 Agent 在特定时机自动做你想做的事。
钩子是什么?能干什么?
简单说,Hook 就是 Claude Code 里的「if this, then do that」。当某个事件发生,自动执行你定义的动作。
典型场景:
- 每次执行危险命令前(比如
rm -rf),弹出二次确认 - 工具调用完成后,自动记录操作日志到文件
- 会话结束前,把本次修改的文件列表自动写入 commit message
- 提交代码前,自动跑 lint 检查
- SessionStart 时,把项目 README 自动加载进上下文
这些都是 Claude Code 原生支持的,但官方文档写得像内部实现说明,没有这个 Skill 根本摸不着门道。
两种钩子模式,哪个更好用?
Hook Development 技能里详细解释了两种实现方式:
1. Prompt-Based Hook(推荐)
用 LLM 驱动决策,适合复杂判断:
{
"type": "prompt",
"prompt": "Evaluate if this tool use is appropriate: $TOOL_INPUT",
"timeout": 30
}
比如,你要 Claude 在执行删除操作前自动评估风险级别,Prompt-Based 就能理解「这个删除会不会把 node_modules 一起删了」这种语义。
2. Command Hook
直接跑 bash 命令,适合确定性检查:
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh",
"timeout": 60
}
适合做正则校验、文件存在性检查、调用外部工具这类非黑即白的逻辑。
支持的触发事件
完整列表:PreToolUse、PostToolUse、Stop、SubagentStop、SessionStart、SessionEnd、UserPromptSubmit、PreCompact、Notification
这几个最实用:
- PreToolUse:工具执行前——安全检查、参数校验
- PostToolUse:工具执行后——日志记录、结果处理
- Stop:会话结束前——自动生成总结、写 commit、清理临时文件
- SessionStart:会话启动时——加载项目上下文、读取配置
怎么安装
从 Claude Code 插件里直接加载:
npx -y skills add https://smithery.ai/skills/anthropics/hook-development
或者去 Smithery 页面手动安装:
smithery.ai/skills/anthropics/hook-development
值不值装?
如果你只是想让 Claude 帮你写代码——不用装。
如果你在团队里用 Claude Code,想让 AI Agent 遵守你团队的规范,比如「删除前必须确认」「commit 前必须跑测试」「特定目录下不能执行某些命令」——这玩意儿就是给团队准备的。
配合 MCP 服务器,还能把外部服务接入 Hook 链:比如检测到代码变更,自动触发 CI/CD Pipeline;检测到敏感操作,自动发 Slack 通知。
GitHub:github.com/anthropics/claude-code
GitHub: https://github.com/anthropics/claude-code/tree/main/plugins/plugin-dev/skills/hook-development
评论区
登录后可评论。