diagnosing-bugslisted
Install: claude install-skill takayoshitoyoda05/claude-ml-template
# バグ診断ループ
推測でコードを直すのではなく、以下の手順を順番に踏んで原因を特定する。
ステップを飛ばさない。
## 手順
1. **再現(Reproduce)**
- 問題が起きる最小限の入力・コマンドを確認する。
- 再現できない場合は、ここで立ち止まりユーザーに再現条件を確認する。
2. **最小化(Minimise)**
- 再現に必要な条件を削っていき、問題を引き起こす最小構成を特定する。
- 例: 全データセットではなく1サンプルで再現するか確認する。
3. **仮説(Hypothesise)**
- 原因の仮説を1つ立てる。複数の仮説がある場合は、最も検証しやすいものから
順に1つずつ検証する(同時に複数を疑わない)。
4. **計測(Instrument)**
- 仮説を検証するため、ログ出力・print・アサーションなどで実際の値を
確認する。推測ではなく実測する。
- この段階でのコード変更は最小限の計測コードに留める。
5. **修正(Fix)**
- 仮説が実測で裏付けられたら、根本原因に対する最小限の修正を行う。
- 症状を隠すだけの対症療法(例: try/exceptで握りつぶす)をしない。
6. **回帰テスト(Regression-test)**
- 修正後、元の再現条件で問題が解消したことを確認する。
- 可能であれば、この不具合を検出する自動テストを追加し、再発を防ぐ。
## 診断ログ
各ステップでの発見を `.claude/plans/debug-YYYYMMDD-<topic>.md` に記録する。
原因が特定でき修正方針が固まったら、その内容を Planner に渡して正式な
実装計画に落とし込んでもよい。
## 注意
- 途中で「たぶんこれが原因」と決めつけて修正に飛びつかない。仮説は必ず
計測で裏付けてから修正する。
- スコープ外のファイルを調査・編集しない。CLAUDE_WORK_SCOPE に従う。