mcpField
P
prepare-regression

prepare-regression

github.com/trailofbitsテスト・品質7.9k164 回インストール今日更新
リポジトリ

prepare-regression について

ソフトウェア変更の全範囲を確定し、レビューやセキュリティの背景情報を集める準備スキルです。分析前に封印可能で再現性のある基準を整えます。

主な機能

  1. 01S0/S1 の変更範囲を選定・固定
  2. 02変更の議論とレビュー情報を凍結
  3. 03両時点のセキュリティ文書を調査
  4. 04ソース成果物と依存関係の版を保持
  5. 05準備証拠と制約を封印

活用シーン

  1. 01回帰レビュー向けに PR を準備
  2. 02マージ済み変更の全範囲を特定
  3. 03不足条件や収集上の制限を記録

インストール

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

$npx skills add https://github.com/trailofbits/skills --skill prepare-regression

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

詳細

変更を準備する

使用する場合

入力:PR の URL、またはリポジトリとコミット/範囲、ならびにレジストリの割り当て。 対象のコミットを解決した後、プロジェクトのガイダンスに従います。

使用しない場合

同じ入力について、検証済みの準備記録がある場合は、それを再利用します。

準備

  1. 標準と ファイルの仕様を読みます。変更全体を S0/S1 として特定します。 コミットの親、または明示的な範囲のベースライン、未マージ PR ではマージベースから固定したヘッドまで、 マージ済み PR ではマージコミットの第 1 親からマージコミットまで、スカッシュではスカッシュコミットの親から、 またはリベース済みの一連のコミット全体を指定します。範囲が曖昧な場合や、ルートコミットのベースラインが 見つからない場合は、準備を中断します。
  2. コミットのタイトル/メッセージ、または PR のタイトル、本文、ディスカッション、レビュー、インラインコメントを、 URL と収集時刻とともに固定します。API をページネーションし、制限とライフサイクルを記録します。 両方の状態でセキュリティ/脅威モデル関連のドキュメントを探し、パスまたは検索上の制約を記録します。
  3. snapshot.py を uv run --no-project で実行し、 リポジトリ、S0、S1、新しいディレクトリを指定します。特殊なソース要件がある場合は、同等の Git コマンドを使用します。 依存関係/サブモジュール/LFS のリビジョンを保持します。それ以降の履歴は除外し、エクスポートは変更せずに保管し、 別のコピーでビルドします。
  4. 境界の説明、固定したコンテキスト、ソース成果物を含む prepare.json を作成して封印します。 作業が中断された場合は、収集済みの証拠を保持し、前提条件を明記します。

結果の報告

詳細な証拠は封印済みパッケージに保管します。返答には次の内容のみを含めます。

  • 状態:記録と一致する complete または blocked。
  • 記録:封印済みの prepare.json のパス、または生成されなかった理由。
  • 結果:選択した S0/S1 と、重要な収集上の制約。
  • ブロッカー:中断された場合は、不足している前提条件または呼び出し元に必要な対応。

却下すべき合理化

  • 「PR はマージ済みです」:それだけでは変更全体の境界を特定できません。

コメント