--- name: bugfix description: > バグ対応とCI失敗の診断・修正・計画・レビューで起動し、原因分析と処置の共通契約を提供する。 --- # バグ対応 本スキルは、バグ対応時の考え方・対応手順を提供する。 観測した不具合を再現し、期待する契約、実際の結果、発生条件、直接的原因を確定して是正する。 実装方式、計画形式、レビュー一般、pushとCI監視は各担当スキルへ委ねる。 ## 適用手順 1. 後述の「初動と深掘り判定」を読む 2. 深掘り条件に該当する場合だけ、`references/root-cause-analysis.md`を全文読む 3. CI失敗を扱う時は`agent-toolkit/skills/bugfix/references/ci-failure-handling.md`を全文読む 4. 計画、実装、レビューのいずれでも同じ判定と原因区分を用いる CI通過へ入る前は`agent-toolkit:commit`の`commit/references/push-and-ci.md`を全文読む。 履歴を扱う実装単位へ入る前は`agent-toolkit:plan-mode`の`plan-mode/references/implementation-task.md`を全文読む。 実装担当の経路を確定する前は`agent-toolkit:delegation`の`delegation/references/runtime-routing.md`を全文読む。 分岐検証へ入る前は`agent-toolkit:coding-standards`の`coding-standards/references/testing.md`を全文読む。 原因区分を確定する時は、`agent-toolkit:bugfix`の`bugfix/references/root-cause-analysis.md`を全文読む。 深掘り条件に該当しない局所不良は、直接的原因の是正と近接検証で完了する。 深掘り条件に該当する不良は、4原因区分、原因起点の類似見直し、 是正・横展開・再発防止を確定する。 ## 初動と深掘り判定 - 事象、期待する契約、実際の結果、発生条件、直接的原因を再現・ログ・実装から確定する - 作業途中で発見した事象は、着手前に記録した基準状態と現在の差分を先に突合し、進行中の未コミット変更で混入した事象と着手前から存在する事象を区別する - 進行中の未コミット変更で混入した場合は、現在の指示、計画、実装判断を導入経路として調べ、既存機能の導入履歴と混同しない - 直接的原因までの確定直後に、深掘り条件の判定材料を確認する。 確認対象は対象判断を記録した計画・設計文書と当時の指示・契約、および当該判断を導入した変更履歴に限る。 確認後も判断材料の有無を確定できない場合は深掘り経路へ進む - 判定材料の確認後に、次の深掘り条件を評価する - 深掘り条件は、当該事象が計画または設計の時点で判断材料が揃っており、その時点で適切に判断していれば 回避できたか否かとする。深掘り条件へ該当する事象は、機能的な不具合の有無、動作の正否、 エンドユーザーへの実害の有無にかかわらずバグとして扱う - 該当する事象の例は次のとおり - ユーザーが明示した要件または公開契約と成果物が異なる - 設計判断、代替手段の選択、誤ったテスト期待値の固定が不具合へ関与する - 現行コードだけでは意図を説明できず、コメント・文書・履歴の確認を要する - 同じ原因が別の箇所ですでに成立するか、同じ判断・工程が反復される経路を現行の実装・手順・履歴から観測できる - push後のCI失敗で、原因が自セッションに帰属するか、セッション帰属が未確定 - 規範文書の欠陥、判定条件の抜けや矛盾 - ツールの使い勝手の悪さ、ツールが出力するメッセージの分かりにくさ - 公開インターフェース・コマンド体系・配置規約の一貫性の逸脱 - 既存の拡張点を使わず別系統を新設した実装 - 列挙は深掘り条件の適用例であり、列挙に無い事象も当該条件へ該当すれば対象とする - 計画または設計の時点では入手できなかった情報により初めて判明した事象と、 外部環境の変化に起因する事象は本条件の対象外とする - 本条件の判定は努力目標とする。判定を誤っても是正処置自体は完遂され、 成果物の機能は損なわれないためである - 4つ目の例は、実在する別の該当箇所または反復経路を特定した場合に限って成立する - 深掘り条件に該当する場合は、「深掘り資料と因果の確定」以降の工程へ進む - 深掘り条件に該当しない局所不良は、是正と近接検証に限定する - 局所経路の調査範囲は直接的原因までとする - 履歴、フィードバック、計画、セッションログの探索、4原因区分の分析、汎用的な恒久対策は深掘り経路だけに適用する