| name | personal-create-pr |
| description | GitHub の PR を作成します。ユーザーが PR の作成を求めたときや、エージェントが PR を作成するときに使用してください。 |
| compatibility | Claude Code |
| allowed-tools | Bash(git config --local --get *), Bash(gh pr list *), Bash(git ls-remote *), Bash(git log:*), Bash(gh issue list *), Bash(fd *), Read(*) |
GitHub PR 作成
ワークフロー
1. 判定
personal-detect-git-convention スキルの手順に従い、以下を判定します。
- 言語(
convention.language)
- PR タイトルスタイル(
convention.pull-request-title-style)
2. テンプレート確認
以下のファイルが存在する場合は、内容を確認します。
.github/pull_request_template.md
.github/PULL_REQUEST_TEMPLATE/*.md
3. プッシュ
現在のブランチがリモートにプッシュ済みか確認します。
git ls-remote --heads origin <branch-name>
出力が空の場合はプッシュします。
git push -u origin <branch-name>
4. 差分確認
以下のコマンドでベースブランチとヘッドブランチの差分を確認します。
git log <base-branch>..HEAD --oneline
git diff <base-branch>...HEAD
5. タイトルと本文の生成
タイトルと本文を生成する前に、生成に使う設定値を出力します。
- 言語:
<convention.language の値>
- スタイル:
<convention.pull-request-title-style の値>
- テンプレート:
<テンプレートのパス or なし>
その後、言語とスタイル、テンプレート、差分をもとに、タイトルと本文を生成します。
テンプレートが存在しない場合は、以下のテンプレートを利用してください。
## Why
## What
## Notes
この PR のマージによってクローズできる Issue がある場合は、本文に GitHub のクローズキーワードを含めます。
Closes #123
クローズキーワード: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved
生成後、以下の表を出力して確認します。期待値と実績が異なる場合は修正します。
6. 作成
gh pr create \
--assignee @me \
--body "$body" \
--title "$title"
コンテキストに応じて、他のオプションも追加できます。