rule-catalog について
カテゴリ別の事前作成ルールを確認し、プロジェクトに導入する Hookify スキルです。カスタムルールを作る前に既存ルールを探して適用したい場合に向いており、ルールをテンプレートとしても利用できます。
主な機能
- 01カテゴリ別の事前作成ルールの閲覧
- 02単一ルールまたはカテゴリ全体の導入
- 03Python スクリプトによる一括導入
- 04ルールの動作、有効状態、パターンの編集
活用シーン
- 01メインブランチへの強制プッシュを防止
- 02Python やセキュリティ操作のルール追加
- 03カテゴリ単位でルールを一括導入
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill rule-catalogインストール後、Claude Code で/rule-catalogを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
rules/documentation/require-slop-scan-for-docs.mdwarn-slop-in-markdown.mdrules/git/block-destructive-git.mdblock-force-push.mdwarn-large-commits.mdwarn-risky-git.mdrules/performance/warn-large-file-ops.mdrules/python/block-dynamic-code.mdwarn-print-statements.mdrules/security/destructive-command-guard.mdrequire-security-review.mdrules/stewardship/campsite-check.mdrules/workflow/enforce-scope-guard.mdplan-before-large-dispatch.mdrequire-spec-before-code.md詳細
使用する場面
- カテゴリ別に利用可能な hookify ルールを確認する
- 標準の事前作成済みルールをプロジェクトにインストールする
- カスタムルールを作成する前に、すぐに使えるルールを探す
使用しない場面
- カスタムルールをゼロから作成する場合:代わりに
hookify:writing-rulesを使用してください - 既存のインストール済みルールをデバッグまたは変更する場合
- Python SDK フックを変換する場合:代わりに
hookify:from-hookを使用してください
Hookify ルールカタログ
一般的なシナリオ向けの事前作成済みルールです。直接インストールするか、テンプレートとして使用してください。
クイックインストール
# 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
確認: python --version を実行し、Python 環境を確認してください。
利用可能なルール
git/ - Git の安全対策
| ルール | アクション | デフォルト | 説明 |
|---|---|---|---|
block-force-push | block | 有効 | main/master への強制プッシュを防止します |
block-destructive-git | block | 有効 | reset --hard、checkout -- .、clean -fd などをブロックします |
warn-risky-git | warn | 有効 | rebase -i、soft reset などについて警告します |
warn-large-commits | warn | 有効 | サイズの大きいバイナリファイルについて警告します |
python/ - Python の品質
| ルール | アクション | デフォルト | 説明 |
|---|---|---|---|
block-dynamic-code | block | 有効 | 危険な動的コード実行をブロックします |
warn-print-statements | warn | 有効 | print() よりもロギングを推奨します |
security/ - セキュリティゲート
| ルール | アクション | デフォルト | 説明 |
|---|---|---|---|
require-security-review | block | 有効 | 認証コードのレビューを必須にします |
destructive-command-guard | warn | 有効 | 本番環境を想定したパスを対象とする破壊的コマンドについて警告します |
workflow/ - ワークフローの適用
| ルール | アクション | デフォルト | 説明 |
|---|---|---|---|
enforce-scope-guard | warn | 有効 | 過剰なエンジニアリングを防止します(imbue) |
require-spec-before-code | block | 無効 | 仕様を先に作成する開発を促します |
performance/ - リソース管理
| ルール | アクション | デフォルト | 説明 |
|---|---|---|---|
warn-large-file-ops | warn | 有効 | サイズの大きいファイルへの書き込みを監視します |
インストール手順
方法 1:Claude による支援(推奨)
このスキルを呼び出す際に、インストールするルールを Claude に伝えてください。
**Verification:** Run `git status` to confirm working tree state.
Install git:block-force-push
確認: コマンドに --help フラグを付けて実行し、利用可能であることを確認してください。
Claude は次の処理を行います。
skills/rule-catalog/rules/git/block-force-push.mdからルールを読み取ります.claude/hookify.block-force-push.local.mdに書き込みます- インストールを確認します
方法 2:Python スクリプト
一括操作や自動化を行う場合:
# 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
確認: コマンドに --help フラグを付けて実行し、利用可能であることを確認してください。
方法 3:手動コピー
plugins/hookify/skills/rule-catalog/rules/<category>/<rule>.mdからルールを探します.claude/hookify.<rule-name>.local.mdにコピーします- 必要に応じて
enabled: true/falseを編集します
ルールファイルの場所
ルールは、このスキルを基準とした相対パスに保存されています。
**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
確認: コマンドに --help フラグを付けて実行し、利用可能であることを確認してください。
ルールのカスタマイズ
インストール後、.claude/ 内のルールを編集します。
# Change action from warn to block
action: block
# Disable temporarily
enabled: false
# Modify pattern
pattern: your-custom-pattern
確認: コマンドに --help フラグを付けて実行し、利用可能であることを確認してください。
新しいルールのプルリクエストを作成する
カタログにルールを追加するには:
- 適切なカテゴリにルールファイルを作成します
- 命名規則
kebab-case.mdに従います - 代替案を含む詳細なメッセージを記載します
- 提出前に十分にテストします
- この SKILL.md のカタログ表を更新します
関連項目
Skill(hookify:writing-rules)- カスタムルールを作成します/hookify:list- インストール済みのルールを表示します/hookify:configure- インストール済みのルールを管理します
完了条件
- インストール済みのルールファイルが
.claude/hookify.<rule-name>.local.mdに存在し、フロントマターでenabled: trueになっている - セッションを再起動しなくてもルールが有効になる。該当するパターンを トリガーして、警告またはブロックの応答が表示されることを確認する
- Python スクリプトを使用してインストールする場合、終了コード 0 が返され、 ルールファイルが対象のパスに存在する
- ルールファイルの構造がカタログのソース
skills/rule-catalog/rules/<category>/<rule>.mdと一致している。インストール中に フィールドがひそかに欠落していない
コメント
Markdown 対応