@athola/rule-catalog
skillBrowse the rule catalog and guide installation. Use when looking for ready-made rules, installing standard rules, browsing available categories. Do not use when writing custom rules - use writing-rules skill instead.
apm::install
apm install @athola/rule-catalogapm::skill.md
---
name: rule-catalog
description: Browse the rule catalog and guide installation. Use when looking for
ready-made rules, installing standard rules, browsing available categories. Do not
use when writing custom rules - use writing-rules skill instead.
category: hook-development
tags:
- hookify
- rules
- catalog
- install
- templates
dependencies: []
estimated_tokens: 1500
complexity: beginner
provides:
patterns:
- rule-installation
- rule-browsing
infrastructure:
- rule-catalog
usage_patterns:
- browsing-rules
- installing-rules
---
## 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-rules` instead
- Debugging or modifying existing installed rules
- Converting Python SDK hooks — use `hookify:from-hook` instead
## 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
```bash
# 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 |
### 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:
1. Read the rule from `skills/rule-catalog/rules/git/block-force-push.md`
2. Write it to `.claude/hookify.block-force-push.local.md`
3. Confirm installation
### Method 2: Python Script
For bulk operations or automation:
```bash
# 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
1. Find rule in `plugins/hookify/skills/rule-catalog/rules/<category>/<rule>.md`
2. Copy to `.claude/hookify.<rule-name>.local.md`
3. Edit `enabled: true/false` as 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
├── 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/`:
```yaml
# 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:
1. Create rule file in appropriate category
2. Follow naming convention: `kebab-case.md`
3. Include detailed message with alternatives
4. Test thoroughly before submitting
5. Update this SKILL.md catalog table
## Related
- `Skill(hookify:writing-rules)` - Create custom rules
- `/hookify:list` - Show installed rules
- `/hookify:configure` - Manage installed rules
## Troubleshooting
### Common Issues
**Command not found**
Ensure all dependencies are installed and in PATH
**Permission errors**
Check file permissions and run with appropriate privileges
**Unexpected behavior**
Enable verbose logging with `--verbose` flag