Claude-skill-registry create-hook

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

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/create-hook" ~/.claude/skills/majiayu000-claude-skill-registry-create-hook && rm -rf "$T"
manifest: skills/data/create-hook/SKILL.md
source content

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 必須):

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

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

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

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

ステップ 4: 報告

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

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

更新:
- .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)は使用しない