用途:该技能面向 Claude Code 插件开发,帮助用户在开发过程中创建和配置事件驱动的自动化钩子(Hooks),用于校验操作、执行策略、添加上下文以及把外部工具接入工作流。
主要能力:支持在工具执行前校验调用(PreToolUse)、对工具结果作出反应(PostToolUse)、强制完成标准(Stop、SubagentStop)、加载项目上下文(SessionStart),并在开发生命周期中自动化工作流。钩子分为两类:基于提示(prompt)的钩子,使用 LLM 进行上下文感知判断,支持 Stop、SubagentStop、UserPromptSubmit、PreToolUse 等事件;命令(command)钩子,执行 bash 命令做确定性检查,适合快速校验、文件系统操作、外部工具集成等场景。
使用方式:插件钩子写在 hooks/hooks.json,采用带 hooks 包装字段的格式;用户设置写在 .claude/settings.json,事件直接位于顶层。安装命令:暂无。钩子通过 stdin 接收 JSON 输入,常用字段包括 session_id、transcript_path、cwd、permission_mode、hook_event_name 等,并可用 $TOOL_INPUT、$TOOL_RESULT、$USER_PROMPT 等变量。输出支持 continue、suppressOutput、systemMessage 等字段,用退出码 0、2 控制行为。命令钩子可用 ${CLAUDE_PLUGIN_ROOT} 保证路径可移植。
适用场景与限制:适合需要校验工具调用、完成度检查、会话上下文加载的 Claude Code 插件。钩子在会话启动时加载,修改配置后需重启 Claude Code 才能生效,无法热替换;所有匹配钩子并行执行,彼此看不到输出,执行顺序不确定。命令钩子需注意输入校验、路径安全、变量引号和超时设置。