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 は手動呼び出しのみになります。📖 まとめ
- 3つのトリガータイプ:キーワード、ファイルタイプ、コンテキスト条件
- 優先度ルール:手動指定 > 完全一致 > 部分一致 > フォールバック
- 複合トリガー:AND(すべて満たす)、OR(いずれか満たす)、NOT(除外)
- 設計原則:Skill が必要な時に自動的に現れ、不要な時は邪魔しない
📝 練習問題
- 基礎問題(難易度⭐):以前に作成した code-review Skill に2つの異なるタイプのトリガーを追加してください。
- 応用問題(難易度⭐⭐):複合トリガーを設計し、Python テストファイルを修正した時に自動的にテストを実行するが、マイグレーションファイルは除外してください。
- チャレンジ問題(難易度⭐⭐⭐):5+の Skill 間の優先度と競合を処理するチームレベルのトリガースケジューリングシステムを設計してください。