When To Use
- Browsing available hookify rules by category
- Installing standard pre-built rules into a project
- Looking for ready-made rules before writing custom ones
When NOT To Use
- Writing custom rules from scratch — use
hookify:writing-rulesinstead - Debugging or modifying existing installed rules
- Converting Python SDK hooks — use
hookify:from-hookinstead
Table of Contents
- [Quick Install](#quick-install)
- [Available Rules](#available-rules)
- [git/ - Git Safety](#git----git-safety)
- [python/ - Python Quality](#python----python-quality)
- [security/ - Security Gates](#security----security-gates)
- [workflow/ - Workflow Enforcement](#workflow----workflow-enforcement)
- [performance/ - Resource Management](#performance----resource-management)
- [Installation Instructions](#installation-instructions)
- [Method 1: Claude-Assisted (Recommended)](#method-1:-claude-assisted-(recommended))
- [Method 2: Python Script](#method-2:-python-script)
- [Method 3: Manual Copy](#method-3:-manual-copy)
- [Rule File Locations](#rule-file-locations)
- [Customizing Rules](#customizing-rules)
- [Creating Pull Requests for New Rules](#creating-pull-requests-for-new-rules)
- [Related](#related)
Hookify Rule Catalog
Pre-built rules for common scenarios. Install directly or use as templates.
Quick Install
# Install a specific rule
Skill(hookify:rule-catalog) then install git:block-force-push
# Or use the Python installer for bulk operations
python3 plugins/hookify/scripts/install_rule.py git:block-force-push
python3 plugins/hookify/scripts/install_rule.py --category git
python3 plugins/hookify/scripts/install_rule.py --all
Verification: Run python --version to verify Python environment.
Available Rules
git/ - Git Safety
| Rule | Action | Default | Description | |------|--------|---------|-------------| | block-force-push | block | enabled | Prevent force push to main/master | | block-destructive-git | block | enabled | Block reset --hard, checkout — ., clean -fd, etc. | | warn-risky-git | warn | enabled | Warn about rebase -i, soft reset, etc. | | warn-large-commits | warn | enabled | Warn about large binary files |
python/ - Python Quality
| Rule | Action | Default | Description | |------|--------|---------|-------------| | block-dynamic-code | block | enabled | Block dangerous dynamic code execution | | warn-print-statements | warn | enabled | Encourage logging over print() |
security/ - Security Gates
| Rule | Action | Default | Description | |------|--------|---------|-------------| | require-security-review | block | enabled | Require review for auth code | | destructive-command-guard | warn | enabled | Warn on destructive commands targeting prod-shaped paths |
workflow/ - Workflow Enforcement
| Rule | Action | Default | Description | |------|--------|---------|-------------| | enforce-scope-guard | warn | enabled | Anti-overengineering (imbue) | | require-spec-before-code | block | disabled | Spec-first development |
performance/ - Resource Management
| Rule | Action | Default | Description | |------|--------|---------|-------------| | warn-large-file-ops | warn | enabled | Watch large file writes |
Installation Instructions
Method 1: Claude-Assisted (Recommended)
When you invoke this skill, tell Claude which rule(s) to install:
**Verification:** Run `git status` to confirm working tree state.
Install git:block-force-push
Verification: Run the command with --help flag to verify availability.
Claude will:
- Read the rule from
skills/rule-catalog/rules/git/block-force-push.md - Write it to
.claude/hookify.block-force-push.local.md - Confirm installation
Method 2: Python Script
For bulk operations or automation:
# Install single rule
python3 plugins/hookify/scripts/install_rule.py git:block-force-push
# Install all rules in category
python3 plugins/hookify/scripts/install_rule.py --category python
# Install all rules
python3 plugins/hookify/scripts/install_rule.py --all
# List available rules
python3 plugins/hookify/scripts/install_rule.py --list
# Install to custom directory
python3 plugins/hookify/scripts/install_rule.py git:block-force-push --target /path/to/.claude
Verification: Run the command with --help flag to verify availability.
Method 3: Manual Copy
- Find rule in
plugins/hookify/skills/rule-catalog/rules/<category>/<rule>.md - Copy to
.claude/hookify.<rule-name>.local.md - Edit
enabled: true/falseas needed
Rule File Locations
Rules are stored relative to this skill:
**Verification:** Run the command with `--help` flag to verify availability.
skills/rule-catalog/
├── SKILL.md (this file)
└── rules/
├── git/
│ ├── block-force-push.md
│ ├── block-destructive-git.md
│ ├── warn-risky-git.md
│ └── warn-large-commits.md
├── python/
│ ├── block-dynamic-code.md
│ └── warn-print-statements.md
├── security/
│ ├── require-security-review.md
│ └── destructive-command-guard.md
├── workflow/
│ ├── enforce-scope-guard.md
│ └── require-spec-before-code.md
└── performance/
└── warn-large-file-ops.md
Verification: Run the command with --help flag to verify availability.
Customizing Rules
After installation, edit the rule in .claude/:
# Change action from warn to block
action: block
# Disable temporarily
enabled: false
# Modify pattern
pattern: your-custom-pattern
Verification: Run the command with --help flag to verify availability.
Creating Pull Requests for New Rules
To add rules to the catalog:
- Create rule file in appropriate category
- Follow naming convention:
kebab-case.md - Include detailed message with alternatives
- Test thoroughly before submitting
- Update this SKILL.md catalog table
Related
Skill(hookify:writing-rules)- Create custom rules/hookify:list- Show installed rules/hookify:configure- Manage installed rules