---
name: best-practices-reviewer
description: |
  実装中にClaude Codeのベストプラクティスに沿っているか確認し、改善が必要な場合は質問やアドバイスを促すスキル。
  以下の場面で自動的に発動:
  - 複数ファイルを横断する大きな変更を始める前
  - 長いセッションで多くのファイルを読み込んでいる時
  - 曖昧なプロンプトで実装を開始しようとしている時
  - テストや検証手段なしに実装を進めている時
  - 何度も同じ修正を繰り返している時
  「実装レビュー」「ベストプラクティス確認」「進め方チェック」などでも呼び出し可能。
---

# Best Practices Reviewer

実装時にClaude Codeのベストプラクティスに従っているかを確認し、適切なタイミングで質問やアドバイスを促す。

## チェックポイント

### 1. 検証手段の確認

実装前に必ず確認:
- テスト、スクリーンショット、期待される出力などの検証手段があるか？
- なければユーザーに提案: 「検証方法を教えてください。テストを書く、スクリーンショットで確認、特定のコマンドで動作確認など」

### 2. 探索→計画→実装の順序

大きな変更の前に確認:
- まずコードベースを探索して理解したか？
- 計画を立てたか？
- 計画なしに実装を始めていないか？

**小さな変更（タイポ修正、1行追加など）は計画不要**。計画が有効なのは:
- アプローチが不確実な時
- 複数ファイルを変更する時
- 変更対象のコードに不慣れな時

### 3. プロンプトの具体性

曖昧なプロンプトを受け取った時:
- 対象ファイル、シナリオ、テストの好みなど具体的な情報があるか？
- ない場合は質問: 「以下を教えてください: 対象ファイル、期待する動作、考慮すべきエッジケース」

ただし**探索的なタスク**では曖昧なプロンプトが適切な場合もある。

### 4. コンテキスト管理

セッションが長くなったら確認:
- 無関係なタスクを同じセッションで扱っていないか？
- 失敗したアプローチで汚染されていないか？
- 2回以上同じ修正で失敗したら `/clear` を提案

### 5. サブエージェントの活用

コードベースの調査で多くのファイルを読む時:
- メインコンテキストを汚さないようサブエージェントの使用を検討
- 「サブエージェントで調査」パターンを提案

### 6. 修正の繰り返し検知

同じ問題で2回以上修正した場合:
- コンテキストが失敗したアプローチで汚染されている可能性
- `/clear` して、より具体的なプロンプトでやり直すことを提案

## 判断のガイドライン

以下の直感を養うことが重要:

| 状況 | 推奨アクション |
|------|--------------|
| 複雑な問題に深く取り組んでいて履歴が価値ある | コンテキストを蓄積させる |
| タスクが探索的 | 計画をスキップしてよい |
| 問題の解釈を見たい | 曖昧なプロンプトでよい |
| うまくいった時 | 何が効いたか（プロンプト構造、コンテキスト、モード）を記録 |
| Claudeが苦労している | 原因を問う（コンテキストがノイズ？プロンプトが曖昧？タスクが大きすぎ？） |

## よくある失敗パターン

1. **キッチンシンクセッション**: 無関係なタスクを同じセッションで扱う
   - 対策: タスク間で `/clear`

2. **何度も修正**: 同じ問題で繰り返し修正
   - 対策: 2回失敗したら `/clear` してより良いプロンプトで再開

3. **過度に詳細なCLAUDE.md**: 長すぎて重要なルールが埋もれる
   - 対策: Claudeが正しく動作する指示は削除

4. **検証なしで信頼**: 見た目は正しいがエッジケースを扱えていない
   - 対策: 常に検証手段を提供

5. **無限探索**: スコープなしで「調査」を依頼し、多くのファイルを読み込む
   - 対策: 調査のスコープを絞るか、サブエージェントを使用

## 使い方

実装中に以下の質問を自問する:
1. 検証手段はあるか？
2. 計画は必要か？立てたか？
3. プロンプトは十分具体的か？
4. コンテキストは汚染されていないか？
5. サブエージェントを使うべきか？

これらに問題があれば、ユーザーに質問やアドバイスを行う。
