ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

ECC hookify-list 命令实战:一站式盘点与管理你的 Claude Code 行为防护规则

2026/9/11 22:58:05 拓冰建站 浏览量
ECC hookify-list 命令实战:一站式盘点与管理你的 Claude Code 行为防护规则 ECC hookify-list 命令实战一站式盘点与管理你的 Claude Code 行为防护规则【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC导读本文以 ECCEverything Claude Code仓库中的hookify-list命令定义为主体系统讲解如何在 Claude Code 会话中一键检索、格式化展示所有已配置的 hookify 规则并延伸覆盖规则文件格式、事件类型、配套命令/hookify、/hookify-configure、/hookify-help以及规则与 Claude Code hook 系统的集成原理。读完本文你将能熟练查看、诊断、启停项目中的每一份行为防护规则构建一套可持续维护的 Agent 行为治理清单。hookify 规则体系从防不胜防到有清单可查在长期使用 Claude Code 等 Agent 编码工具的过程中用户经常遭遇重复性的坏行为Agent 反复在.env文件里写入密钥、反复使用rm -rf危险命令、反复引入console.log调试残留、反复改写用户刚恢复的文件。ECC 的 hookify 体系正是为解决这类问题而生它把希望 Agent 不再做的事沉淀为规则文件并接入 Claude Code 的 hook 事件机制在对应行为即将发生时予以警告warn或阻止block。hookify 规则的载体是 Markdown 文件 YAML frontmatter统一存放在项目根目录的.claude/下命名约定为.claude/hookify.{规则名}.local.md。规则越多就越需要一个台账来盘点这正是hookify-list命令的核心价值它把所有已配置规则汇总为一张可读表格让你一眼看清每条规则的名字、启停状态、绑定事件、匹配模式与存放文件。英文原版定义见 commands/hookify-list.md日文译本见 docs/ja-JP/commands/hookify-list.md两者内容一致本文以英文版与日文版共同描述的行为为准展开。/hookify-list命令执行步骤与输出语义命令的四步执行流程依据 commands/hookify-list.md 的定义/hookify-list在会话中按以下四步工作扫描规则文件搜索项目内所有.claude/hookify.*.local.md文件即所有以hookify.开头、以.local.md结尾的规则文件解析 frontmatter逐个读取每个文件的 YAML 头部提取五个关键字段——name规则名、enabled是否启用、event绑定事件、action动作、pattern匹配模式渲染表格将解析结果格式化为 Markdown 表格输出汇总与提示显示规则总数并提醒用户可通过/hookify-configure在之后随时改变规则的启用状态。表格输出的字段语义原命令定义给出的输出骨架为规则有效Enabled事件Event模式Pattern文件File...............各列的语义如下Rule规则名来自 frontmatter 的name字段通常为 kebab-case 短横线命名如warn-env-api-keys是规则的唯一标识Enabled启用状态来自enabled字段取值为true或falsefalse表示规则已存在但被临时停用并未删除Event事件来自event字段标识该规则挂载在哪个 hook 事件上取值为bash、file、stop、prompt、all之一Pattern模式来自pattern字段即触发规则所需匹配的正则表达式File文件规则文件本身的路径即.claude/hookify.{name}.local.md便于直接定位编辑。值得一提的是原命令定义的表头只列出name / enabled / event / pattern四项而action动作字段也在第二步的读取范围内。从 ECC 规则编写规范见 skills/hookify-rules/SKILL.md可以推断action取值为warn或blockwarn仅向 Agent 展示消息而不阻断操作block则直接阻止对应操作继续执行实际展示时可将action并入 Pattern 列或单独成列以便快速识别哪些规则是硬拦截、哪些是软提醒。规则文件格式全解析frontmatter 字段与高级条件要真正读懂/hookify-list输出的每一行就必须理解规则文件本身的结构。结合 skills/hookify-rules/SKILL.md 与 commands/hookify-help.md 的权威定义一个最简规则文件如下--- name: rule-identifier enabled: true event: bash|file|stop|prompt|all action: block|warn pattern: regex pattern --- 规则触发时向 Agent 展示的消息。 支持多行 Markdown 内容。各 frontmatter 字段的完整说明字段是否必填取值说明name是kebab-case 字符串唯一标识建议动词优先命名warn-*、block-*、require-*enabled是true/false启停开关停用无需删除文件event是bash/file/stop/prompt/all规则绑定哪个 hook 事件action否warn/blockwarn默认只显示消息block阻止操作pattern视情况正则字符串匹配模式使用conditions高级语法时可不填高级格式多条件规则对于单一正则无法表达的复杂场景规则支持conditions数组多个条件需全部命中才触发--- name: warn-env-api-keys enabled: true event: file conditions: - field: file_path operator: regex_match pattern: \.env$ - field: new_text operator: contains pattern: API_KEY --- 你在向 .env 文件写入 API 密钥。请确认该文件已被加入 .gitignore各事件可用的条件字段与运算符如下按事件的字段bash事件可匹配commandfile事件可匹配file_path、new_text、old_text、contentprompt事件可匹配user_prompt运算符regex_match、contains、equals、not_contains、starts_with、ends_with。/hookify-list在解析这类高级规则时会以conditions替代pattern字段参与展示读者可通过表格中 Pattern 列的差异快速区分简单正则规则与多条件规则。事件类型与正则模式写出能被正确匹配的规则/hookify-list表格中的 Event 列直接反映规则挂载点理解五种事件是正确排障的前提详见 commands/hookify-help.md事件触发时机匹配对象bash使用 Bash 工具时完整命令字符串file使用 Write/Edit含 MultiEdit工具时文件路径与内容stop会话/响应结束时常配合.*用作完成性检查与提醒prompt用户提交消息时用户输入内容all所有事件—针对bash与file事件的常见正则示例源自 skills/hookify-rules/SKILL.mdbash 危险命令rm\s-rf、dd\sif、mkfsbash 权限提升sudo\s、su\sbash 权限问题chmod\s777file 调试残留console\.log\(、debuggerfile 安全风险eval\(、innerHTML\s*file 敏感文件\.env$、credentials、\.pem$正则编写要点转义特殊字符.写为\.(写为\(常用简写\s空白、\d数字、\w单词字符量词一个或多个、*零个或多个、?可选用|表达或关系避免过宽log会误匹配login、dialog应使用console\.log\(避免过窄rm -rf /tmp过于具体应使用rm\s-rf注意 YAML 转义推荐使用不带引号的模式若必须用引号包裹需将\s写成\\s。部署前可用一条命令快速验证正则是否按预期工作源自 skills/hookify-rules/SKILL.mdpython3 -c import re; print(re.search(ryour_pattern, test text))配套命令工作流创建 → 盘点 → 启停/hookify-list不是孤立命令它与另外三个命令构成完整的管理闭环这一点在命令定义的最后一步提示用户可用/hookify-configure改变状态中已明确体现。第一步/hookify创建规则调用形式为/hookify [防止したい動作の説明]日文版定义见 commands/hookify.md 对应的日文译本 docs/ja-JP/commands/hookify.md带参数直接解析用户描述的不希望发生的行为生成规则草案不带参数调用conversation-analyzer代理自动分析当前会话从以下信号中挖掘值得固化的行为见 agents/conversation-analyzer.md显式纠正不要那样做、我说过不要……对重复错误的挫败反应用户反复说不对、错了被撤销的修改git checkout -- file、git restore file等回滚操作反复出现的同类问题随后向用户展示行为描述、建议事件类型、建议匹配模式与建议动作经确认后为每条规则生成.claude/hookify.{name}.local.md文件。第二步/hookify-list盘点规则即本文核心命令。会话中任何时刻执行/hookify-list即可获得全部规则的表格化清单与总数统计是排查为什么某条规则没生效的第一入口——例如发现某规则enabled: false或 Event 列与预期不符。第三步/hookify-configure启停规则定义见 commands/hookify-configure.md日文译本 docs/ja-JP/commands/hookify-configure.md。该命令同样先扫描全部规则文件、读取每条规则当前状态随后以列表形式呈现每条规则的启用/停用状态询问用户希望切换哪条规则最后更新对应文件中的enabled:字段并确认变更。这意味着规则的启停不需要手动编辑文件全程可交互完成。第四步/hookify-help查阅完整文档commands/hookify-help.md 汇总了事件类型、规则文件格式、命令清单与正则编写建议是上述命令的在线速查手册。规则与 Claude Code hook 系统的集成原理/hookify-list扫描到的规则文件之所以能产生约束力是因为它们被桥接进了 Claude Code 的 hook 事件体系。ECC 的 hook 运行机制详见 hooks/README.md可概括为用户请求 → Claude 选择工具 → PreToolUse hook 运行 → 工具执行 → PostToolUse hook 运行PreToolUse工具执行前运行可阻止退出码 2或警告输出到 stderr 而不阻断PostToolUse工具执行后运行可分析输出但不能阻止Stop每次 Claude 响应后运行SessionStart / SessionEnd会话生命周期边界触发PreCompact上下文压缩前触发适合保存状态。hookify 的bash、file、prompt、stop事件分别映射到 Bash 调用前、Write/Edit 前、用户消息提交、响应结束等 hook 时机warn对应写 stderr 提醒block对应退出码 2 阻止工具执行。仓库中实际的 hook 注册与调度配置存放在 hooks/hooks.json其中 PreToolUse 阶段已经挂载了多条针对 Bash、Write、Edit 等工具的钩子规则执行逻辑由 scripts/hooks 下的脚本实现。从仓库结构可以推断hookify 规则采用.local.md后缀与 ECC 自身内置 hooks 区分.local表明这些规则由用户本地维护、针对当前项目定制而内置 hooks 则随 ECC 安装提供。两者共同构成内置守卫 项目级定制防护的双层防线。规则维护最佳实践启用 vs 删除使用enabled: false临时停用而非删除文件规则历史与模式设计得以保留日后可通过/hookify-configure一键恢复纳入版本控制忽略将.claude/*.local.md加入.gitignore见 skills/hookify-rules/SKILL.md 的文件组织建议避免本地行为约束被误提交、也避免团队成员的规则互相覆盖命名规范化采用warn-*、block-*、require-*的动词优先命名使/hookify-list输出的 Rule 列自带语义先测后部署任何新正则先通过python3 -c import re; ...在测试文本上验证再通过/hookify落盘定期盘点把/hookify-list纳入日常会话巡检结合规则总数与 Event 分布判断是否存在重复规则或长期未触发可考虑停用的僵尸规则。小结/hookify-list以搜索 → 解析 frontmatter → 表格渲染 → 汇总提示四步完成对全部 hookify 规则的一次透明盘点是 ECC 行为治理体系中的台账中枢。配合/hookify创建、/hookify-configure启停、/hookify-help查阅文档以及 skills/hookify-rules/SKILL.md编写规范、agents/conversation-analyzer.md行为挖掘、hooks/README.mdhook 运行机制开发者可以在 Claude Code 会话中持续沉淀、审查并收敛 Agent 的重复性坏行为让每一次纠正都转化为可复用、可查询、可开关的工程资产。【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考