Skip to main content

hookify-rules

当用户要求创建hookify规则、编写hook规则、配置hookify、添加hookify规则或需要关于hookify规则语法和模式的指导时,应使用此技能。

설치로 이동

소스 정보

저장소
affaan-m/ECC
최근 소스 활동
2026년 5월 11일 18:21
감지된 SKILL.md 언어
중국어
스타
264,820
포크
39,570

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
hookify-rules
description
当用户要求创建hookify规则、编写hook规则、配置hookify、添加hookify规则或需要关于hookify规则语法和模式的指导时,应使用此技能。
# 编写 Hookify 规则 ## 概述 Hookify 规则是带有 YAML 前置元数据的 Markdown 文件,用于定义要监控的模式以及匹配时显示的消息。规则存储在 `.claude/hookify.{rule-name}.local.md` 文件中。 ## 规则文件格式 ### 基本结构 ```markdown --- name: rule-identifier enabled: true event: bash|file|stop|prompt|all pattern: regex-pattern-here --- 当此规则触发时向 Claude 显示的消息。 可包含 Markdown 格式、警告、建议等内容。 ``` ### 前置元数据字段 | 字段 | 必填 | 值 | 描述 | |-------|----------|--------|-------------| | name | 是 | kebab-case 字符串 | 唯一标识符(动词优先:warn-*、block-*、require-*) | | enabled | 是 | true/false | 无需删除即可切换 | | event | 是 | bash/file/stop/prompt/all | 触发规则的钩子事件 | | action | 否 | warn/block | warn(默认)显示消息;block 阻止操作 | | pattern | 是* | 正则表达式字符串 | 要匹配的模式(\*或使用 conditions 实现复杂规则) | ### 高级格式(多条件) ```markdown --- 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:`command` * file:`file_path`、`new_text`、`old_text`、`content` * prompt:`user_prompt` **运算符:** `regex_match`、`contains`、`equals`、`not_contains`、`starts_with`、`ends_with` 所有条件必须同时满足才能触发规则。 ## 事件类型指南 ### bash 事件 匹配 Bash 命令模式: * 危险命令:`rm\s+-rf`、`dd\s+if=`、`mkfs` * 权限提升:`sudo\s+`、`su\s+` * 权限问题:`chmod\s+777` ### file 事件 匹配编辑/写入/多重编辑操作: * 调试代码:`console\.log\(`、`debugger` * 安全风险:`eval\(`、`innerHTML\s*=` * 敏感文件:`\.env$`、`credentials`、`\.pem$` ### stop 事件 完成检查与提醒。模式 `.*` 始终匹配。 ### prompt 事件 匹配用户提示内容以强制执行工作流程。 ## 模式编写技巧 ### 正则表达式基础 * 转义特殊字符:`.` 转义为 `\.`,`(` 转义为 `\(` * `\s` 空白字符,`\d` 数字,`\w` 单词字符 * `+` 一个或多个,`*` 零个或多个,`?` 可选 * `|` 或运算符 ### 常见陷阱 * **过于宽泛**:`log` 会匹配 "login"、"dialog"——请使用 `console\.log\(` * **过于具体**:`rm -rf /tmp`——请使用 `rm\s+-rf` * **YAML 转义**:使用无引号模式;带引号的字符串需要 `\\s` ### 测试 ```bash python3 -c "import re; print(re.search(r'your_pattern', 'test text'))" ``` ## 文件组织 * **位置**:项目根目录下的 `.claude/` 目录 * **命名**:`.claude/hookify.{descriptive-name}.local.md` * **Gitignore**:将 `.claude/*.local.md` 添加到 `.gitignore` ## 命令 * `/hookify [description]` - 创建新规则(无参数时自动分析对话) * `/hookify-list` - 以表格形式查看所有规则 * `/hookify-configure` - 交互式切换规则开关 * `/hookify-help` - 完整文档 ## 快速参考 最小可行规则: ```markdown --- name: my-rule enabled: true event: bash pattern: dangerous_command --- 此处显示警告信息 ```
GitHub에서 보기