triage について
Git の差分をレビューする開発者向けの変更トリアージスキルです。変更ファイルを機能領域ごとにまとめ、リスク順に並べたレビュー用マップを作成します。コードレビュー自体は行いません。
主な機能
- 01基準ブランチと HEAD の比較
- 02機能領域ごとのファイル分類
- 03高・中・低リスクの判定
- 04自動生成ファイルの分離
- 05ファイル変更状態の表示
活用シーン
- 01大規模な差分のレビュー優先度付け
- 02変更ファイルと機能領域の対応付け
- 03生成ファイルとレビュー対象の切り分け
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ unlearndev/ skills --skill triageインストール後、Claude Code で/triageを入力して読み込まれたか確認します。
詳細
トリアージ
引数
生の引数:$ARGUMENTS
引数を比較対象のベースブランチとして解析します。空の場合は、デフォルトで main を使用します。
目標
ベースブランチと HEAD の間の変更を、機能領域ごとにまとめたリスク順のマップを作成し、ユーザーがレビューに時間を割く場所を判断できるようにします。出力はトリアージレポートであり、レビューではありません。
レビューは実施しないでください。提案しないでください。修正を提案しないでください。確認すべき具体的な行を指摘しないでください。 ユーザーはこのマップを見て、自分で調査する内容を決めます。
手順
1. 差分を取得する
まず git diff --name-status <base>...HEAD を実行してファイル単位の概要を取得し、次に git diff <base>...HEAD を実行して実際の変更内容を確認します。変更がない場合は、ユーザーに伝えて終了します。
2. 変更されたファイルを読む
変更されたファイルごとに、どの機能領域に属し、どの程度のリスクがあるかを理解できる範囲で読みます。すべてのファイルのすべての行を読む必要はありません。分類に必要な範囲を読んでください。
3. 機能領域ごとにグループ化する
ファイルの種類ではなく、コードの役割でファイルをグループ化します。適切なグループ名の例:「認証」「通知配信」「ユーザーデータの変更」「スキーマと設定」。不適切なグループ名の例:「コントローラー」「PHP ファイル」「Vue コンポーネント」。
目安:
- 通常、コントローラー、そのルート、そのページ、テストはひとつの機能グループになります。
- マイグレーションと、それに関連するモデルの変更はひとつの機能グループになります。
- 通知クラス、そのトリガー、メールテンプレートはひとつの機能グループになります。
- 既存のフローに追加された副作用(例:「投票すると購読もされるようになった」)は、独立した小さなグループになります。
- 動作の変更を伴わない純粋なリファクタリングは、ひとつの「リファクタリング」グループにまとめられます。
各ファイルは必ずひとつのグループだけに含めます。最も関連性の高いグループを選んでください。グループ名は短く(2~4 語)します。
4. リスクの段階を割り当てる
各グループを高、中、低のいずれかに分類します。
次に該当する場合は必ず高にします。
- 認証または認可に関わる
- ユーザーデータ、支払い、請求情報を変更する
- 権限またはアクセス制御を変更する
- 機密データ(パスワード、トークン、個人情報)を扱う
次に該当する場合は、リスクをひとつ上の段階にします。
- 複雑な条件分岐がある
- 外部サービスや API と連携する
- 大量の生成コード(AI によって一度に生成されたように見える 100 行以上のコード)が含まれる
それ以外の場合は、変更の影響範囲に応じて段階を選びます。
5. 自動生成ファイルを特定する
自動生成ファイルは、末尾の「スキップ」セクションに記載します。以下が該当します。
- ロックファイル(
composer.lock、package-lock.json、pnpm-lock.yaml) - コンパイル済みアセット(
public/build/、dist/) - 生成されたルート/型定義(Wayfinder のアクション/ルートファイル、生成された TS 型)
6. レポートを出力する
以下の形式を厳密に使用します。
### ⚠️ High Risk
**[Feature Area Name]**
Reason: [one sentence explaining why this is high risk]
- path/to/file.php (added/modified)
- path/to/other-file.php (modified)
**[Another Feature Area]**
Reason: [one sentence]
- path/to/file.php (added)
### Medium Risk
**[Feature Area Name]**
Reason: [one sentence]
- path/to/file.php (added)
### Low Risk
**[Feature Area Name]**
- path/to/file.php (modified)
### Skip
**Auto-generated**
- path/to/generated/files... (auto-generated — skip)
最後に、1 行の要約を付けます:X groups, Y high-risk files to focus on。
ルール
- ファイルの種類ではなく、機能領域ごとにグループ化します。「コントローラー」ではなく「認証フロー」、「PHP ファイル」ではなく「通知配信」とします。
- **ファイルごとにグループはひとつだけです。**最も関連性の高いグループを選びます。
- **グループ名は 2~4 語にします。**短く、内容が分かる名前にします。
- **各グループに、そのリスク段階である理由を 1 行で記載します。**理由が必要なのは高と中のみです。低は省略できます。
- 各ファイルにステータスの接尾辞を付けます:
(added)、(modified)、または(deleted)。git diff --name-statusと一致させます。 - **リスク段階は高い順に並べます。**高、中、低、スキップの順です。
- 該当項目のない段階セクションは省略します。
- すべてがひとつの段階に該当する場合は、その旨を記載し、すべてのファイルをレビューするよう伝えます:「この差分は小規模です — すべてのファイルをレビューしてください」。
- **提案やアドバイスはしないでください。**これはトリアージマップであり、レビューではありません。「確認してください…」「検討してください…」「必ず…」などの表現は使わないでください。
- 絵文字は、高リスクの見出しに付ける ⚠️ 以外は使用しないでください。
- 最後に 1 行の要約を付けます:
X groups, Y high-risk files to focus on