mcpField
P
piv-create-pr

piv-create-pr

github.com/coleam00開発722227 回インストール3 週間前に更新
リポジトリ

piv-create-pr について

piv-create-pr は、実装後に GitHub のプルリクエストを作成する開発スキルです。リポジトリの状態や変更内容を確認し、レビューへ引き継ぎます。

主な機能

  1. 01ベースブランチの検出
  2. 02ブランチとコミット状態の確認
  3. 03変更内容と検証情報の収集
  4. 04gh によるプルリクエスト作成
  5. 05レビュー用 PR 情報の出力

活用シーン

  1. 01機能ブランチの作業後に PR を作成
  2. 02コミットやレポートを基に PR 本文を準備
  3. 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 をハードコードしないでください。解決します。

  1. $ARGUMENTS に --base <branch> が含まれている場合は、それを使用します。
  2. それ以外の場合:git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@'
  3. フォールバック:git remote show origin 2>/dev/null | grep 'HEAD branch' | awk '{print $NF}'
  4. 最後の手段: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 つ作成することで、ワークツリーを使った並行作業(独立したチケットを同時に進めること)がスムーズになります。

コメント