开发与工程 ✓ Anthropic · 官方 hook-developmentevent-driven-automationtool-validationprompt-hooksbash-scriptingsecurity-validation

Claude Code 钩子开发

为 Claude Code 插件构建可验证、可控的事件驱动自动化。

FollowSkills 评估 · FSRS-2.0
不推荐
42/ 100 五分制 2.1 / 5
信任安全11 / 25 · 2.2/5

文档覆盖输入校验、路径安全、变量引用、超时、权限确认和敏感文件提示,并强调使用CLAUDE_PLUGIN_ROOT;因此具备基本安全意识。扣分原因是示例仍包含向Slack、数据库和审计日志发送原始输入的外部数据流,未提供用户确认、最小权限、脱敏、回滚或失败时的恢复方案;管理员绕过检查和可预测/tmp状态文件也削弱安全性。

可靠稳定6 / 20 · 1.5/5

文档给出事件、输入字段、退出码、调试方式和测试流程,示例脚本也有set -euo pipefail及部分空值处理。扣分原因是静态材料未证明关键路径可运行,多个示例依赖jq、Claude Code运行时、外部命令或未提供的脚本;部分输出格式和并行/顺序行为说明存在潜在不一致,异常输入、超时和依赖缺失的诊断覆盖不足。

适用触发8 / 15 · 2.7/5

触发短语、支持的事件、命令钩子与提示钩子适用场景均有明确说明,覆盖验证、上下文加载、停止检查和通知等需求。扣分原因是未清楚界定不适用场景、运行时版本边界、平台差异和提示钩子的可靠性边界;未提供中文使用指导或中国大陆网络环境说明,且外部集成示例可能受网络可达性影响。

规范维护7 / 15 · 2.3/5

文档结构较完整,包含概览、事件、配置格式、模式、示例、脚本说明、调试、限制和工作流;技能自身有version 0.1.0,仓库也提供README、LICENSE和安全政策。扣分原因是技能元数据未声明许可证,缺少变更日志、维护责任人和明确更新路径,引用的references/examples/scripts虽存在于所给材料中但没有说明版本兼容矩阵;部分高级示例把高风险实践作为可复制模板。

有效结果6 / 15 · 2.0/5

该技能提供可直接改写的JSON配置、Shell示例、事件速查表、迁移建议和测试工作流,能够覆盖创建常见Claude Code钩子的核心任务。扣分原因是静态阅读无法验证实际输出、事件语义或工具运行结果;示例需要用户自行补齐插件结构、依赖和环境,安全策略多为启发式,复杂场景仍需较多审查和修改。

证据核验4 / 10 · 2.0/5

材料包含具体配置、脚本、测试命令、调试命令和仓库内CI证据,部分主张具备可审计来源。扣分原因是没有在给定材料中提供针对该技能关键路径的真实CI测试或第三方执行结果,测试脚本主要是说明性示例,未覆盖提示钩子、事件兼容性、并行行为和外部集成,因此静态可验证性有限。

证据充分度: 评估于 2026年7月20日 审查版本 015170d3fd84
使用前请注意
  • 不要直接复制Slack通知、数据库记录或审计日志示例;先确认数据范围、脱敏、用户同意、凭据保护和网络出口策略。
  • 提示钩子和事件输出格式应依据目标Claude Code版本的官方文档核对,并在隔离项目中测试。
  • 示例脚本依赖jq、Claude Code环境变量及外部工具;缺失依赖、Windows兼容性、符号链接、复杂Shell命令和并行钩子行为需要额外验证。
  • 技能元数据未明确许可证、变更记录和维护责任,采用前应确认版本与后续更新来源。
查看完整评分方法 →

它能做什么 & 适用场景

该技能指导开发者为 Claude Code 插件创建和配置钩子,以响应工具调用、会话生命周期、用户提示和代理停止等事件。它重点介绍推荐的提示词钩子,也覆盖用于确定性检查和外部工具集成的命令钩子。内容包括 hooks.json 配置、匹配器、输入输出 JSON、环境变量、安全校验、调试和测试。它适合需要控制工具使用、加载项目上下文或自动化开发流程的 Claude Code 插件开发者。

指导用户在插件的 hooks/hooks.json 或用户设置中配置 PreToolUse、PostToolUse、Stop、SubagentStop、UserPromptSubmit、SessionStart、SessionEnd、PreCompact 和 Notification 事件;编写提示词钩子或 Bash 命令钩子;通过标准输入读取会话、工具和提示信息;输出允许、拒绝、询问、阻止或系统消息等结构化 JSON;使用 ${CLAUDE_PLUGIN_ROOT}、$CLAUDE_PROJECT_DIR 和 $CLAUDE_ENV_FILE;通过 jq、claude --debug 及仓库提供的校验、测试和 lint 脚本检查钩子。

  1. 需要在 Write 或 Edit 工具执行前检查敏感文件、路径遍历或危险操作的插件开发者。
  2. 希望在工具执行后分析结果、记录日志或向 Claude 提供反馈的团队。
  3. 需要在会话开始时加载项目上下文并持久化环境变量的项目维护者。
  4. 希望在代理停止前验证测试、构建和任务完整性的开发者。
  5. 需要用提示词钩子处理复杂判断、用命令钩子执行快速确定性检查的插件作者。

优缺点一览

优点
  • 覆盖完整的钩子事件、配置格式、输入输出和生命周期。
  • 同时说明提示词钩子与命令钩子的适用场景。
  • 包含路径安全、输入校验、变量引用、超时和并行执行建议。
  • 提供校验、测试和 lint 脚本的使用方向。
局限
  • 内容明确面向 Claude Code 插件,移植到其他客户端需要调整。
  • 来源没有提供此技能的独立安装步骤或测试结果。
  • 钩子配置在会话启动时加载,修改后必须重启 Claude Code。
  • 插件钩子并行运行且不保证顺序,不能依赖其他钩子的输出。
  • README 未说明费用或许可证,仓库许可证标为 unknown。

如何安装

README 仅记录 Claude Code 本体的安装方式:macOS/Linux 可运行 curl -fsSL https://claude.ai/install.sh | bash,或使用 brew install --cask claude-code;Windows 可运行 irm https://claude.ai/install.ps1 | iex,或使用 winget install Anthropic.ClaudeCode。随后进入项目目录运行 claude。该来源没有说明如何单独安装或放置此技能目录。

如何使用

在 Claude Code 插件开发场景中提出类似“create a hook”或“add a PreToolUse hook”的请求,并指定目标事件和校验逻辑。按技能说明在 hooks/hooks.json 中配置钩子,命令钩子使用 ${CLAUDE_PLUGIN_ROOT} 引用文件;修改配置后重启 Claude Code,再用 claude --debug 和仓库提供的脚本测试。

常见问题

这个技能是否能单独安装?
来源只说明 Claude Code 和插件集合的安装,没有提供该技能单独安装或目录放置步骤。
命令钩子需要哪些运行环境?
示例使用 Bash,并在安全校验示例中使用 jq;来源没有说明版本要求。
钩子能否直接阻止危险工具调用?
可以。PreToolUse 钩子可返回 allow、deny 或 ask,并可返回更新后的输入;命令钩子也可通过退出码 2 反馈阻塞错误。
修改 hooks.json 后为什么没有生效?
钩子在 Claude Code 会话启动时加载,修改配置或脚本后需要退出并重新启动会话。

同仓库的其他 Skills

均来自 anthropics/claude-code

相关 Skills