llm-gate について
llm-gateは、Claude Codeのツール操作にLLMチェックを追加するスキルです。プロンプトまたはエージェントのフックで操作を検証し、条件に応じて呼び出しをブロックします。
主な機能
- 01プロンプトフックによる品質チェック
- 02エージェントフックによる複雑なレビュー
- 03条件に基づく操作の照合
- 04モデルとタイムアウトの設定
- 05不適合時のツール呼び出しブロック
活用シーン
- 01Conventional Commits形式の検証
- 02危険な破壊的コマンドの検出
- 03ファイル書き込み内の秘密情報チェック
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill llm-gateインストール後、Claude Code で/llm-gateを入力して読み込まれたか確認します。
詳細
LLM ゲート
Claude Code の type: "prompt" フックを使って、AI が操作を検証するインテリジェントな品質ゲートを作成します。
トリガー
次のような場合に使用します。
- コミットメッセージの検証を設定するとき
- リンターでは検出できないコード規約を適用するとき
- 特定の操作向けにスマートなガードレールを作成するとき
プロンプトフックの仕組み
Claude Code は、条件を検証する小規模な LLM(デフォルトでは Haiku)を実行する type: "prompt" フックをサポートしています。
{
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "prompt",
"if": "Bash(git commit*)",
"prompt": "Check if this git commit follows conventional commit format (<type>(<scope>): <summary>). The commit command is: $ARGUMENTS. Return {\"ok\": true} if valid, {\"ok\": false, \"reason\": \"...\"} if not.",
"model": "haiku",
"timeout": 15
}]
}]
}
フックの処理:
$ARGUMENTSを JSON 形式のフック入力に置き換えます- Haiku に送信します(高速かつ低コスト)
{"ok": true}または{"ok": false, "reason": "..."}を期待します- ok でない場合 → 理由とともにツール呼び出しをブロックします
ゲートの例
Conventional Commit バリデーター
{
"type": "prompt",
"if": "Bash(git commit*)",
"prompt": "Verify this git commit follows conventional commits: type(scope): summary. Types: feat,fix,refactor,test,docs,chore,perf,ci. Summary under 72 chars. Input: $ARGUMENTS",
"model": "haiku"
}
破壊的なコマンドのガード
{
"type": "prompt",
"if": "Bash(rm *)",
"prompt": "Check if this rm command is safe. Flag if it uses -rf on important directories (src/, node_modules/, .git/). Input: $ARGUMENTS",
"model": "haiku"
}
API キー漏えいの防止
{
"type": "prompt",
"matcher": "Write",
"prompt": "Check if this file write contains hardcoded API keys, secrets, passwords, or tokens. Input: $ARGUMENTS. Return ok:false if secrets found.",
"model": "haiku"
}
エージェントフック
複雑な検証には、type: "agent"(完全なエージェントを実行)を使用します。
{
"type": "agent",
"if": "Bash(git push*)",
"prompt": "Review all staged changes for security issues before pushing. Check for: hardcoded secrets, SQL injection, XSS vulnerabilities, exposed internal URLs.",
"model": "haiku",
"timeout": 60
}
セットアップガイド
- ゲートを設ける操作を選びます
- プロンプトを作成します(焦点を絞り、100 語未満にします)
- モデルを選びます(速度重視なら haiku、精度重視なら sonnet)
- タイムアウトを設定します(プロンプトは 15 秒、エージェントは 60 秒)
- 適切なイベントの hooks.json に追加します
ルール
- 単純なチェックには Haiku を使用します(高速かつ低コスト)
- 複雑な分析に限り Sonnet を使用します
- 信頼性を高めるため、プロンプトは 100 語未満にします
- すべてのツール呼び出しで実行されないよう、必ず
if条件を含めます - 適切なタイムアウトを設定します(プロンプトは 15 秒、エージェントは 60 秒)
- ワークフローをブロックしないよう、デプロイ前にフックをテストします
コメント
Markdown 対応