PR — Pull Request Workflow
PR 作成を安全に進めるため、ブランチ準備、簡素化、レビュー、修正、PR作成、PR後検証を明確に分ける。
リポジトリ状態(呼び出し時点のスナップショット)
git status --short --branch
このスナップショットはモード判定と Safety gate の初期判断にのみ使う。以後の各ステップでは、規定のコマンド・スクリプトで取得する最新状態を正とする。
0. モード判定
$ARGUMENTS の先頭を確認し、references/commands.md を読んで実行パスを決める。
| 引数 | 動作 |
|---|
| 空(デフォルト) | full PR workflow |
create | simplify + PR, skip local code review |
review | read-only quality review and finding integration |
fix | Required fixes + verification + commit, no push |
simplify | simplification-only apply, no PR/push |
verify | existing PR checks/reviews only |
不明な引数の場合は停止してユーザーに確認する。
bundled scripts は chezmoi により $HOME/.claude/skills/my-pr/ へ配置される。最初のスクリプト実行前に配置を検証する。
test -f "$HOME/.claude/skills/my-pr/SKILL.md"
test -x "$HOME/.claude/skills/my-pr/scripts/prepare-review-artifacts.sh"
以後、bundled scripts は各 shell call から $HOME/.claude/skills/my-pr/scripts/... で直接参照する。前の shell call で設定した変数が残ると仮定しない。
1. Safety gate
verify 以外では、references/branching.md を読み、変更対象の分離、protected branch / worktree 処理、worktree 移動後の元ブランチ cleanup、upstream safety を確認する。
ここで対象変更と作業ブランチを確定し、protected branch に対象差分が残っていないことを確認するまで、simplify、review、fix、PR作成へ進まない。
2. Base and PR state
verify 以外では base branch と既存 PR を確認する。base branch の取得に失敗した場合は推測で main にしない。
base 取得では、ローカル main / master などの protected branch ref を直接進めない。git fetch origin "$BASE_BRANCH:$BASE_BRANCH" は禁止する。別 worktree の checked-out branch ref だけが進み、worktree/index に古い内容が逆差分として残ることがある。
artifact、PR context、レビュー用プロンプトの準備は、次の1回の shell call でまとめて行う。prepare-review-prompts.sh の行はデフォルト / review / fix だけで実行し、create / simplify では削る。
BASE_BRANCH=$(gh repo view --json defaultBranchRef -q .defaultBranchRef.name) &&
BASE_REF="origin/$BASE_BRANCH" &&
git fetch origin "+refs/heads/${BASE_BRANCH}:refs/remotes/origin/${BASE_BRANCH}" &&
git rev-parse --verify "$BASE_REF^{commit}" >/dev/null &&
git diff "$BASE_REF"...HEAD --stat &&
git log "$BASE_REF"..HEAD --oneline &&
ARTIFACT_ENV=$(bash "$HOME/.claude/skills/my-pr/scripts/prepare-review-artifacts.sh" "$BASE_REF") &&
bash "$HOME/.claude/skills/my-pr/scripts/prepare-pr-context.sh" "$ARTIFACT_ENV" &&
bash "$HOME/.claude/skills/my-pr/scripts/prepare-review-prompts.sh" "$ARTIFACT_ENV" &&
source "$ARTIFACT_ENV" &&
cat "$MY_PR_SCOPE_SUMMARY" "$MY_PR_CONTEXT"
途中のコマンドが失敗したら、その時点で止まる。失敗したコマンドとエラーを報告し、推測で先へ進まない。
PR scope を確認する。未コミット差分だけでなく、base branch との差分量を必ず報告する。
出力された artifact.env の絶対パスを、この run の artifact state file として保持する。以後の例にある /absolute/path/to/artifact.env は必ずその実パスへ置き換える。latest-env.sh の推測や、前の shell call の環境変数へ依存しない。
MY_PR_SCOPE_GATE が ok 以外の場合は停止する。large はユーザーがそのブランチ全体を PR 対象として明示済みの場合だけ続行できる。untracked は対象ファイルを明示して stage / git add -N するか、対象外と確認してから artifact を作り直す。
MY_PR_CONTEXT_STATE=found の場合は、PR 本文、top-level comments、reviews、inline review comments を review 入力として扱う。no_existing_pr の場合は、PR 本文と過去のやり取りが存在しないことを明示し、推測で補わない。
3. Quality workflow
3-1. create / simplify
コードレビューをスキップするモードでは、references/simplify/overview.md を読み、integrated simplify を apply mode で実行する。特に指定がない場合は Codex CLI の simplify profile(model_reasoning_effort="medium")で行う。
create: local correctness review なしで simplify apply → 修正があれば commit → PR 作成/更新へ進む。
simplify: 簡素化専用。simplify apply → 修正・検証・必要な commit まで行い、PR作成・push せず終了する。
3-2. デフォルト / review / fix: read-only quality review
references/review.md の Reviewer selection に従い、変更のリスクと規模から構成を決める。小変更は Reviewer C 単独、それ以外の指定条件では A/B/C を使い、A/B/C のときだけ references/review-multi.md も読む。選択理由を短く記録し、その構成の実行・入力検証・失敗処理に従う。
最初に simplify apply を実行せず、prepare-review-artifacts.sh が作成した repo-local artifact をレビューする。すべての選択済み reviewer が完了してから統合する。
3-3. 統合
references/review.md の Integration rules、Finding verification、Integration output に従う。選択した担当の結果を重複排除し、Required 候補と critical/high の指摘を実コードで確かめてから、各指摘を Required / Recommended / Not needed のどれか1つに分類する。
background 実行した reviewer が残っている間は最終回答しない。やむを得ず待機に入る場合は、再開に必要な artifact path、reviewer output path、次の手順を保存し、CCV の background monitor が利用可能なら監視登録する。
review は read-only なのでここで終了する。最終回答は references/review.md の判定見出し(✅ LGTM など)を1行目に置き、続けて PR の番号・タイトル・URL・状態・base/head と概要を書き、差分から確認できた具体的な良い点もまとめる。ファイル編集、検証、commit、push、PR作成をしない。
3-4. Required fix
デフォルト / fix では、🔴 Required だけ修正する。🟡 Recommended は修正しない。
| 変更の性質 | 対応 |
|---|
| タイポ、未使用 import、dead code、重複削除 | 修正する |
| 振る舞いが変わらない簡素化 | 修正する |
| バグ・セキュリティ修正 | root cause を確認して修正する |
| 振る舞い変更、API/schema/CLI/config 変更 | 修正せず停止して報告する |
| 好み、style、clever one-liner 化 | 修正しない |
修正後は関連検証を実行し、修正を commit する。fix は push、PR作成、verify を行わずここで終了する。
4. PR create / update
review / fix / simplify の場合はスキップする。
references/pr-body.md を読み、PR title/body を作る。PR 本文の推敲には my-japanese-editor skill を使う。push 前には references/branching.md の Push destination safety を実行する。
既存 PR がなければ draft PR を作成し、既存 PR があれば本文を更新する。
5. Verify
デフォルト、create、verify で実行する。review / fix / simplify ではスキップする。
references/verify.md を読み、既存 PR の checks polling、automated review 確認、必要な修正を行う。ready 化は行わない。
注意事項
- PR 本文は日本語で書く。
- draft PR を作成する。ready 化は行わない。
--assignee @me を付ける。
- commit message は Conventional Commits 形式の英語。
- read-only reviewer は repo 内外を問わずファイルを書かない。
.plans、/tmp、.tmp/my-pr への追加メモも禁止する。main orchestrator が作る .tmp/my-pr/ artifact だけは例外。
- Simplify は Codex CLI の
model_reasoning_effort="medium" を使う。model は上書きしない。
- Simplify は full diff を優先する。
references/review.md の line/byte chunking 条件を満たす場合だけ file-boundary chunking し、各 run/chunk の Required と Recommended をそれぞれ最大 5 件に制限する。
- chunk の単一ファイル上限を超える差分はそのファイルだけレビューから除外し、ファイル名と byte 数を最終結果に明示する。レビュー済みとして扱わない。
- fallback、default substitution、broad catch を追加しない。
- 好みの問題や style 指摘は修正対象にしない。
- テストが壊れる修正はしない。
- worktree 使用時は、PR 作成後も自動削除しない。
.tmp/my-pr/ は local artifact 置き場。stage / commit しない。