Hook 的核心特性是什么？与提示词有何本质区别？	确定性（deterministic），保证每次必执行，而提示词依赖模型理解且有时会被忽略。
Claude Code 的 Hook 默认配置在哪个文件中？	settings.json 文件（项目级配置通常位于 .claude/settings.json）。
实现“每次文件编辑后自动格式化”应绑定哪个事件和匹配器？	post-tool use 事件，匹配器设置为 edit 或 multi-edit。
Pre-tool use Hook 拦截危险操作的退出码机制是怎样的？	退出码 0 表示放行，退出码 2 表示拦截（拦截原因会通过 stderr 反馈给 Claude）。
列举 Claude Code 支持的五个 Hook 触发时机。	user prompt submit、pre-tool use、post-tool use、notification、stop。
如何将 Hook 配置同步给整个开发团队？	将 .claude/settings.json 提交到代码仓库中，团队成员拉取后即可自动生效。
在 Hook 命令中引用项目内脚本时，应使用哪个环境变量避免路径问题？	$CLAUDE_PROJECT_DIR。
除了自动格式化，Hook 还有哪些典型应用场景？	记录所有执行命令以满足合规要求、拦截危险操作（如修改生产环境文件或执行 rm -rf）、任务完成后发送通知。
为什么建议将“必须 100% 执行”的操作放入 Hook 而不是提示词？	提示词存在被模型忽略的风险，而 Hook 提供确定性控制，能绝对保证指令执行。
Pre-tool use Hook 如何获取即将执行的工具名称和参数？	通过标准输入（stdin）以 JSON 格式接收。
