mcpField
B
bug-review

bug-review

github.com/atholaテスト・品質343108 回インストール4 日前に更新
リポジトリ

bug-review について

複数の言語環境で開発する人向けに、欠陥の特定と修正案の準備を行うコードレビュー用スキルです。言語判定、再現可能な調査、根拠に基づく報告、最小限の修正、検証計画を組み合わせています。

主な機能

  1. 01プロジェクトのマニフェストによる言語判定
  2. 02再現計画と具体的なコマンド
  3. 03重要度と根本原因を含む欠陥報告
  4. 04対応テストを伴う最小限の修正
  5. 05検証の根拠と残存リスクの記録

活用シーン

  1. 01潜在的な欠陥を探すコードレビュー
  2. 02報告済みまたは本番環境の不具合調査
  3. 03大規模リリース前のコード確認
  4. 04セキュリティ監査の実施

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill bug-review

インストール後、Claude Code で/bug-reviewを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

modules/
defect-documentation.md
fix-preparation.md
language-detection.md

詳細

バグレビューのワークフロー

言語固有の専門知識を活用して、バグを体系的に特定し、修正します。

クイックスタート

/bug-review

検証: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。

使用する場面

  • コードに潜在的なバグがないかレビューする場合
  • バグ報告を受け取った後
  • メジャーリリースの前
  • セキュリティ監査中
  • 本番環境の問題を調査する場合

使用しない場面

  • テストカバレッジの監査には、代わりに test-review を使用します

必須の TodoWrite 項目

  1. bug-review:language-detected
  2. bug-review:repro-plan
  3. bug-review:defects-documented
  4. bug-review:fixes-prepared
  5. bug-review:verification-plan
  6. bug-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 パターンに従ってテストを作成します:

  1. 失敗するテストを書く
  2. 最小限の修正を適用する
  3. テストが成功することを確認する

段階的な読み込み: 言語固有のパターンとテスト戦略については、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 を実行して、テストが成功することを確認します。

ベストプラクティス

  1. エビデンスに基づく:すべての指摘にファイルと行番号を記載します
  2. 再現可能:各バグの再現手順を明確にします
  3. 最小限の修正:問題を解決する最小限の変更を行います
  4. テストカバレッジ:すべての修正に対応するテストを用意します
  5. リスクの認識:残存リスクを深刻度の評価とともに記録します

終了条件

  • すべての欠陥を正確な参照情報とともに記録している
  • すべての欠陥に file:line と逐語的な Anchor が記載され、citation_verifier.py によってすべての引用が検証されている(終了コード 0)、または検証されていない欠陥が除外されるか UNVERIFIED と明記されている
  • 修正が用意され、テストカバレッジが検証されている
  • 検証計画にコマンドと期待される出力が含まれている
  • 残存リスクを評価し、担当者を割り当てている

コメント