hook-creator
Hook 钩子创建器
创建在特定生命周期事件中执行 shell 命令的 Claude Code 钩子。
钩子创建工作流程
- 确定使用场景 - 明确钩子需要完成的功能
- 选择合适的事件 - 从可用的钩子事件中选择(参见 references/hook-events.md)
- 设计钩子命令 - 编写从 stdin 处理 JSON 输入的 shell 命令
- 配置匹配器 - 设置工具/事件过滤器(使用
*匹配所有,或指定工具名称如Bash、Edit|Write) - 选择存储位置 - 用户设置(
~/.claude/settings.json)或项目(.claude/settings.json) - 测试钩子 - 使用简单测试用例验证行为
钩子配置结构
{
"hooks": {
"<事件名称>": [
{
"matcher": "<工具模式>",
"hooks": [
{
"type": "command",
"command": "<shell命令>"
}
]
}
]
}
}
常用模式
读取输入数据
钩子通过 stdin 接收 JSON。使用 jq 提取字段:
# 提取工具输入字段
jq -r '.tool_input.file_path'
# 带默认值的提取
jq -r '.tool_input.description // "无描述"'
# 条件处理
jq -r 'if .tool_input.file_path then .tool_input.file_path else empty end'
PreToolUse 的退出代码
0- 允许工具继续执行2- 阻止工具并向 Claude 提供反馈
匹配器模式
*- 匹配所有工具Bash- 仅匹配 Bash 工具Edit|Write- 匹配 Edit 或 Write 工具Read- 匹配 Read 工具
快速示例
记录所有 bash 命令:
jq -r '"\(.tool_input.command)"' >> ~/.claude/bash-log.txt
编辑后自动格式化 TypeScript:
jq -r '.tool_input.file_path' | { read f; [[ "$f" == *.ts ]] && npx prettier --write "$f"; }
阻止编辑 .env 文件:
python3 -c "import json,sys; p=json.load(sys.stdin).get('tool_input',{}).get('file_path',''); sys.exit(2 if '.env' in p else 0)"
资源文档
- 钩子事件参考:查看
references/hook-events.md了解详细的事件文档,包含输入/输出架构 - 示例配置:查看
references/examples.md获取完整的、经过测试的钩子配置
More from evanfang0054/cc-system-creator-scripts
doc-learner
智能文档学习和内容模仿技能。当需要:(1) 分析和学习优秀文档的结构、风格和写作模式,(2) 从文档中提炼关键要素和模板,(3) 基于学习内容生成模仿材料,或 (4) 创建新的提示词或技术文档时使用此技能。支持提示词工程、技术文档、API文档、用户手册等多种文档类型的学习和模仿。
6plugin-creator
将用户提供的 skills、agents、commands、hooks、MCP 配置等组件整理打包成标准 Claude Code 插件。当用户需要:(1) 将现有技能/代理转换为可分发插件,(2) 组织多个组件为统一插件结构,(3) 创建符合插件规范的项目,(4) 从独立配置迁移到插件格式时使用。
2mac-maintenance-cleanup
macOS 系统深度清理和优化工作流。当用户需要以下操作时使用:(1) 清理系统缓存、日志和临时文件,(2) 卸载应用及其残留文件,(3) 分析磁盘空间使用情况,(4) 清理开发项目构建产物,(5) 系统优化和性能提升,(6) 任何关于 Mac 清理和维护的请求。提供交互式菜单、智能诊断和混合模式(指导+自动执行)。
2docx
当用户想要创建、读取、编辑或操作 Word 文档(.docx 文件)时使用此技能。触发条件包括:任何提到 'Word doc'、'word document'、'.docx' 的内容,或要求生成带有目录、标题、页码或信头的专业文档的请求。也用于从 .docx 文件中提取或重组内容、在文档中插入或替换图片、在 Word 文件中执行查找和替换、处理修订追踪或批注,或将内容转换为精美的 Word 文档。如果用户要求将 '报告'、'备忘录'、'信函'、'模板' 或类似交付物作为 Word 或 .docx 文件,请使用此技能。不适用于 PDF、电子表格、Google Docs 或与文档生成无关的一般编码任务。
2