Claude Code 总是一股脑猛干?这个 Skill 教它”踩刹车”
说真的,用 Claude Code 写代码爽是爽,但有时候你会不会觉得——它太”自由”了?让它写文件它就写,让它删代码它就删,完全没有一丝犹豫。
有没有办法给它加把”锁”,让它在动手之前先问你一声?
有——就是今天要推荐的 Hook Development。
它是干嘛的
Hook Development 是一个专门教 Claude Code 学会”踩刹车”的 Skill。简单说,它能在 Claude 执行任何工具(写文件、删代码、执行命令)之前,插入一个检查环节。
比如你想在 git commit 之前确保代码能通过测试?加个 Hook。想在 Claude 写文件之前先扫描一下有没有泄露秘钥?加个 Hook。想在任务结束前自动检查有没有遗漏 console.log?也可以加个 Hook。
核心用法
Hook 有两种类型:
1. Command Hook(命令型)
适合确定性检查——比如文件是否存在、路径是否安全。快,准,但不会”思考”。
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/validate.sh"
}
2. Prompt Hook(提示词型)
适合需要判断的复杂场景——让 AI 帮你分析这段代码操作有没有风险。慢一点,但灵活得多。
{
"type": "prompt",
"prompt": "检查这个文件写入操作是否安全:$TOOL_INPUT",
"timeout": 30
}
触发时机全覆盖
- PreToolUse:工具执行前(最常用,可以拦截危险操作)
- PostToolUse:工具执行后(可以检查结果是否合规)
- Stop / SubagentStop:任务结束时(确保交付物过关)
- SessionStart:会话启动时(加载项目上下文)
- UserPromptSubmit:用户发消息时(加安全提醒)
实际场景举例
想在 Claude 写任何文件前先检查一下不含秘钥?写个 Hook:
{
"PreToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "prompt",
"prompt": "检查这段代码是否包含 API Key 或密码,有则 deny,无则 approve"
}]
}]
}
是不是很香?
一句话总结
Hook Development = 给 Claude Code 装上”条件反射”,让它在关键时刻自动踩刹车。
适合:团队协作、有安全要求项目、想精细控制 AI 行为的人。
GitHub 链接:https://github.com/Microck/ordinary-claude-skills
评论区
0 条评论
登录后可评论。