用途
hooks-manager 用于创建、验证和部署 Claude Code hooks,实现事件驱动的工作流自动化。Claude Code 的 hooks 系统于 2025 年 6 月发布。该技能的目标是为代码格式化、安全门禁、可观测性和校验等场景建立自动化。资料称 hooks 将 Claude Code 从交互式转变为自动化,可减少最多 92% 的手动工作。
主要能力
该技能采用基于任务的模式,包含 8 种操作,分别对应各 hook 事件及管理功能。
可用的 8 个 hook 事件:
- UserPromptSubmit:在 Claude 看到提示之前
- PreToolUse:工具执行之前
- PostToolUse:工具执行之后
- PermissionRequest:请求权限时
- Notification:重要事件
- SessionStart:会话初始化
- SessionEnd:会话清理
- Stop:对话终止
8 种操作:
- 创建格式化 Hook(PostToolUse):在 AI 写入/编辑文件后自动格式化代码。示例使用 npx prettier --write "$FILE",并配置 filePatterns 与 excludePatterns。资料称可减少 92% 的样式审查时间。
- 创建安全 Hook(PreToolUse):在执行前拦截危险操作,如阻止修改系统文件、破坏性命令(rm -rf /、dd if)、curl/wget 等。使用结构化 JSON 输出(continue、stopReason、suppressOutput)。
- 创建可观测性 Hook(Notification):在重要事件时向可观测性平台发送遥测数据,示例使用 curl 发送到 Victoria Metrics 或写入日志文件或 webhook。
- 创建校验 Hook(PreToolUse):在工具执行前校验输入,例如写入前校验 JSON 语法(使用 jq empty)。
- 创建 MCP 工具 Hook(PreToolUse):细粒度控制 MCP 工具访问,支持 mcp__server__tool 模式,可拦截特定 MCP 服务器或工具。
- 创建综合 Hook(SessionStart):会话开始时初始化环境,加载上下文、检查 git 状态、加载环境变量、运行预检。
- 部署与管理 Hooks:安装、更新、移除和审计 hooks,支持全局(~/.claude/hooks/)与项目级(.claude/hooks/)部署,可列出、校验、移除或禁用 hook。
- 安全审计 Hooks:审查所有活动 hook 的安全问题,扫描危险命令模式、凭证泄露、JSON 结构,并生成安全报告。
使用方式
前置要求:
必需:Claude Code(2025 年 6 月后支持 hooks)、事件驱动编程基础。
建议:已安装 linter/formatter(ESLint、Prettier、Black)、安全工具(如使用安全 hook)、可观测性平台(如使用遥测 hook)。
安装示例(格式化 hook):
# JavaScript/TypeScript
npm install --save-dev prettier
# Python
pip install black
# Multi-language
npm install --save-dev prettier @prettier/plugin-python
Hook 配置示例:
{
"event": "PostToolUse",
"tools": ["Write", "Edit"],
"description": "Auto-format code after Claude writes/edits files",
"handler": {
"command": "npx prettier --write \"$FILE\"",
"timeout": 5000
},
"filters": {
"filePatterns": ["**/*.{ts,tsx,js,jsx,py}"],
"excludePatterns": ["node_modules/**", "*.min.js"]
}
}
安装 hook:
# Global hook (all projects)
mkdir -p ~/.claude/hooks
echo '[above-json]' > ~/.claude/hooks/auto-format.json
# Project-specific
mkdir -p .claude/hooks
echo '[above-json]' > .claude/hooks/auto-format.json
部署与管理命令示例:
# Deploy to global (~/.claude/hooks/)
deploy-hook --global formatting-hook.json
# Deploy to project (.claude/hooks/)
deploy-hook --project security-hook.json
# List all hooks
ls -la ~/.claude/hooks/
ls -la .claude/hooks/
# Validate hook
validate-hook formatting-hook.json
# Remove hook
rm .claude/hooks/formatting-hook.json
# Or rename to .disabled
mv .claude/hooks/security-hook.json .claude/hooks/security-hook.json.disabled
适用场景
- 自动格式化代码(Write/Edit 后的 PostToolUse)
- 安全门禁(PreToolUse 拦截危险操作)
- 可观测性集成(对所有工具调用发送遥测)
- 校验强制执行(拦截无效操作)
- 工作流自动化(事件触发动作)
- 团队标准化(强制编码规范)
限制与注意事项
- Hooks 同步执行(阻塞式),handler 应保持快速(小于 5 秒),使用 timeout 防止挂起;异步操作可启动后台进程并立即返回。
- 安全最佳实践:hook 中绝不硬编码凭证、执行不可信输入、修改关键系统文件、在日志中暴露敏感数据;应校验所有输入、使用允许列表而非拒绝列表、记录安全事件、默认拒绝。
- 结构化 JSON 输出用于高级控制:continue、stopReason、suppressOutput;简单场景可用退出码(0 继续,非零拦截)。
- MCP 工具定位模式:mcp__(所有 MCP 工具)、mcp__server__(特定服务器所有工具)、mcp__server__tool(特定工具)。
- 文件模式过滤器建议从包含开始,按需添加排除项。
- 各操作的时间估算:格式化 30-45 分钟、安全 45-60 分钟、可观测性 30-45 分钟、校验 20-30 分钟、MCP 20-30 分钟、会话初始化 15-20 分钟、部署管理 30-45 分钟、安全审计 20-30 分钟。
- 资料未提供该技能的收费、价格、平台支持范围等具体信息。