| name | dev-doctor |
| description | 開発環境の問題を症状に応じて適切な専門診断スキルに振り分けるか、直接診断を行う。 |
| when_to_use | 「dev-doctor」「環境が壊れた」「サービスがぶっ壊れた」「動かない」「エラーが出る」などの発言時で、具体的な症状が不明な場合 |
| context | fork |
| agent | dev-doctor |
開発環境トラブルのトリアージ
引数: $ARGUMENTS(症状の説明。省略時はヒアリングを行う)
症状のヒアリング
ユーザーの発言から症状カテゴリを推定できない場合、以下の2軸で質問する:
1. 何をしようとしましたか?
- devサーバーを起動しようとした / ページにアクセスしようとした
- ビルドしようとした / 型チェックを通そうとした
- パッケージをインストールしようとした
- マイグレーションを実行しようとした / DB操作をしようとした
- テストを実行しようとした
- デプロイしようとした
- ログイン / 認証機能を使おうとした
- gitコマンドを実行しようとした
2. 何が起きましたか?(エラーメッセージ、具体的な症状)
振り分けルール
| 症状カテゴリ | 案内先 |
|---|
| devサーバー起動後にページが開けない / ポートエラー | /access-problem を使ってください |
| ページは開けるがコンパイルが遅い・HMRが効かない | /compile-problem を使ってください |
| gitコマンドが重い・結果が返ってこない | /git-problem を使ってください |
| ビルドが通らない・TypeScript型エラー | 直接診断を実行(下記フォールバック参照) |
| pnpm installが失敗する・依存関係エラー | 直接診断を実行(下記フォールバック参照) |
| マイグレーション失敗・スキーマ不整合 | 直接診断を実行(下記フォールバック参照) |
| テストが落ちる・テスト環境が壊れた | 直接診断を実行(下記フォールバック参照) |
| Vercelデプロイ失敗・プレビュー壊れた | 直接診断を実行(下記フォールバック参照) |
| ログインできない・セッション問題 | 直接診断を実行(下記フォールバック参照) |
複合問題の優先順位
問題が複数カテゴリにまたがる場合、以下の順で基盤的な問題から解決する:
- パッケージ管理 — 依存関係が壊れていると全てに影響
- マイグレーション・DB — スキーマ不整合はビルド・起動に影響
- サーバー起動・アクセス — サーバーが動かないと確認不可
- ビルド・型エラー — ビルドブロッカーは他の作業を止める
- コンパイル・パフォーマンス
- テスト
- デプロイ
- 認証
- Git
フォールバック: 直接診断
専門スキルが存在しないカテゴリの場合、dev-doctorエージェント本体の「汎用診断フレームワーク」に従って直接診断を行う。ユーザーに「スキルが未作成です」等のメッセージは表示せず、シームレスに対応すること。
汎用診断フレームワーク:
- 環境基盤の健全性確認 — ランタイム、依存関係、環境変数
- カテゴリ固有の診断 — 症状に応じた具体的チェック
- インフラ確認(必要な場合)— Docker/Supabase/外部サービス
- 修復提案 — 重要度付き問題リスト + 優先順位付きコマンド
禁止事項
pnpm dev / pnpm dev:web / pnpm dev:admin / npm run dev の実行(ユーザーが起動する)
run_in_background: true の使用
- ポート54321の使用(正しいポート: 54421)
supabase init の実行
- ユーザー承認なしでの破壊的操作の実行