bug-fix-protocol について
本番・ステージング・顧客環境で見つかった不具合に対応する修正プロトコルのスキルです。コードの最小修正に加え、見逃しの原因となったテスト層を監査・改善します。詳細は `PROTOCOL.md` にあります。
主な機能
- 01実際と期待される動作の確認
- 02修正前に失敗テストを作成
- 03根本原因を追跡して最小修正
- 04テスト・lint・型チェックの実行
- 05テスト範囲の監査と改善
活用シーン
- 01本番環境に到達した不具合への対応
- 02ステージング環境で見つかった問題の修正
- 03顧客環境の不具合調査と再発防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ codealive-ai/ ai-driven-development --skill bug-fix-protocolインストール後、Claude Code で/bug-fix-protocolを入力して読み込まれたか確認します。
同梱ファイルPROTOCOL.md
詳細
バグ修正プロトコル
バグ修正とは、2つの修正を1つにしたものです。コードを修正し、さらにバグを見逃したテストシステムも修正します。2つ目の手順を省略すると、同じ種類のバグが再びリリースされます。
完全版のプロトコル(理念、例を含む8つの手順、監査チェックリスト、アンチパターン)は、PROTOCOL.md に記載されています。適用する前にお読みください。
適用するタイミング
欠陥が本番環境、ステージング環境、または顧客環境に到達した場合は、必ずこのプロトコルを使用してください。通常の開発中にローカルで発見したバグには使用しないでください。それらはテストシステムの不備ではなく、開発プロセスの一部です。
8つの手順(概要)
- 要件を分析し、再現します。 実際の動作と期待される動作の正確な違いを把握し、最小限の再現手順を特定します。不明点を推測する前に、ユーザーに確認してください。
- 失敗するテストを書く(レッド)。 バグを、正しい理由で失敗するテストとして記述します。まだコードは変更しません。
- 根本原因を追跡します。 失敗するテストからシステムをたどります。変更すればテストが通る最小の箇所で止めます。
- 最小限の修正を適用します。 可能な限り小さく変更します。ついでのリファクタリングはしません。
- ローカルで成功を確認します。 失敗していたテストが通り、ほかのテストに影響がないことを確認します。
- テストスイート全体とリンター、型チェックを実行します。 間接的なリグレッションを検出します。
- 修正内容を記録します。 コミットメッセージと PR の説明では、症状、根本原因、修正内容をそれぞれ一文で示します。
- テストシステムを監査します(最も重要な手順)。 どのレイヤーがこのバグを検出すべきだったのか、なぜ検出できなかったのか? と問いかけます。そのうえで、次に同じバグが発生したときに検出できるよう、そのレイヤーを変更します。新しい種類のテスト、新しいフィクスチャ、新しいリンタールール、新しいプロパティテスト、新しい契約アサーションなどが考えられます。手順 8 を行わない修正は不完全です。
出力に関する期待事項
このプロトコルを適用する場合、次を返してください。
- 再現テスト(レッドからグリーンまで)。
- 最小限のコード修正。
- 見逃したカバレッジレイヤーと、ギャップを埋めるために行った変更を明記した、手順 8 の監査結果を一段落で。
手順 8 の結果が「これを検出することはできなかった」になる場合は、さらに調査してください。その答えはほぼ間違いであり、それを受け入れることがテストシステムの停滞につながります。
参照
全文:PROTOCOL.md。
コメント
Markdown 対応