---
id: daily-hookify-rules
name: "hookify-rules"
url: https://skills.yangsir.net/skill/daily-hookify-rules
author: affaan-m
domain: ai-productivity-automation
tags: ["automation", "hooks", "workflow-automation", "configuration", "productivity-tools"]
install_count: 4100
rating: 4.40 (21 reviews)
github: https://github.com/affaan-m/everything-claude-code
---

# hookify-rules

> 快速创建 Hookify 规则文件，定义代码模式监控和自动化响应，无需手动编写 YAML 配置

**Stats**: 4,100 installs · 4.4/5 (21 reviews)

## Before / After 对比

### 规则配置效率

**Before**:

手动编写 Hookify 规则文件的 markdown 和 YAML frontmatter，需要查阅文档理解语法格式，一个规则文件需要 20-30 分钟，经常出现语法错误

**After**:

描述需要监控的代码模式和响应动作，自动生成符合规范的 Hookify 规则文件，2 分钟完成配置，直接可用无需调试

| Metric | Before | After | Change |
|---|---|---|---|
| 配置时间 | 25分钟 | 2分钟 | -92% |

## Readme

# hookify-rules

# Writing Hookify Rules

## Overview

Hookify rules are markdown files with YAML frontmatter that define patterns to watch for and messages to show when those patterns match. Rules are stored in `.claude/hookify.{rule-name}.local.md` files.

## Rule File Format

### Basic Structure

```
---
name: rule-identifier
enabled: true
event: bash|file|stop|prompt|all
pattern: regex-pattern-here
---

Message to show Claude when this rule triggers.
Can include markdown formatting, warnings, suggestions, etc.

```

### Frontmatter Fields

Field
Required
Values
Description

name
Yes
kebab-case string
Unique identifier (verb-first: warn-*, block-*, require-*)

enabled
Yes
true/false
Toggle without deleting

event
Yes
bash/file/stop/prompt/all
Which hook event triggers this

action
No
warn/block
warn (default) shows message; block prevents operation

pattern
Yes*
regex string
Pattern to match (*or use conditions for complex rules)

### Advanced Format (Multiple 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
---

You're adding an API key to a .env file. Ensure this file is in .gitignore!

```

**Condition fields by event:**

- bash: `command`

- file: `file_path`, `new_text`, `old_text`, `content`

- prompt: `user_prompt`

**Operators:** `regex_match`, `contains`, `equals`, `not_contains`, `starts_with`, `ends_with`

All conditions must match for rule to trigger.

## Event Type Guide

### bash Events

Match Bash command patterns:

- Dangerous commands: `rm\s+-rf`, `dd\s+if=`, `mkfs`

- Privilege escalation: `sudo\s+`, `su\s+`

- Permission issues: `chmod\s+777`

### file Events

Match Edit/Write/MultiEdit operations:

- Debug code: `console\.log\(`, `debugger`

- Security risks: `eval\(`, `innerHTML\s*=`

- Sensitive files: `\.env$`, `credentials`, `\.pem$`

### stop Events

Completion checks and reminders. Pattern `.*` matches always.

### prompt Events

Match user prompt content for workflow enforcement.

## Pattern Writing Tips

### Regex Basics

- Escape special chars: `.` to `\.`, `(` to `\(`

- `\s` whitespace, `\d` digit, `\w` word char

- `+` one or more, `*` zero or more, `?` optional

- `|` OR operator

### Common Pitfalls

- **Too broad**: `log` matches "login", "dialog" — use `console\.log\(`

- **Too specific**: `rm -rf /tmp` — use `rm\s+-rf`

- **YAML escaping**: Use unquoted patterns; quoted strings need `\\s`

### Testing

```
python3 -c "import re; print(re.search(r'your_pattern', 'test text'))"

```

## File Organization

- **Location**: `.claude/` directory in project root

- **Naming**: `.claude/hookify.{descriptive-name}.local.md`

- **Gitignore**: Add `.claude/*.local.md` to `.gitignore`

## Commands

- `/hookify [description]` - Create new rules (auto-analyzes conversation if no args)

- `/hookify-list` - View all rules in table format

- `/hookify-configure` - Toggle rules on/off interactively

- `/hookify-help` - Full documentation

## Quick Reference

Minimum viable rule:

```
---
name: my-rule
enabled: true
event: bash
pattern: dangerous_command
---
Warning message here

```
Weekly Installs525Repository[affaan-m/everyt…ude-code](https://github.com/affaan-m/everything-claude-code)GitHub Stars157.6KFirst Seen11 days agoSecurity Audits[Gen Agent Trust HubPass](/affaan-m/everything-claude-code/hookify-rules/security/agent-trust-hub)[SocketPass](/affaan-m/everything-claude-code/hookify-rules/security/socket)[SnykPass](/affaan-m/everything-claude-code/hookify-rules/security/snyk)Installed oncodex494opencode478gemini-cli475cursor475kimi-cli474antigravity474

---
*Source: https://skills.yangsir.net/skill/daily-hookify-rules*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-hookify-rules/markdown*