SuperAPI AI 工具集

creating-claude-hooks

编程与开发

查看项目

更新于 10-16 03:46

技能介绍

用途:在创建、改进或发布 Claude Code hooks 时提供指导,涵盖 hook 格式、事件处理、I/O 约定与打包结构。触发场景包括新建 hook、发布为 PRPM 包、理解格式或事件、排查 hook 执行问题,以及区分 hook、skill 与 command。

主要能力:介绍两种配置方式——JSON 配置(写入 .claude/settings.json、~/.claude/settings.json 或插件 hooks.json,支持 command 与 prompt 两类 hook、matcher 与 timeout)和旧版可执行文件方式(放置于 .claude/hooks/<event-name>)。列出事件:PreToolUse、PostToolUse、UserPromptSubmit、SessionStart、Stop、SubagentStop、PreCompact、Notification、PermissionRequest,并标注哪些可阻断。退出码方面:0 表示成功继续,2 表示阻断(仅 PreToolUse),1 或其他表示记录错误后继续。

使用方式:command hook 读取 stdin JSON,按字段(如 .input.file_path)校验后执行脚本并以退出码反馈;prompt hook 通过 LLM 推理进行复杂校验,可配合 schema 校验返回结构。matcher 支持 Write、Write|Edit、Bash、mcp__github__、 等模式。可用环境变量包括 CLAUDE_PROJECT_DIR、CLAUDE_CURRENT_DIR、CLAUDE_PLUGIN_ROOT、CLAUDE_ENV_FILE、SESSION_ID。发布为 PRPM 包时使用 prpm.json 清单与 HOOK.md 文档,通过 prpm test、prpm publish 及 patch/minor/major 版本命令发布。

适用场景与最佳实践:格式化、日志、敏感文件拦截、Stop 前测试校验、SessionStart 加载上下文、多阶段校验等。建议 PreToolUse 目标低于 100ms,优先精确 matcher,避免过度使用 prompt hook(耗时 2-10 秒)。

限制与安全:hook 需要可执行权限与 shebang,必须校验 JSON 输入、引号包裹变量、防范路径穿越,并优雅处理缺失依赖。Claude Code 会在安装前要求用户确认并展示源码。文中未提供具体收费标准或价格信息。