mcpField
P
principle-fix-root-causes

principle-fix-root-causes

github.com/q-qp-p開発148 回インストール2 週間前に更新
リポジトリ

principle-fix-root-causes について

principle-fix-root-causesは、目に見える症状ではなく故障の発生源を直すことに重点を置く、開発者向けデバッグスキルです。再現、調査、正当なシステム状態への対応を順に進めます。

主な機能

  1. 01変更前に障害を再現
  2. 02原因を段階的に追跡
  3. 03実際のエラーと状態を確認
  4. 04妥当な状態と異常状態を区別
  5. 05繰り返すパターンを特定して修正

活用シーン

  1. 01異なる箇所で再発するバグの調査
  2. 02再起動後に起きる障害のデバッグ
  3. 03回避策を根本的な修正に置き換え

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/q-qp-p/pstack --skill principle-fix-root-causes

インストール後、Claude Code で/principle-fix-root-causesを入力して読み込まれたか確認します。

詳細

根本原因を修正する

デバッグするときは、問題が表面化した場所ではなく、障害の原因を修正します。症状が現れた場所は、誤った状態が見えるようになった場所です。根本原因は、システムが本来すべきでない処理を最初に行った場所、または処理すべき状態を処理できなかった場所です。

理由: 症状への対処は証拠を隠し、障害が別の場所で再び表面化する余地を残します。こうした対処を重ねるたびに、誰も名前を付けていないバグへの回避策がコードに残り、システムの動きを理解しにくくなります。

手順:

  • まず再現します。
  • 各段階で「なぜ」と問い、答えが先行する処理の結果ではなく、コード内の誤った判断にたどり着くまで続けます。
  • 行き詰まったら、計測を追加します。実際のエラーと実際の状態を確認します。推測してはいけません。
  • 症状を引き起こした状態が正当なものかどうかを確認します。システムがその状態になり得るなら、その状態で動作しなかったコードが根本原因であり、その場で状態を処理することが修正になります。その状態が決して発生してはならないなら、問題が起きた場所にチェックを追加してもバグを隠すだけです。その状態を生み出した原因を見つけます。ガード、再試行、エラーの握りつぶし、値の上限・下限への丸め、状態の破棄は、バグを隠すよくある手段です。
  • 再起動後にだけ問題が起きる場合は、まず永続化された状態を疑います。設定ファイル、キャッシュ、ロックファイル、シリアライズされた状態などです。
  • 個別の事例だけでなく、パターンを確認します。同じ障害がある場所をすべて見つけ、すべて修正します。
  • 回避策を正当化するために長い段落のコメントが必要なら、コードに問題があります。コメントではなくコードを修正します。
  • 判断の決め手となる事実を見つけるのに深く調査する必要があった場合は、最初に見ただけで気づける、手軽で常時有効なシグナルを提案します。

コメント