← ClaudeAtlas

diagnosing-bugslisted

原因不明のバグ・性能劣化・数値の食い違いが出たとき、「原因を調べて」「バグを直したい」「なぜこうなるか分からない」と言われたときに必ず使う。
takayoshitoyoda05/claude-ml-template · ★ 1 · Data & Documents · score 72
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 に従う。