takt/builtins/ja/facets/instructions/gather-review.md
nrslib cc7f73dc3e review ピースに拡張: PR/ブランチ/現在の差分の3モード自動判定に対応
pr-review → review にリネームし、gather が入力テキストからモードを自動判定する。
ブランチ名の判定を git branch -a で確認する方式に強化、直近Nコミット指定に対応、
output contract にコミット履歴セクションを追加。
2026-02-24 13:11:31 +09:00

2.7 KiB
Raw Blame History

レビュー対象の情報を収集し、レビュアーが参照するレポートを作成してください。

レビューモードの自動判定

タスクテキストを分析し、適切なモードを判定してください。

モード1: PRモード

判定条件: タスクに #42PR #42pull/42、または /pull/ を含むURL がある 手順:

  1. PR番号を抽出する
  2. gh pr view {番号} でタイトル・説明・ラベルを取得
  3. gh pr diff {番号} で差分を取得
  4. 変更ファイル一覧をまとめる
  5. PRの説明から要件・目的を抽出する
  6. リンクされた Issue があれば gh issue view {番号} で取得する
    • "Closes #N"、"Fixes #N"、"Resolves #N" 等からIssue番号を抽出
    • Issue のタイトル・説明・ラベル・コメントを収集する

モード2: ブランチモード

判定条件: タスクテキストが git branch -a の出力に含まれるブランチ名と一致する場合。feature/auth のように / を含むものだけでなく、developrelease-v2hotfix-login 等のブランチ名も対象。判定に迷ったら git branch -a | grep {テキスト} で確認する。 手順:

  1. ベースブランチを特定する(デフォルト: main、フォールバック: master
  2. git log {base}..{branch} --oneline でコミット履歴を取得
  3. git diff {base}...{branch} で差分を取得
  4. 変更ファイル一覧をまとめる
  5. コミットメッセージから目的を抽出する
  6. ブランチに対応するPRがあれば gh pr list --head {branch} で取得する

モード3: 現在の差分モード

判定条件: モード1・モード2に該当しない場合例: "今の差分を見て"、"現在の変更をレビュー"、"直近のコミット"、"直近3コミット" 手順:

  1. タスクテキストに件数指定がある場合("直近Nコミット"、"last N commits"等はNを抽出する。なければ N=1
  2. git diff でステージされていない変更、git diff --staged でステージ済み変更を取得
  3. 両方とも空の場合は git diff HEAD~{N} で直近Nコミット分の差分を取得
  4. git log --oneline -{N+10} でコミットコンテキストを取得
  5. 変更ファイル一覧をまとめる
  6. 直近のコミットメッセージから目的を抽出する

レポート要件

  • モードに関わらず、出力レポートは同じフォーマットに従う
  • 取得可能な項目を埋め、取得できない項目は「N/A」と記載する
  • 必須項目: レビュー対象概要、目的、変更ファイル一覧、差分