debug について
ソフトウェアエンジニア向けのデバッグ手法をまとめたリファレンスです。問題の定義、仮説に基づく調査、根本原因分析、修正検証、再発防止を、影響度別の 54 項目で扱います。
主な機能
- 0110 分野にわたる 54 項目
- 02問題の定義と再現
- 03仮説に基づく調査
- 04観察と根本原因分析
- 05バグの分類と修正検証
- 06再発防止と学習の実践
活用シーン
- 01ソフトウェアの予期しない動作の調査
- 02パフォーマンス問題の原因特定
- 03バグ報告の分類と優先順位付け
- 04修正の検証とリグレッション防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill debugインストール後、Claude Code で/debugを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdanti-blame-tool.mdanti-debug-fatigue.mdanti-quick-patch.mdanti-shotgun-debugging.mdanti-tunnel-vision.mdhypo-binary-search.mdhypo-one-change-at-time.mdhypo-rubber-duck.mdhypo-rule-out-obvious.mdhypo-scientific-method.mdhypo-where-not-what.mdobs-breakpoint-strategy.mdobs-log-inputs-outputs.mdobs-stack-trace-reading.mdobs-strategic-logging.mdobs-trace-data-flow.mdobs-watch-expressions.mdpattern-async-await-errors.mdpattern-memory-leak.mdpattern-null-pointer.mdpattern-off-by-one.mdpattern-race-condition.mdpattern-timezone-issues.mdpattern-type-coercion.mdprev-defensive-coding.md詳細
dot-skills デバッグのベストプラクティス
ソフトウェアエンジニア向けの包括的なデバッグ手法ガイドです。影響度の高い順に優先順位付けされた、10 カテゴリーにわたる 54 のルールを収録しています。Andreas Zeller 著『Why Programs Fail』の研究と、学術的なデバッグカリキュラムに基づいています。
適用する場面
以下の場合に、これらのガイドラインを参照してください。
- バグや予期しない動作を調査するとき
- 開発中にコードをデバッグするとき
- コードが誤った結果を出したり、クラッシュしたりするとき
- パフォーマンスの問題について根本原因を分析するとき
- 寄せられたバグ報告をトリアージし、修正の優先順位を決めるとき
- インシデントの根本原因分析を実施するとき
- デバッグの進め方や、よくあるバグパターンに関するコードをレビューするとき
優先順位別のルールカテゴリー
| 優先度 | カテゴリー | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | 問題の定義 | CRITICAL | prob- |
| 2 | 仮説主導の調査 | CRITICAL | hypo- |
| 3 | 観察手法 | HIGH | obs- |
| 4 | 根本原因分析 | HIGH | rca- |
| 5 | ツールの習熟 | MEDIUM-HIGH | tool- |
| 6 | バグのトリアージと分類 | MEDIUM | triage- |
| 7 | よくあるバグパターン | MEDIUM | pattern- |
| 8 | 修正の検証 | MEDIUM | verify- |
| 9 | アンチパターン | MEDIUM | anti- |
| 10 | 防止と学習 | LOW-MEDIUM | prev- |
クイックリファレンス
1. 問題の定義(CRITICAL)
prob-reproduce-before-debug- 調査する前にバグを再現するprob-minimal-reproduction- 最小限の再現ケースを作成するprob-document-symptoms- 症状を正確に記録するprob-separate-symptoms-causes- 症状と原因を切り分けるprob-state-expected-actual- 期待される動作と実際の動作を明示するprob-recent-changes- 最初に最近の変更を確認する
2. 仮説主導の調査(CRITICAL)
hypo-scientific-method- 科学的手法を適用するhypo-binary-search- 二分探索を使ってバグの位置を特定するhypo-one-change-at-time- 一度に 1 つの仮説を検証するhypo-where-not-what- WHAT(何が起きたか)を問う前に、WHERE(どこで起きたか)を特定するhypo-rule-out-obvious- まず明白な原因を除外するhypo-rubber-duck- 問題を声に出して説明する
3. 観察手法(HIGH)
obs-strategic-logging- ログを戦略的に活用するobs-log-inputs-outputs- 関数の入力と出力を記録するobs-breakpoint-strategy- ブレークポイントを戦略的に使うobs-stack-trace-reading- スタックトレースを下から上へ読むobs-watch-expressions- 状態の確認にウォッチ式を使うobs-trace-data-flow- システム内のデータフローを追跡する
4. 根本原因分析(HIGH)
rca-five-whys- 「なぜ」を 5 回問う手法を使うrca-fault-propagation- 障害の伝播経路を追跡するrca-last-known-good- 最後に正常だった状態を特定するrca-question-assumptions- 自分の前提を問い直すrca-examine-boundaries- システムの境界を調べる
5. ツールの習熟(MEDIUM-HIGH)
tool-conditional-breakpoints- 条件付きブレークポイントを使うtool-logpoints- コードを変更せずにログポイントを使うtool-step-commands- ステップオーバー/ステップイン/ステップアウトを使いこなすtool-call-stack-navigation- コールスタックをたどるtool-memory-inspection- メモリとオブジェクトの状態を調べるtool-exception-breakpoints- 例外ブレークポイントを使う
6. バグのトリアージと分類(MEDIUM)
triage-severity-vs-priority- 深刻度と優先度を区別するtriage-user-impact-assessment- 優先順位を決める前にユーザーへの影響を評価するtriage-reproducibility-matters- トリアージで再現性を考慮するtriage-quick-wins-first- すぐに対応できる改善を特定し、優先してリリースするtriage-duplicate-detection- 重複するバグ報告を検出し、相互にリンクする
7. よくあるバグのパターン(中)
pattern-null-pointer- ヌルポインタのパターンを認識するpattern-off-by-one- 1つずれるエラーを見つけるpattern-race-condition- 競合状態の兆候を特定するpattern-memory-leak- メモリリークのパターンを検出するpattern-type-coercion- 型変換に関するバグに注意するpattern-async-await-errors- async/await のエラーハンドリングの誤りを見つけるpattern-timezone-issues- タイムゾーンや日付に関するバグを認識する
8. 修正の検証(中)
verify-reproduce-fix- 元の再現手順で検証するverify-regression-check- リグレッションがないか確認するverify-understand-why-fix-works- なぜ修正が機能するのかを理解するverify-add-test- 再発を防ぐテストを追加する
9. アンチパターン(中)
anti-shotgun-debugging- 手当たり次第のデバッグを避けるanti-quick-patch- 理解しないまま応急的なパッチを当てるのを避けるanti-tunnel-vision- 最初の仮説に固執するのを避けるanti-debug-fatigue- デバッグによる疲労を認識するanti-blame-tool- ツールをすぐに責めない
10. 予防と学習(低〜中)
prev-document-solution- バグの解決策を記録するprev-postmortem- 責任追及をしないポストモーテムを実施するprev-defensive-coding- 境界部分に防御的なコードを追加するprev-improve-error-messages- エラーメッセージを改善する
使用方法
詳しい説明とコード例については、個別のリファレンスファイルをお読みください。
- セクションの定義 - カテゴリーの構成と影響レベル
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
- ルールの例:prob-reproduce-before-debug、hypo-binary-search
コンパイル済みの全ドキュメント
すべてのルールを展開した完全なガイド:AGENTS.md
コメント
Markdown 対応