Marketplace troubleshoot
Guides diagnosis and resolution when problems occur. Use when user mentions 動かない, エラーが出た, 壊れた, うまくいかない, broken, doesn't work, error. Do NOT load for: 正常なビルド, 新機能実装, レビュー.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/chachamaru127/troubleshoot" ~/.claude/skills/aiskillstore-marketplace-troubleshoot && rm -rf "$T"
manifest:
skills/chachamaru127/troubleshoot/SKILL.mdsource content
Troubleshoot Skill
問題発生時の診断と解決をガイドするスキル。 VibeCoder が技術的な知識なしで問題を解決できるよう支援します。
トリガーフレーズ
このスキルは以下のフレーズで自動起動します:
- 「動かない」「エラーが出た」「壊れた」
- 「うまくいかない」「失敗した」
- 「なぜ?」「原因は?」
- "it's broken", "doesn't work", "error", "why?"
概要
問題が発生したとき、VibeCoder は技術的な詳細を理解する必要はありません。 このスキルが自動的に診断し、解決策を提示します。
診断フロー
Step 1: 症状の確認
🔍 何が起きましたか?
簡単に教えてください:
- 「画面が真っ白」
- 「ボタンが動かない」
- 「データが保存されない」
Step 2: 自動診断
# 環境チェック node -v npm -v git status -sb # エラーログ確認 npm run build 2>&1 | tail -20 npm test 2>&1 | tail -20 # 依存関係チェック npm ls --depth=0
Step 3: 問題カテゴリの特定
| カテゴリ | 症状 | 自動対応 |
|---|---|---|
| 依存関係 | | |
| 型エラー | | error-recovery agent |
| ビルドエラー | | error-recovery agent |
| ランタイム | 画面が表示されない | ログ分析 |
| 環境設定 | 接続エラー | 環境変数確認 |
問題別対応
「ボタンが動かない / フォームが送信されない / UIが崩れる」
UIの不具合は、画面で再現して観測→修正→再検証するのが最短です。
- dev-browser が導入済みなら最優先で使う
- 対象URLで再現 → DOM/コンソール/ネットワークを根拠に原因を絞る
- ソースコード(UI/状態管理/API/バリデーション)を確認して修正
- 同じ手順で再現しないことを確認
- 参考:
docs/OPTIONAL_PLUGINS.md
- dev-browser が使えない場合のフォールバック
- 再現手順(URL/手順/期待値/実際)
- スクリーンショット/動画
- コンソールログ/ネットワークログ
「画面が真っ白」
🔍 診断中... 考えられる原因: 1. ビルドエラー 2. JavaScript エラー 3. ルーティング問題 🔧 自動チェック: - ビルドログを確認... ✅ エラーなし - コンソールエラーを確認... ❌ エラー発見 💡 解決策: 「直して」と言ってください。自動修正を試みます。
「npm install が失敗」
🔍 診断中... エラー: `ERESOLVE unable to resolve dependency tree` 🔧 解決策: 1. キャッシュをクリア 2. node_modules を再インストール 実行してもいいですか?(はい/いいえ)
「Git がおかしい」
🔍 診断中... 検出: マージコンフリクト発生 🔧 解決策: 1. コンフリクト箇所を表示 2. 解決方法を提案 「解決して」と言えば自動マージを試みます。
VibeCoder向け応答パターン
パターン1: 自動修正可能
⚠️ 問題を検出しました **問題**: モジュールが見つかりません **原因**: 依存関係の未インストール 🔧 **自動修正します** → `npm install` を実行中... ✅ 修正完了!もう一度試してください。
パターン2: 確認が必要
⚠️ 問題を検出しました **問題**: 設定ファイルの変更が必要 **影響**: 動作に影響する可能性 🤔 **確認させてください**: 設定を変更しても大丈夫ですか? → 「変更して」で実行 → 「説明して」で詳細を確認
パターン3: エスカレーション
⚠️ 複雑な問題を検出しました **問題**: {{問題の概要}} **試した修正**: 3回失敗 🆘 **Cursor (PM) への相談をおすすめします** 以下を Cursor に共有してください: - エラー内容: {{要約}} - 試した対応: {{リスト}} - 推定原因: {{分析}} 「報告書を作って」で共有用レポートを生成します。
よくある質問への自動応答
| 質問 | 自動応答 |
|---|---|
| 「なぜエラーになった?」 | エラーログを分析して原因を説明 |
| 「どうすれば直る?」 | 具体的な解決手順を提示 |
| 「前は動いてたのに」 | git log で最近の変更を確認 |
| 「同じエラーが何度も」 | パターンを分析して根本対策を提案 |
診断コマンド
クイック診断
「診断して」 → 全般的な健全性チェック → 問題があれば報告 → なければ「問題なし」
詳細診断
「詳しく診断して」 → 依存関係チェック → ビルドテスト → テスト実行 → 環境変数確認 → 詳細レポート出力
予防的アドバイス
問題を未然に防ぐため、以下をおすすめ:
- 定期的な
: 問題を早期発見npm run build - こまめなコミット: 問題発生時に戻しやすい
- Plans.md の更新: 変更履歴を追跡可能に
注意事項
- 自動修正は3回まで試行
- 3回失敗したらエスカレーション
- 破壊的な操作は必ず確認を取る
- 修正履歴は session-log.md に記録
🔧 LSP 機能の活用
問題解決では LSP(Language Server Protocol)を活用して正確に原因を特定します。
LSP Diagnostics による問題検出
🔍 LSP 診断実行中... 📊 診断結果: | ファイル | 行 | メッセージ | |---------|-----|-----------| | src/api/user.ts | 23 | 'userId' は undefined の可能性があります | | src/components/Form.tsx | 45 | 型 'string' を型 'number' に割り当てることはできません | → 2件の問題を検出 → 上記が「動かない」原因の可能性が高い
Go-to-definition による原因追跡
🔍 原因追跡 エラー: Cannot read property 'name' of undefined 追跡: 1. src/pages/user.tsx:34 - user.name を参照 2. src/hooks/useUser.ts:12 - user を返す ← Go-to-definition 3. src/api/user.ts:8 - API レスポンスが null の可能性 → API エラー時のハンドリング不足が原因
VibeCoder 向けの使い方
| 症状 | LSP 活用 |
|---|---|
| 「動かない」 | Diagnostics でエラー箇所を特定 |
| 「どこがおかしい?」 | Go-to-definition で原因を追跡 |
| 「いつから壊れた?」 | Find-references で変更影響を確認 |