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 に記録します。

📖 まとめ


📝 練習問題

  1. 基礎問題(難易度⭐):デバッグチェックリストに従って作成したすべての Skill をチェックし、見つけた問題を修正してください。
  2. 応用問題(難易度⭐⭐):チーム向けの Skill トラブルシューティングガイドを書き、少なくとも10の問題と解決策を含めてください。
  3. チャレンジ問題(難易度⭐⭐⭐):他の Skill のよくある問題を自動チェックし、修正提案を提供する Skill 診断 Skill を作成してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%