Build This Now
Build This Now
キーボードショートカットステータスラインガイド
フックガイドClaude Code クロスプラットフォームフックClaude Code セットアップフックストップフック自己検証する Claude Code エージェントClaude Code セッションフックClaude Code コンテキストバックアップフックスキルアクティベーションフックClaude Code パーミッションフックClaude CodeのMCPツールフックCommands to Skills
Skills, Subagents, HooksSubagent Sweet SpotCLAUDE.md Best PracticesFix Context Limit
speedy_devvkoen_salo
Blog/Toolkit/Hooks/Skill Activation Hooks

スキルアクティベーションフック

UserPromptSubmitフックがメッセージを解析し、キーワードにマッチしてスキルアクティベーションのヒントを追加することで、Claude Codeが正しいスキルを読み込み忘れることをなくします。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →
speedy_devvWritten by speedy_devvPublished Feb 21, 2026Toolkit hubHooks index

問題: Claude Codeに使うよう指示したスキルが読み込まれない。CLAUDE.mdにルールを移動しても結果は同じ。本来フレームワークが自動的に拾うはずのスキルを、毎回手動でリマインダーとして入力することになる。

即効策: フックがすべてのプロンプトを傍受し、適切なスキル推奨を末尾に付加できる。Claude側での記憶に依存しないため、忘れるという問題が解消される。

「help me implement a feature」というメッセージを送ると、Claudeの入力に実際に届くのは次のような内容だ:

help me implement a feature

SKILL ACTIVATION CHECK

CRITICAL SKILLS (REQUIRED):
  -> session-management

RECOMMENDED SKILLS:
  -> git-commits

ACTION: Use Skill tool BEFORE responding

Claudeはリクエストのすぐ隣に、引き込むべき正確なスキルを確認できる。推測も記憶も不要。

仕組み

フックが紐付くイベントは UserPromptSubmit だ。送信したものはすべてこのフローを通る:

  1. メッセージを入力 - 自然言語のリクエスト
  2. フックが傍受 - Claudeが何も受け取る前
  3. パターンマッチング - フックが skill-rules.json でキーワードとインテントの一致を確認
  4. 推奨を追加 - マッチしたスキルがメッセージに付加される
  5. Claudeが両方受け取る - プロンプトとスキルガイダンスの両方

全体がミリ秒単位で完了する。体感できる遅延はない。

マッチングシステム

2つのストラテジーが並行して動く。

キーワードマッチングはリテラルな文字列チェックだ。「commit」や「git push」と書けば git-commits スキルが発火する。

インテントパターンは実際の言い回しに対してregexを使う。パターン (implement|build).*?feature は「let's implement this feature」も「build a new feature for me」も捉える。

設定: skill-rules.json

各スキルのトリガーは .claude/skills/skill-rules.json に記述する:

{
  "skills": {
    "session-management": {
      "enforcement": "suggest",
      "priority": "critical",
      "promptTriggers": {
        "keywords": ["feature", "implement", "build", "refactor"],
        "intentPatterns": ["(implement|build).*?feature"]
      }
    },
    "git-commits": {
      "enforcement": "suggest",
      "priority": "high",
      "promptTriggers": {
        "keywords": ["commit", "git push", "commit changes"],
        "intentPatterns": ["(create|make).*?commit"]
      }
    }
  }
}

提案はプライオリティ別にグループ化される:

  • Critical - 作業前に必ず読み込む
  • High - 強く推奨
  • Medium - 有用なコンテキスト
  • Low - オプションの強化

自分の言い回しへのカスタマイズ

フックは語彙に合わせて柔軟に変えられる。「git push」の代わりに「push my code」と入力しがちな場合は追加すればいい:

"keywords": ["commit", "git push", "push my code", "commit changes"]

新しいスキルを作ったときは、skill-rules.json でトリガーを編集する。そこに書いた語句を参考に、プロンプトの書き方も自然と揃ってくる。

セッションインテリジェンス

フックはすでに提案したものを記憶する。同じ会話の中で session-management が一度登場していれば、2回目以降は黙っている。カバレッジは維持しつつ、ノイズを減らす。

状態は recommendation-log.json に保持され、7日後に自動でクリアされる。

ClaudeFastでのセットアップ

フックはあらかじめ設定済みで出荷される。.claude/settings.local.json を開いて、次の2つのブロックのいずれかが含まれていることを確認する:

Windows:

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "cmd /c \".claude\\hooks\\SkillActivationHook\\skill-activation-prompt.cmd\""
          }
        ]
      }
    ]
  }
}

Linux/Mac:

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash .claude/hooks/SkillActivationHook/skill-activation-prompt.sh"
          }
        ]
      }
    ]
  }
}

よくある問題

提案が表示されない - キーワードが実際の言い回しと一致していない可能性が高い。フックを手動で実行して出力を確認する:

echo '{"session_id":"test","prompt":"implement a feature"}' | node .claude/hooks/SkillActivationHook/skill-activation-prompt.mjs

不要なタイミングで提案が出る - キーワードが広すぎる。絞り込むか、トリガーをインテントパターンに移動する。

提案が重複する - フックが2か所に同時に設定されている。どちらか1つの設定ファイルに統一して、もう一方から削除する。

次のアクション

  1. skill-rules.json が自分の語彙と合っているか確認する
  2. 新たに作成したスキルのキーワードを追加する
  3. メインのフックガイドでフック全体のカバレッジを設定する
  4. タスク完了を強制するストップフックを設定する
  5. フックを補完するCLAUDE.md設定についてさらに学ぶ
  6. 新しいスキルを作成する必要がある場合はスキルガイドを参照する

スキルアクティベーションフックは人間の記憶をループから取り除く。作業を自然な言葉で説明すれば、適切なスキルを選ぶのはフレームワークの仕事だ。それがフレームワークを持つ意味だ。

Continue in Hooks

  • Slash Commands Are Now Skills: Migrating Commands to Skills
    Claude Code slash commands and skills now do the same thing. Here is how to migrate .claude/commands to .claude/skills and why it pays off.
  • Claude Code セットアップフック
    スクリプト、エージェント、ドキュメントをClaude Codeのセットアップフックに組み合わせる方法。1つのコマンドで決定論的スクリプトを実行し、診断エージェントに出力を渡し、自動更新されるドキュメントを記録する。
  • Claude Code コンテキストバックアップフック
    StatusLineを活用したClaude Codeのコンテキストバックアップフック。10Kトークンごとに構造化されたスナップショットを書き込み、自動圧縮によってエラー文字列・関数シグネチャ・判断内容が失われるのを防ぐ。
  • Claude Code クロスプラットフォームフック
    Claude Codeのクロスプラットフォームフック: .cmd・.sh・.ps1のラッパーを捨て、nodeを直接呼び出すことで、1つの.mjsファイルがmacOS・Linux・Windowsで動く方法。
  • フックガイド
    Claude Code フックの基礎から実践まで: 終了コード、JSON出力、非同期コマンド、HTTPエンドポイント、PreToolUseとPostToolUseのマッチャー、本番環境パターン。
  • Claude CodeのMCPツールフック
    type: mcp_toolを使ってClaude CodeのフックからMCPサーバーのツールを直接呼び出す方法。スキーマ、変数展開の構文、ユースケース、本番パターンまで解説します。

More from Toolkit

  • CLAUDE.md, Skills, Subagents, Hooks: When to Use Which
    Claude Code skills vs subagents vs hooks vs CLAUDE.md: a plain mental model for picking the right primitive, with token costs and examples.
  • Claude Code Subagents: The 3 to 5 Agent Sweet Spot
    Claude code subagents work best at 3-5 concurrent agents. Here is why that ceiling exists, how to set them up, and what to use past it.
  • CLAUDE.md Best Practices: The File That Makes Claude Code Reliable
    CLAUDE.md best practices: keep it under 200 lines, write it by hand, and use hooks when you need real enforcement, not advice.
  • How to Fix Claude Code Running Out of Context
    Claude Code running out of context is a session design problem. Fix it with /compact, lean CLAUDE.md, skills, and subagents, not a bigger window.

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →

Claude Code コンテキストバックアップフック

StatusLineを活用したClaude Codeのコンテキストバックアップフック。10Kトークンごとに構造化されたスナップショットを書き込み、自動圧縮によってエラー文字列・関数シグネチャ・判断内容が失われるのを防ぐ。

Claude Code パーミッションフック

3階層の Claude Code パーミッションフックをインストールする: 安全な呼び出しは即時許可、危険な呼び出しは即時拒否、グレーゾーンは LLM チェック。スキップフラグ不要。

On this page

仕組み
マッチングシステム
設定: skill-rules.json
自分の言い回しへのカスタマイズ
セッションインテリジェンス
ClaudeFastでのセットアップ
よくある問題
次のアクション

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →