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

评论区

0 条评论

登录后可评论。

陈一铭 14 阅读