fix-root-cause について
Fix Root Causesは、誤った判断や未処理の状態が最初に生じた箇所まで追跡するデバッグスキルです。問題の再現と実際のエラー・状態の確認を重視し、症状を隠さず繰り返し発生するパターンを修正します。
主な機能
- 01まず障害を再現
- 02段階的に原因を追跡
- 03実際のエラーと状態を確認
- 04正当な状態かを判定
- 05反復パターンを発見して修正
活用シーン
- 01原因と離れた場所に現れるバグの調査
- 02再起動後に起きる障害の診断
- 03問題を隠すガードや再試行の置き換え
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill fix-root-causeインストール後、Claude Code で/fix-root-causeを入力して読み込まれたか確認します。
詳細
根本原因を修正する
デバッグでは、問題が表面化した箇所ではなく、障害の原因を修正してください。症状とは、誤った状態が目に見える形になった箇所です。根本原因とは、システムがしてはいけないことを最初にした箇所、または処理すべき状態を処理しなかった箇所です。
理由: 症状への対処は証拠を隠し、障害が別の場所で表面化する余地を残します。そのたびに、誰も名前を付けていないバグへの回避策がコードに残り、システムの動作を理解しにくくなります。
パターン:
- まず再現します。
- 答えが、それより前の判断の結果ではなく、コード内の誤った判断になるまで、各ステップで「なぜ」と問い続けます。
- 行き詰まったら、計測できるようにします。実際のエラーと実際の状態を確認します。推測してはいけません。
- 症状を引き起こした状態が正当なものかどうかを確認します。システムがその状態になる可能性があるなら、その状態で動作しなかったコードが根本原因であり、その箇所で状態を処理することが修正になります。その状態が本来存在しないはずなら、失敗した箇所にチェックを追加してもバグを隠すだけです。その状態を生み出した原因を探してください。ガード、リトライ、エラーの握りつぶし、値のクランプ、状態の破棄は、バグを隠す典型的な手段です。
- 再起動後にだけ何かが失敗する場合は、まず永続化された状態を疑います。設定ファイル、キャッシュ、ロックファイル、シリアライズされた状態などです。
- 個別の事例だけでなく、パターンを確認します。同じ障害がある箇所をすべて見つけ、すべて修正します。
- 回避策を正当化するのに段落ほどのコメントが必要なら、コードに問題があります。コメントではなく、コードを修正してください。
- 判断の決め手となった事実を突き止めるのに深く調査する必要があったなら、最初に見たときにそれが分かる、低コストで常時利用できるシグナルを提案します。
コメント
Markdown 対応