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

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

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

### モード1: PRモード
**判定条件:** タスクに `#42`、`PR #42`、`pull/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` の出力に含まれる1つのブランチ名と完全一致する場合。`feature/auth` のように `/` を含むものだけでなく、`develop`、`release-v2`、`hotfix-login` 等のブランチ名も対象。
**手順:**
1. `git branch -a` を実行し、出力されたブランチ一覧を自分で確認する。生のタスクテキストをシェルコマンドに埋め込んではならない。
2. 正規化は、前後の空白除去、全体を囲む引用符/バッククォートの除去、先頭の `origin/` 除去までに限定する。それ以外の推測・部分一致・あいまい一致は行わない。
3. 正規化後の文字列がブランチ一覧中の1つのブランチ名と完全一致した場合のみ、そのブランチを採用する。
4. 完全一致しない場合、複数候補に見える場合、説明文の一部にブランチ名が埋まっているだけの場合は推測せず、現在の差分モードにフォールバックする。
5. ベースブランチを特定する（デフォルト: `main`、フォールバック: `master`）
6. 手順3で確定したブランチ名だけを使って `git log {base}..{branch} --oneline` でコミット履歴を取得
7. 手順3で確定したブランチ名だけを使って `git diff {base}...{branch}` で差分を取得
8. 変更ファイル一覧をまとめる
9. コミットメッセージから目的を抽出する
10. ブランチに対応するPRがあれば、手順3で確定したブランチ名だけを使って `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」と記載する
- 必須項目: レビュー対象概要、目的、変更ファイル一覧、差分
