bug-review について
複数の言語環境で開発する人向けに、欠陥の特定と修正案の準備を行うコードレビュー用スキルです。言語判定、再現可能な調査、根拠に基づく報告、最小限の修正、検証計画を組み合わせています。
主な機能
- 01プロジェクトのマニフェストによる言語判定
- 02再現計画と具体的なコマンド
- 03重要度と根本原因を含む欠陥報告
- 04対応テストを伴う最小限の修正
- 05検証の根拠と残存リスクの記録
活用シーン
- 01潜在的な欠陥を探すコードレビュー
- 02報告済みまたは本番環境の不具合調査
- 03大規模リリース前のコード確認
- 04セキュリティ監査の実施
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill bug-reviewインストール後、Claude Code で/bug-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
modules/defect-documentation.mdfix-preparation.mdlanguage-detection.md詳細
バグレビューのワークフロー
言語固有の専門知識を活用して、バグを体系的に特定し、修正します。
クイックスタート
/bug-review
検証: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
使用する場面
- コードに潜在的なバグがないかレビューする場合
- バグ報告を受け取った後
- メジャーリリースの前
- セキュリティ監査中
- 本番環境の問題を調査する場合
使用しない場面
- テストカバレッジの監査には、代わりに test-review を使用します
必須の TodoWrite 項目
bug-review:language-detectedbug-review:repro-planbug-review:defects-documentedbug-review:fixes-preparedbug-review:verification-planbug-review:findings-verified
段階的な読み込み
必要に応じて、追加のコンテキストを読み込みます:
- 言語の検出:
@include modules/language-detection.md- マニフェストのヒューリスティック、専門家としての位置付け、バージョン制約 - 欠陥の記録:
@include modules/defect-documentation.md- 重大度の分類、根本原因分析、静的アナライザー - 修正の準備:
@include modules/fix-preparation.md- 最小限のパッチ、慣用的なパターン、テストカバレッジ
ワークフロー
ステップ 1:言語を検出する(bug-review:language-detected)
マニフェストファイルを使用して、主要な言語を特定します(Cargo.toml → Rust、package.json → Node など)。
言語エコシステムに適した専門家としての立場を明示します。
バージョン制約(MSRV、Python のバージョン、Node のエンジン)を確認します。
段階的な読み込み: 詳細なマニフェストのヒューリスティックについては、modules/language-detection.md を読み込みます。
ステップ 2:再現方法を計画する(bug-review:repro-plan)
再現方法を特定します:
- 単体/統合テストスイート
- ファジングツール
- 手動で再現するコマンド
正確なコマンドを記録します:
cargo test -p core
pytest tests/test_api.py
npm test -- pkg
検証: pytest -v tests/test_api.py を実行して確認します。
依存関係を利用できない場合は、妨げとなる要因を記録し、モックを提案します。
ステップ 3:欠陥を記録する(bug-review:defects-documented)
コードを行ごとにレビューし、各バグを次の項目とともに記録します:
- ファイルと行番号の参照:正確な場所
- 重大度:致命的、高、中、低
- 根本原因:ロジックエラー、API の誤用、並行処理、リソースリーク
- 影響:何がどのように壊れるか
静的アナライザー(cargo clippy、ruff check、golangci-lint、eslint)を実行します。
再現可能な記録には imbue:proof-of-work を使用します。
段階的な読み込み: 分類の詳細とアナライザーのコマンドについては、modules/defect-documentation.md を読み込みます。
ステップ 4:修正を準備する(bug-review:fixes-prepared)
言語のベストプラクティスに沿って、最小限で慣用的なパッチを作成します:
- ガード節(Rust:パターンマッチング、Python:早期リターン)
- リソースのクリーンアップ(Go:defer、Python:コンテキストマネージャー)
- エラーの伝播(Rust:?、Go:ラップしたエラー)
Red → Green パターンに従ってテストを作成します:
- 失敗するテストを書く
- 最小限の修正を適用する
- テストが成功することを確認する
段階的な読み込み: 言語固有のパターンとテスト戦略については、modules/fix-preparation.md を読み込みます。
ステップ 5:検証計画(bug-review:verification-plan)
修正を適用した状態で、再現手順を実行します。
証拠を記録します:
- テスト出力ログ
- ベンチマークの比較
- カバレッジレポート
フォローアップ項目の担当者と期限を割り当てます。
ステップ 6:調査結果の根拠を確認する(bug-review:findings-verified)
欠陥を .review/findings.json に書き込み、引用検証ツール
(Skill(imbue:review-core) のステップ 5)を実行し、検証ツールが却下したものは削除するか、
UNVERIFIED とラベル付けします。
欠陥の分類(概要)
重大度:致命的(クラッシュ/データ損失)→ 高(機能の破損)→ 中(UX の低下)→ 低(エッジケース)
根本原因:ロジックエラー | API の誤用 | 並行処理の問題 | リソースリーク | 検証の不備
出力形式
## Summary
[Brief scope description]
## Defects Found
### [D1] file.rs:142 - Title
- Severity: High
- Anchor: `verbatim source text at file.rs:142`
- Root Cause: Logic error
- Impact: Data corruption possible
- Fix: [description]
## Proposed Fixes
### Fix for D1
[code diff with explanation]
## Test Updates
[new/updated tests with Red → Green verification]
## Evidence
- Commands executed
- Logs and outputs
- External references
検証: pytest -v を実行して、テストが成功することを確認します。
ベストプラクティス
- エビデンスに基づく:すべての指摘にファイルと行番号を記載します
- 再現可能:各バグの再現手順を明確にします
- 最小限の修正:問題を解決する最小限の変更を行います
- テストカバレッジ:すべての修正に対応するテストを用意します
- リスクの認識:残存リスクを深刻度の評価とともに記録します
終了条件
- すべての欠陥を正確な参照情報とともに記録している
- すべての欠陥に
file:lineと逐語的なAnchorが記載され、citation_verifier.pyによってすべての引用が検証されている(終了コード0)、または検証されていない欠陥が除外されるかUNVERIFIEDと明記されている - 修正が用意され、テストカバレッジが検証されている
- 検証計画にコマンドと期待される出力が含まれている
- 残存リスクを評価し、担当者を割り当てている