piv-create-pr について
piv-create-pr は、実装後に GitHub のプルリクエストを作成する開発スキルです。リポジトリの状態や変更内容を確認し、レビューへ引き継ぎます。
主な機能
- 01ベースブランチの検出
- 02ブランチとコミット状態の確認
- 03変更内容と検証情報の収集
- 04gh によるプルリクエスト作成
- 05レビュー用 PR 情報の出力
活用シーン
- 01機能ブランチの作業後に PR を作成
- 02コミットやレポートを基に PR 本文を準備
- 03ブランチに既存 PR があるか確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ coleam00/ skills --skill piv-create-prインストール後、Claude Code で/piv-create-prを入力して読み込まれたか確認します。
詳細
PR を作成:プルリクエストを開き、レビューに引き渡す
PIV ループの ship ステップです。実装はフィーチャーブランチにコミット済みです。次に PR を開き、
レビュー(まず piv-review-pr エージェント型ゲート、その後に人間)を受けられるようにします。
Phase 0 — ベースブランチを検出する
main をハードコードしないでください。解決します。
$ARGUMENTSに--base <branch>が含まれている場合は、それを使用します。- それ以外の場合:
git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' - フォールバック:
git remote show origin 2>/dev/null | grep 'HEAD branch' | awk '{print $NF}' - 最後の手段:
main。{base}として保存します。
Phase 1 — git の状態を検証する
git branch --show-current
git status --short
git log origin/{base}..HEAD --oneline
| 状態 | アクション |
|---|---|
{base} 上にいる | STOP:「まずフィーチャーブランチを作成してください(チケットごとに専用ブランチを作成してください)。」 |
| 未コミットの変更がある | STOP:「PR を開く前にコミット(または stash)してください。」 |
{base} より先行するコミットがない | STOP:「PR に含めるものがありません。」 |
このブランチの PR が既に存在する(gh pr list --head $(git branch --show-current) --json url) | STOP して URL を出力します。 |
| クリーンで、先行するコミットがあり、PR がない | 続行 |
Phase 2 — 本文用のコンテキストを集める
- プロジェクトの規約:
.claude/references/conventions.mdが存在する場合は、その## prセクションを読みます。そこに記載されたルールは、以下のデフォルトテンプレート(セクション、トーン、明記すべき内容)より優先されます。このファイルにはプロジェクト固有の情報が記載されます。このスキルは汎用のままです。 - コミット:
git log origin/{base}..HEAD --pretty=format:"- %s" - ファイル:
git diff --stat origin/{base}..HEAD - 実装レポート(
piv-implementが作成したものがある場合 —.claude/reports/<…>-report.md):要約、検証結果、記録された逸脱を本文に含めます(意図的な変更内容をレビュー担当者に伝えるためです)。 - 関連するチケット/issue:コミットやブランチ名に
ACC-…、#123、Fixes #…がないか確認します。 - PR テンプレート:
.github/PULL_REQUEST_TEMPLATE.mdが存在する場合は、それに記入します。存在しない場合は、以下のデフォルトを使用します。
Phase 3 — プッシュして PR を開く
git push -u origin HEAD
gh pr create --base "{base}" --title "{type}: {concise description}" --body "$(cat <<'EOF'
## Summary
{1-2 sentences: what this ticket delivers}
## What changed
{commit summaries}
## Validation
- Tests / type-check / lint: {pass/fail from the implementation report or a fresh run}
- Manual check: {what was exercised, or "pending review"}
## Notes for the reviewer
{documented deviations from the plan — intentional decisions — or "none"}
## Linked
{ticket / issue refs, or "none"}
_Ready for review._
EOF
)"
({type} = 作業内容に応じた feat/fix/refactor/…です。実際のレビューを受けられる状態でない場合は、--draft を使用します。)
出力
gh pr view --json number,url,title,baseRefName,headRefName
PR 番号と URL、ベースブランチ ← ヘッドブランチを報告し、**「レビュー準備完了 → piv-review-pr <number> を実行し、その後、人間が承認します。」**と伝えます。ここが引き渡し地点です。エージェントのループは PR を開いた時点で終了し、レビューとマージがゲートとなります。
注記
- ツールに依存しない考え方です。このスキルでは GitHub(
gh)を使用します。同じ流れは GitLab では「マージリクエストを開く」、チームで使っている別のツールでは「レビュー準備完了にする」に相当します。リモートのない単独作業の場合は、PR を省略してください。{base}にコミットし、次に進む前に自分で差分をレビューします。 - 並行作業を実現できます。チケットごとにブランチを 1 つ、チケットごとに PR を 1 つ作成することで、ワークツリーを使った並行作業(独立したチケットを同時に進めること)がスムーズになります。
コメント
Markdown 対応