Communityコーディング&開発github.com

デバッグ

体系的に根本原因を特定するデバッグスキル。エラー、スタックトレース、CIの失敗、5xx、Lambdaタイムアウト、Terraformエラー、ポッド障害などが発生した際に、症状ではなく原因を修正するために最初に使用します。

デバッグ とは?

デバッグスキルは、AIエージェントがソフトウェアの障害を体系的に根本原因から解決するための手法です。このスキルは、エラーメッセージ、CIの失敗、5xxエラー、Lambdaのタイムアウト、Terraformのエラー、Kubernetesポッドのクラッシュなど、あらゆる「壊れた」「遅い」「不安定」な症状に適用できます。提案する前に症状ではなく原因を特定することで、無駄な修正や対症療法を防ぎます。主なステップは、エラーの正確な取得、再現性の確認、原因となった変更の特定、仮説の立案とテスト、根本原因の修正、回帰テストの作成、検証です。症状ごとに調査すべき箇所(手元で動くがCIで失敗、Lambdaタイムアウト、Kubernetesポッド障害など)を表で示し、ログをコードより先に読む、一時ログを追加するがコミット前に削除する、権限を広げるだけの安易な修正をしないなどのルールを定めています。このスキルはAny AI Agent(Claude Code、Cursor、Codexなど)で動作し、開発者が変更をコミットする前にAIエージェントが論理的にデバッグを進めるためのガイドとして機能します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mdesoeuv/claude_skills/tree/HEAD/skills/debug

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

デバッグ は何をしますか?

最初の可能性のある原因を修正するのは高くつく。最初の数分はパッチを当てるのではなく絞り込むために使う。

方法

  1. 正確な障害を取得する。 完全なエラーテキスト、スタックトレース、終了コード、タイムスタンプ、リクエストID、実行したコマンド。コードブロックに入れる。要約されたエラーは、重要なトークンを失う。
  2. 再現する。 オンデマンドでトリガーする、最も小さくて速い方法を見つける。再現できない場合は、その旨を伝えてログから作業する。黙って推測してはいけない。
  3. 何が変わったかを特定する。 git log --since、最近のデプロイ、依存関係のバンプ、設定やIAMの変更、プロバイダーのアップグレード、証明書の期限切れ。ほとんどのインシデントは変更が原因である。
  4. 2~3つの仮説を立てる それらを可能性と確認コストの安さでランク付けする。テストする前に書き留めておく。
  5. 一度に1つの仮説をテストする その仮説が真の場合にのみ意味を持つ変更でテストする。役に立たなかった変更は元に戻す。推測による編集を蓄積してはいけない。
  6. 原因を修正する。 次に、修正なしでは失敗する回帰テストを書く(tddスキルを参照)。
  7. 再現した方法と同じ方法で検証し、より広範なスイートを実行する。

症状別の調査箇所

症状最初の確認項目
ローカルで動くがCIで失敗環境変数、シークレット、OS/アーキテクチャ、Node/Pythonバージョン、キャッシュされた依存関係、タイムゾーン、作業ディレクトリ
断続的/不安定テスト間の共有状態、時間、順序、ネットワーク、実際の障害を隠すリトライ
AWS AccessDeniedどのプリンシパルか(aws sts get-caller-identity)、リソースポリシーとIDポリシー、SCP、許可境界、KMSキーポリシー、リージョン
Lambda タイムアウト / コールドスタートVPCアタッチメント、DNS、ハンドラ外の初期化、メモリサイズ、X-Rayでのダウンストリームレイテンシ
Terraform エラープロバイダーバージョン、ステートのドリフト(terraform plan -refresh-only)、-targetの残骸、ロックファイル
Kubernetes ポッドが準備完了にならないkubectl describe pod、イベント、プローブ、リソース制限、イメージプル、シークレット/ConfigMapマウント
デプロイ後の5xx前のイメージ/コミットとの比較、ヘルスチェックパス、環境設定/コンフィグ差分、DBマイグレーションの順序

ルール

  • コードを読む前にログを読む。ログはどこでか、コードはなぜかを教えてくれる。
  • 必要に応じて一時的なログを追加し、コミットする前に削除する。
  • 権限を広げる、TLS検証を無効にする、例外をキャッチして飲み込む、何がリトライされているかを理解せずにリトライを追加する、といった「修正」を決してしてはいけない。
  • 修正したら、原因、なぜ捕捉されなかったか、次回それを防ぐために何をするか、を1段落にまとめる。その段落をPRまたはコミットボディに記載する。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル