Review the local diff with flat-perspective sub-agents, fix findings in a loop, then create a PR via the create-pr skill once the review is clean
Scanned 9/9/2026
Install to Claude Code
npx -y skills add sasamuku/dotfiles --skill create-pr-with-review --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Create Pr With Review?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sasamuku-create-pr-with-review)More formats (shields.io, HTML) on the badges page.
---
name: create-pr-with-review
description: Review the local diff with flat-perspective sub-agents, fix findings in a loop, then create a PR via the create-pr skill once the review is clean
---
# Create PR with Review
PR 作成前にローカル差分をレビューし、指摘がなくなるまで修正を繰り返してから @.claude/skills/create-pr/SKILL.md の手順で PR を作成する。
```
前提収集 → [レビュー → 指摘あり? → 修正 & commit] ループ → 指摘ゼロ → create-pr 実行
```
## フラットレビューの原則
レビューはメインセッションの記憶を引き継がないサブエージェント (Agent ツール) で行う。**実装時に何を考えたかは恣意的な情報なので渡さない**。
- **渡してよいもの**: PR 本文に書くレベルの前提情報のみ
- PR の目的・背景 (何を実現しようとしているか、1〜3 文)
- 差分 (`git diff` 生出力、ハンクヘッダ込み)
- ベース/ヘッドブランチ名、コミット一覧 (`git log --oneline`)
- 出力フォーマット (@.claude/skills/review-pr/output-format.md の本文)
- **渡してはいけないもの**:
- 実装中の試行錯誤・検討した代替案・却下した設計
- 「ここは意図的にこうした」「この指摘は既に検討済み」等の先回りの弁明
- セッション内の会話履歴・ユーザーとのやりとりの要約
- 修正ループの 2 周目以降も同じ。**前回のレビュー結果や修正の経緯を渡さず**、毎回まっさらな prompt で最新差分だけをレビューさせる
## 手順
### Phase 1: 前提収集
```bash
git branch --show-current
git status --short
git log <base>..HEAD --oneline
git diff <base>...HEAD
```
- `<base>` は `gh repo view --json defaultBranchRef --jq .defaultBranchRef.name` で確認
- 未コミットの変更があれば先にコミットさせる (レビュー対象 = コミット済み差分に固定するため)
- 差分が空なら「レビュー対象の差分がありません」と報告して終了
- PR の目的を 1〜3 文にまとめる (後で PR 本文の Summary にもなる)。セッションに文脈がなければユーザーに確認する
### Phase 2: レビューループ
@.claude/skills/review-pr/SKILL.md の「エージェント一覧」の表とトリガー評価をそのまま使う (エージェント名・トリガーはあちらが唯一の所在)。ただし入力は `gh pr diff` ではなく **`git diff <base>...HEAD` の生出力**に置き換える。
1 ラウンドの流れ:
1. **トリガー評価** — 差分ファイルパスに対して各エージェントの `trigger` を評価
2. **並列レビュー** — 起動対象を同一メッセージ内の独立した Agent ツール呼び出しで並列起動。各 prompt は次の節構成 (「フラットレビューの原則」の範囲内の情報のみ):
```
## PR 前提
<PR の目的 1〜3 文 / ベース・ヘッドブランチ名 / コミット一覧>
## 差分
<git diff <base>...HEAD の生出力をハンクヘッダ込みで貼る>
## 出力フォーマット
<@.claude/skills/review-pr/output-format.md の本文を丸ごと貼る>
```
3. **集約** — @.claude/skills/review-pr/SKILL.md の Phase 3 (正規化・重複検出・マージ・最終フィルタ 4 テスト) をそのまま適用。ただし「本 PR 差分内テスト」は「本ブランチ差分内」と読み替える
4. **判定**:
- **指摘ゼロ** → ループ終了、Phase 3 へ
- **指摘あり** → Findings テーブル (review-pr と同形式) をユーザーに表示したうえで修正へ
修正:
- フィルタを通過した指摘はすべて修正対象 (critical / warning / suggestion の区別で選別しない — フィルタが既にノイズを落としている)
- 修正内容が PR の目的と矛盾する・意図的な設計と衝突すると判断した指摘は、勝手に棄却せず**ユーザーに提示して判断を仰ぐ**。ユーザーが棄却した指摘は「棄却済みリスト」に記録し、以降のラウンドで同一指摘 (同ファイル・同根本原因) が再出しても修正対象から除外する (レビューエージェントには伝えない — フラット性維持のため。除外は集約側で行う)
- 修正したらコミットしてから次ラウンドへ (差分を常にコミット済みに保つ)
**ループ上限: 3 ラウンド**。3 ラウンド終えても指摘が残る場合は、残指摘一覧を提示して「修正を続けるか / このまま PR を作るか」をユーザーに確認する。
### Phase 3: PR 作成
@.claude/skills/create-pr/SKILL.md の手順をそのまま実行する (テンプレート確認 → 言語判定 → push → 本文作成 → `gh pr create --draft`)。
- Phase 1 でまとめた「PR の目的」を Summary の種にする
- レビューループで直した内容は PR 本文に書かない (作成時点のコードがすべて。修正経緯は恣意的情報と同じ扱い)
## エラーハンドリング
| シナリオ | 対応 |
|---|---|
| いずれかのレビューエージェントが失敗 | 残りの結果で続行し、失敗したエージェントを明記する |
| 修正がテストを壊した等で完了できない | ループを中断し、状況と残指摘をユーザーに報告する |
| 3 ラウンドで収束しない | 残指摘を提示し、続行 or PR 作成をユーザーに確認する |

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!