PR作成を自動化。ブランチ検出・差分解析・タイトル/本文生成・Issue連携・push制御を一括実行
原則: PR作成に特化。セルフレビューは Hook+rules が自動トリガー。
/gh:pr # ベースブランチ自動検出 (main/master)
/gh:pr develop # ベースブランチ指定
&&, ||, ;, | を使わない。各コマンドは独立実行gh pr create は1回のみ実行: 失敗時はコマンドを表示してユーザーに手動委譲(Hook 多重発火防止)未コミットチェック: git status --porcelain を実行
git diff で確認し、Conventional Commits 形式でコミットを実行してから続行ブランチ確認: git branch --show-current を実行
main または master → 変更内容からブランチ名を生成し git checkout -b <branch> で feature ブランチを作成。未コミット変更があればコミットしてから続行既存 PR チェック: gh pr list --head <current-branch> --json number,url を実行
ベースブランチ決定:
git show-ref --verify refs/heads/<arg> で存在確認
git show-ref --verify refs/heads/main を試行、失敗なら refs/heads/master
コミット確認: git log <base>..HEAD --oneline を実行
完了条件: ブランチ名、ベースブランチ、コミット一覧が確定
差分取得: git diff <base>..HEAD で全差分取得
コミット一覧: git log <base>..HEAD --oneline でメッセージ一覧取得
タイトル生成:
Issue 連携:
issue-(\d+), (\d+)-, feat/(\d+), fix/(\d+) 等Closes #N を省略gh issue view <N> --json title,body で Issue 情報取得(PR本文の参考に使用)PR 本文生成:
## Summary
- (差分とコミットメッセージから変更内容を1-3個のバレットポイントで要約)
## Test plan
- [ ] (テスト手順のチェックリスト)
Closes #N ← Issue 検出時のみ
完了条件: タイトルと本文のドラフトが完成
git push -u origin <current-branch> を実行(独立コマンド)
git pull --rebase 後に再実行してください」で停止gh auth status で確認してください」で停止完了条件: リモートブランチが最新
gh pr create --title "<タイトル>" --body "$(cat <<'EOF'
<本文>
EOF
)" --base <base-branch>
成功時:
/gh:review <PR番号> で対応してください」失敗時:
完了後: Hook (pr-review-hook.sh) が gh pr create を検出し自動でセルフレビューをトリガー
| 状態 | 対応 |
|---|---|
| 未コミットの変更あり | 変更内容を確認し、Conventional Commits 形式でコミットしてから続行 |
| HEAD detached | 「feature ブランチで作業してください」で停止 |
| main/master ブランチ | 変更内容からブランチ名を生成し feature ブランチを作成、コミットして続行 |
| 既存 PR あり | PR URL を表示して終了 |
| ベースブランチが存在しない | 「ベースブランチ '<name>' が見つかりません」で停止 |
| コミットなし | 「ベースブランチとの差分がありません」で停止 |
| push 失敗: reject | 「リモートに変更があります。git pull --rebase 後に再実行してください」 |
| push 失敗: auth error | 「認証エラー。gh auth status で確認してください」 |
| push 失敗: その他 | エラー内容を表示、手動 push を提案 |
| PR 作成失敗 | エラー内容とコマンドを表示。ユーザーに手動実行を委譲 |
# 基本
User: /gh:pr
Claude:
1. [チェック] 未コミット変更なし、ブランチ: feature/add-auth、既存PRなし
2. [ベース] main (自動検出)、3コミット
3. [生成] タイトル: "feat: add user authentication (#42)"
4. [確認] タイトル・本文をユーザーに表示
5. [push] git push -u origin feature/add-auth
6. [PR作成] gh pr create 実行 → PR URL 表示
7. [Hook] セルフレビュー自動実行
# gh:start との連携
User: /gh:start 42 → Issue #42 の作業完了
User: /gh:pr → PR 作成
→ Hook がセルフレビューを自動実行
→ 問題発見時は /gh:review で対応
/gh:start 42 → Issue 駆動開発(実装・コミット)
/gh:pr → PR 作成(本スキル)
↓ Hook が自動レビュー
/gh:review → レビュー指摘への対応
/gh:issue close → Issue クローズ・振り返り