Skills: トリガーと自動有効化

最終更新:2026-08-31

良い Skill は空気のようなもの——必要な時にそこにあり、必要ない時は邪魔にならない。トリガーはその「必要な時」のスイッチです。


1. トリガータイプ

(1) キーワードトリガー

最も一般的なトリガー方式で、ユーザー入力のキーワードにマッチします:

YAML
triggers:
  - keyword: "review|コードレビュー"
  - keyword: "debug|デバッグ|トラブルシュート"
マッチングルール 説明
完全一致 キーワードと完全に等しい "deploy"
部分一致 キーワードを含めばOK "review" は "review してください" にマッチ
正規表現 正規表現パターン "fix.*bug"
複数キーワード いずれかにマッチすればトリガー "refactor|リファクタリング"

(2) ファイルタイプトリガー

操作するファイルの拡張子やパスに基づいて自動有効化:

YAML
triggers:
  - file_pattern: "**/*.py"
  - file_pattern: "src/components/**/*.tsx"

(3) コンテキスト条件トリガー

プロジェクトの環境や会話の状態に基づいて有効化:

YAML
triggers:
  - context: "git_diff_available"
  - context: "test_failed"
  - context: "has_package_json"

2. トリガーの優先度

複数の Skill が同時にマッチした場合、優先度で選択されます:

TEXT 📖 参照専用
優先度の高い順:
1. 手動指定呼び出し(ユーザーが明示的に要求)
2. キーワード完全一致
3. コンテキスト条件マッチ
4. ファイルタイプ部分一致
5. デフォルトフォールバック Skill

(1) 優先度の設定

YAML
triggers:
  - keyword: "緊急修正"
    priority: 100
  - keyword: "修正"
    priority: 50

(2) 競合の解決

2つの Skill が競合する場合:

TEXT 📖 参照専用
ユーザー入力: "review この Python ファイルの bug"

マッチ結果:
├── code-review Skill (keyword: "review") → 優先度 80
├── python-review Skill (keyword: "review" + file: *.py) → 優先度 90 ✅
└── debug Skill (keyword: "bug") → 優先度 70

結果: python-review が選択、より正確にマッチしているため

3. 複合トリガー

(1) AND 組み合わせ

すべての条件を同時に満たした場合にのみトリガー:

YAML
triggers:
  - and:
      - keyword: "デプロイ"
      - context: "main_branch"

(2) OR 組み合わせ

いずれかの条件を満たした場合にトリガー:

YAML
triggers:
  - or:
      - keyword: "テスト|test"
      - file_pattern: "**/*test*.py"

(3) NOT 除外

条件を満たした場合にトリガーしない:

YAML
triggers:
  - keyword: "リファクタリング"
  - not:
      - context: "production_branch"

4. トリガーの実践

▶ 例:スマートスケジューリングシステム

Alice はチームのために自動トリガーシステムを設計しました:

YAML
# .claude/skills/auto-test.md
---
name: auto-test
triggers:
  - and:
      - file_pattern: "src/**/*.py"
      - context: "file_modified"
  - not:
      - file_pattern: "src/**/migrations/**"
---

Python ソースファイルを修正後、自動的にテストを実行......

Bob は評価しています:「このシステムにより、チームはどの Skill を呼び出すか覚える必要がなくなります——普通に仕事をしているだけで、必要なサポートが自動的に来る。」

(1) 一般的なトリガーシナリオ

シナリオ トリガー方式 例 Skill
特定のファイルタイプを開く ファイルタイプ Python コードレビュー
コミット前 コンテキスト条件 Pre-commit チェック
テスト失敗 コンテキスト条件 自動デバッグ
特定コマンドの入力 キーワード デプロイ、リリース
PR 作成 コンテキスト条件 コードレビュー

❓ よくある質問

Q キーワードが多すぎると競合しませんか?
A はい。各 Skill には1〜2個のコアキーワードを使用し、広範な重複を避けることをお勧めします。競合時は優先度と精度で解決します。
Q コンテキスト条件には何がサポートされていますか?
A プラットフォームにより異なりますが、一般的に:git_diff_available、test_failed、branch_name、file_modified、has_config_file などがあります。
Q 特定の Skill の自動トリガーを無効にできますか?
A はい。設定で auto_trigger: false に設定すると、その Skill は手動呼び出しのみになります。

📖 まとめ


📝 練習問題

  1. 基礎問題(難易度⭐):以前に作成した code-review Skill に2つの異なるタイプのトリガーを追加してください。
  2. 応用問題(難易度⭐⭐):複合トリガーを設計し、Python テストファイルを修正した時に自動的にテストを実行するが、マイグレーションファイルは除外してください。
  3. チャレンジ問題(難易度⭐⭐⭐):5+の Skill 間の優先度と競合を処理するチームレベルのトリガースケジューリングシステムを設計してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%