Skills: トラブルシューティングとよくある問題
最終更新:2026-08-31
問題が起きてもパニックにならないで——Skill の問題の90%には標準的な解決策がある。この早見表で迅速に問題を特定して修正しよう。
1. 問題分類早見表
(1) ロード時の問題
| 症状 | 考えられる原因 | 解決策 |
|---|---|---|
| Skill がロードされない | ファイルパスのエラー | ディレクトリとファイル名を確認 |
| Skill がロードされない | Frontmatter フォーマットエラー | YAML 構文を確認 |
| Skill がロードされない | トリガーの不一致 | キーワードとトリガー条件を確認 |
| 複数 Skill が競合 | 同じ優先度 | 優先度を設定、またはより精密なトリガーを使用 |
(2) 実行時の問題
| 症状 | 考えられる原因 | 解決策 |
|---|---|---|
| ツールが呼び出されない | プロンプトで明示的に要求していない | フロー内でツール使用ステップを明記 |
| ツールが呼び出されない | ツールがバインドされていない | Frontmatter の tools リストを確認 |
| 出力フォーマットが間違っている | プロンプトの説明が曖昧 | 出力テンプレートとサンプルを提供 |
| ハルシネーション出力 | プロンプトに制約がない | 「実際に読み込んだ内容に基づいてのみ出力」を追加 |
(3) 品質の問題
| 症状 | 考えられる原因 | 解決策 |
|---|---|---|
| レビューの漏れ | レビュー観点が不完全 | チェック項目を追加、説明ではなく列挙を使用 |
| 修正が新バグを生む | 検証ステップがない | 「修正後にテストを実行」ステップを追加 |
| 出力が一貫しない | プロンプトに曖昧さがある | 自然言語の代わりにテーブルとリストを使用 |
| コンテキスト溢れ | プロジェクト情報が多すぎる | コンテキストトリミングルールを追加 |
2. 診断方法
(1) レイヤー別診断
TEXT
📖 参照専用
問題診断4層
├── 第1層:ファイル層
│ ├── ファイルは存在するか?
│ ├── パスは正しいか?
│ └── Frontmatter は有効か?
├── 第2層:設定層
│ ├── トリガーはマッチするか?
│ ├── ツールはバインドされているか?
│ └── 権限は十分か?
├── 第3層:プロンプト層
│ ├── 指示は明確か?
│ ├── サンプルは十分か?
│ └── 制約は明示的か?
└── 第4層:実行層
├── ツールは期待通りに呼び出されたか?
├── 出力はフォーマットに合致するか?
└── 結果は目的を満たしているか?
(2) A/B テスト法
TEXT
📖 参照専用
プロンプト A/B テスト
1. 他のすべての条件を同じに保つ
2. プロンプトの1要素だけを変更
3. 出力品質を比較
4. より良い方を採用
5. 変更理由を記録
(3) 最小再現
TEXT
📖 参照専用
問題再現の手順
1. 最小の Skill ファイルを作成
2. コアプロンプトだけを残す
3. 問題が再現するか確認
4. 段階的に内容を追加し、トリガー条件を特定
5. 特定の問題に対して修正
3. 一般的な修正テクニック
(1) プロンプトの微調整
TEXT
📖 参照専用
一般的な微調整テクニック
├── サンプル追加:出力フォーマットが間違っている → 期待する出力サンプルを追加
├── 制約追加:冗長すぎる → 「簡潔に、N行以内」を追加
├── ステップ追加:ツールが呼び出されない → 「ステップN:XXツールを使用」を追加
├── 条件追加:誤った振る舞い → 「Xの場合はY、それ以外はZ」を追加
└── 否定追加:やってはいけないことをやっている → 「Xをしないで」を追加
(2) ツールバインディングの調整
TEXT
📖 参照専用
ツール問題の修正
├── ツールが呼び出されない:フロー内で「Read ツールでファイルを読み込む」と明示的に指定
├── 間違ったツールが使われる:プロンプトで「Write ではなく Edit でファイルを修正」と記述
├── 権限不足:settings.json の allow/deny 設定を確認
└── ツールタイムアウト:検索範囲を絞り、データ量を削減
(3) トリガーの修正
TEXT
📖 参照専用
トリガー問題の修正
├── トリガーされない:キーワードが一般的すぎる → 一般的な同義語を追加
├── 誤トリガー:キーワードが広すぎる → マッチ範囲を絞る
├── 競合:複数 Skill が競合 → 優先度を調整
└── 頻発:条件が緩すぎる → AND 条件を追加
4. デバッグチェックリスト
(1) Skill デバッグチェックリスト
MARKDOWN
## デバッグチェックリスト
### 基本チェック
- [ ] ファイルパスが正しい
- [ ] Frontmatter YAML 構文が正しい
- [ ] name と description が記入されている
- [ ] triggers が設定されている
### 機能チェック
- [ ] ツールバインディングが完全
- [ ] プロンプトに明確な実行ステップがある
- [ ] 出力フォーマットのサンプルが存在する
- [ ] 制約と境界条件がある
### 品質チェック
- [ ] テストプロジェクトで検証済み
- [ ] 出力フォーマットが安定している
- [ ] ツール呼び出しが合理的
- [ ] セキュリティリスクがない
(2) プラットフォームの違い
| 注意点 | Claude Code | Cursor | OpenCode |
|---|---|---|---|
| ファイル場所 | .claude/skills/ |
.cursor/rules/ |
skills/ |
| 自動ロード | 対応 | 対応 | 設定が必要 |
| トリガー構文 | YAML | Markdown frontmatter | Markdown |
| ツール権限 | settings.json | プロジェクト設定 | 設定ファイル |
❓ よくある質問
Q Skill の動作が不安定——時は良い、時は悪い?
A AI 出力には本質的にランダム性があります。プロンプトに制約とサンプルを追加して出力空間を狭め、一貫性を向上させてください。重要な決定には「実行前に確認してください」を追加します。
Q Skill の問題か AI プラットフォームの問題かをどう判定しますか?
A 同じプラットフォームでシンプルなテスト Skill を実行してください。シンプルな Skill にも問題があればプラットフォームの問題、特定の Skill にだけ問題があれば Skill の問題です。
Q 修正後、問題の再発をどう防ぎますか?
A Skill プロンプトに制約条件を追加し、テストプロジェクトで検証してください。修正経験は CHANGELOG に記録します。
📖 まとめ
- 3つの問題カテゴリ:ロード、実行、品質——それぞれに早見表あり
- 3つの診断方法:レイヤー別診断、A/B テスト、最小再現
- 修正テクニック:プロンプト微調整(サンプル/制約/ステップ/条件/否定の追加)
- デバッグチェックリスト:基本チェック→機能チェック→品質チェック
📝 練習問題
- 基礎問題(難易度⭐):デバッグチェックリストに従って作成したすべての Skill をチェックし、見つけた問題を修正してください。
- 応用問題(難易度⭐⭐):チーム向けの Skill トラブルシューティングガイドを書き、少なくとも10の問題と解決策を含めてください。
- チャレンジ問題(難易度⭐⭐⭐):他の Skill のよくある問題を自動チェックし、修正提案を提供する Skill 診断 Skill を作成してください。