Agent skill

create-hook

プロジェクトの .claude/settings.json に新しいフックを追加する。「フック作成」「新しいフック」「フックを作って」「フック追加」「hook 作成」「フックを追加したい」「新規フック」などで起動。ツール実行前後やセッションイベントで実行されるフックを設定。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/create-hook

SKILL.md

Create Hook

プロジェクトの .claude/settings.json に新しいフックを追加します。

引数

  • $ARGUMENTS: --help でヘルプを表示

実行手順

--help が指定された場合: このファイルの内容を要約して表示し、終了。

ステップ 1: 情報収集

ユーザーに以下を聞く:

  1. イベント - いつ実行するか

    • PreToolUse: ツール実行前(ブロック可能、matcher 必須)
    • PostToolUse: ツール実行後(matcher 必須)
    • UserPromptSubmit: ユーザープロンプト送信時
    • Notification: 通知時
    • Stop: レスポンス完了時
    • SubagentStop: サブエージェント完了時
    • PreCompact: Compact 操作前
    • SessionStart: セッション開始時
    • SessionEnd: セッション終了時
  2. マッチャー(PreToolUse / PostToolUse の場合のみ)

    • 例: Bash, Write, Edit|Write, *(すべて)
  3. フックタイプ

    • command: Bash コマンドを実行
    • prompt: LLM(Haiku)で評価
  4. 実行するコマンド(type: command の場合)

    • 例: npm run lint, echo "完了"

ステップ 2: 検証

  • イベントが有効か確認
  • PreToolUse / PostToolUse の場合、マッチャーが指定されているか確認
  • .claude/settings.json が存在するか確認(なければ作成)

イベント一覧

イベント matcher 説明
PreToolUse 必須 ツール実行前(ブロック可能)
PostToolUse 必須 ツール実行後
UserPromptSubmit 不要 ユーザープロンプト送信時
Notification 不要 通知時
Stop 不要 レスポンス完了時
SubagentStop 不要 サブエージェント完了時
PreCompact 不要 Compact 操作前
SessionStart 不要 セッション開始時
SessionEnd 不要 セッション終了時

ステップ 3: settings.json の hooks セクションを更新

.claude/settings.json の hooks セクションを更新:

PreToolUse / PostToolUse の場合(matcher 必須):

json
{
  "hooks": {
    "{イベント}": [
      {
        "matcher": "{マッチャー}",
        "hooks": [
          {
            "type": "command",
            "command": "{コマンド}"
          }
        ]
      }
    ]
  }
}

その他のイベントの場合(matcher 不要):

json
{
  "hooks": {
    "{イベント}": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "{コマンド}"
          }
        ]
      }
    ]
  }
}

既存の hooks セクションがある場合は、適切なイベントに追加する。

ステップ 4: 報告

作成されたファイルと次のステップを表示:

text
フックを作成しました: {イベント} {マッチャー(あれば)}

更新:
- .claude/settings.json

次のステップ:
- /shiiman-claude:create-hook で別のフックを追加
- /shiiman-claude:create-command でコマンドを追加
- /shiiman-claude:create-skill でスキルを追加
- /shiiman-claude:create-subagent でサブエージェントを追加

重要な注意事項

  • ✅ PreToolUse / PostToolUse には必ず matcher を指定
  • .claude/settings.json の hooks セクションに設定
  • ❌ matcher が必要なイベントで matcher を省略しない
  • ❌ 別ファイル(hooks.json)は使用しない

Didn't find tool you were looking for?

Be as detailed as possible for better results