@@ -5,135 +5,8 @@ user-invocable: true
55allowed-tools : Bash, Skill, Agent
66---
77
8- ステージ済みの変更からsquash-mergeされたPRまで、プルリクエストの全ワークフローを自動化します。
8+ Use /pr-flow to run the full PR workflow, but with the following language overrides:
99
10- ** 現在のブランチ:** ` ! ` git branch --show-current``
11-
12- ** 作業ツリーの状態:**
13- ```
14- !`git status --short`
15- ```
16-
17- ## Phase 1: Worktree
18-
19- ` git-worktree ` スキルを Skill ツールで実行する。
20-
21- worktreeパス(例: ` /tmp/feat-foo ` )とブランチ名が返される。両方を保存する:
22- - ` WORKTREE_PATH ` — worktreeへの絶対パス
23- - ` BRANCH_NAME ` — worktree内に作成されたブランチ名
24-
25- ## Phase 2: コミット
26-
27- コミット前の HEAD sha を記録する:
28- ```
29- BEFORE_SHA=$(git -C $WORKTREE_PATH rev-parse HEAD)
30- ```
31-
32- ` git-commit-ja ` スキルを ` --path $WORKTREE_PATH ` 引数付きで Skill ツールで実行する。
33-
34- スキル完了後、コミットが実行されたか確認する:
35- ```
36- AFTER_SHA=$(git -C $WORKTREE_PATH rev-parse HEAD)
37- ```
38-
39- ` BEFORE_SHA == AFTER_SHA ` の場合、worktreeをクリーンアップして停止する:
40- ```
41- git worktree remove --force $WORKTREE_PATH
42- ```
43- コミットする変更がなかったこと、元のリポジトリの変更はそのまま残っていることをユーザーに伝える。
44-
45- ## Phase 3: PR作成
46-
47- ` git-pr-ja ` スキルを ` --path $WORKTREE_PATH ` 引数付きで Skill ツールで実行する。
48-
49- スキル完了後、PR URLを取得する:
50- ```
51- cd $WORKTREE_PATH && gh pr view --json url --jq '.url'
52- ```
53-
54- ` gh pr create ` がPR既存エラーで失敗した場合は、同じコマンドで既存のPR URLを取得する。
55-
56- このURLを保存する — 以降の ` gh pr comment ` と ` gh pr merge ` の呼び出しで使用する。
57-
58- ## Phase 4: レビューループ
59-
60- このループは最大 ** 3回** まで実行できる。イテレーション数を0から追跡する。
61-
62- ### 4a. レビュアーサブエージェントの起動
63-
64- Agent ツールで ` pr-reviewer ` サブエージェントを以下のプロンプト(実際のPR URLに置き換え)で起動する:
65-
66- ```
67- Review the PR at <PR_URL>. Run `gh pr diff <PR_URL>` to get the diff. Analyze it for bugs, logic errors, security issues, and style/convention violations. Return structured findings exactly as your instructions specify — the REVIEW_RESULT block only, no prose outside it.
68- ```
69-
70- ### 4b. レビューコメントの検証と投稿
71-
72- 投稿前に、サブエージェントのレスポンスに ` REVIEW_RESULT ` ... ` END_REVIEW_RESULT ` ブロックが含まれているか確認する。ブロックが存在しないか不正な場合は、代わりに以下の警告を投稿してPhase 5に進む:
73- ```
74- gh pr comment <PR_URL> --body "[Claude Codeによる自動レビュー] 警告:レビュアーが不正な出力を返しました。自動修正をスキップします。手動でレビューしてください。"
75- ```
76-
77- 正常な場合は、結果を投稿する:
78- ```
79- gh pr comment <PR_URL> --body "[Claude Codeによる自動レビュー]
80-
81- <フォーマットされたレビュー結果>"
82- ```
83-
84- 結果はmarkdownリスト形式で。各項目: 重要度ラベル(` must-fix ` / ` suggestion ` / ` nitpick ` )、ファイル/箇所、説明。
85-
86- ### 4c. 結果の評価
87-
88- - ** 問題なし** (` issues: [] ` を含む)または ** ` suggestion ` /` nitpick ` のみ** : Phase 5に進む。
89- - ** ` must-fix ` が存在し、かつ iteration < 3** :
90- - 指摘されたファイルを読んでから編集する。各 ` must-fix ` 問題を修正する。
91- - git-commit 実行前の HEAD sha を記録する:
92- ```
93- FIX_BEFORE=$(git -C $WORKTREE_PATH rev-parse HEAD)
94- ```
95- - `git-commit-ja` スキルを `--path $WORKTREE_PATH` 引数付きで Skill ツールで実行して修正をコミットする。
96- - コミットが実際に行われたか確認する:
97- ```
98- FIX_AFTER=$(git -C $WORKTREE_PATH rev-parse HEAD)
99- ```
100- - `FIX_BEFORE == FIX_AFTER`(コミットなし)の場合: 修正をコミットできなかった旨のコメントを投稿し、worktreeをクリーンアップ(`git worktree remove --force $WORKTREE_PATH`)してから停止する。ループしないこと。
101- - イテレーション数をインクリメントして4aに戻る。
102- - **`must-fix` が存在し、かつ iteration == 3**:
103- - コメントを投稿する:
104- ```
105- gh pr comment <PR_URL> --body "[Claude Codeによる自動レビュー] 自動修正の最大回数(3回)に達しました。残りのmust-fix問題は手動対応が必要です。"
106- ```
107- - worktreeをクリーンアップする:
108- ```
109- git worktree remove --force $WORKTREE_PATH
110- ```
111- - 停止する。マージには進まないこと。
112-
113- ## Phase 5: LGTM + マージ
114-
115- LGTMコメントを投稿する:
116- ```
117- gh pr comment <PR_URL> --body "[ Claude CodeによるLGTM]
118-
119- must-fix問題は見つかりませんでした。自動マージを開始します。"
120- ```
121-
122- ドラフトPRをマージするために、レビュー準備完了にマークする:
123- ```
124- gh pr ready <PR_URL>
125- ```
126-
127- squashマージをトリガーする:
128- ```
129- gh pr merge <PR_URL> --squash --auto
130- ```
131-
132- マージコマンドが失敗した場合は、エラー内容をユーザーに報告して停止する。自動リトライはしないこと。
133-
134- マージ成功後、worktreeをクリーンアップする:
135- ```
136- git worktree remove --force $WORKTREE_PATH
137- ```
138-
139- 最終的なPR URLとマージ結果をユーザーに報告する。
10+ - Commit message descriptions: ** in Japanese**
11+ - PR title and body: ** in Japanese**
12+ - Review comments and status messages posted to the PR: ** in Japanese**
0 commit comments