Agent Skills: GitHub PR 作成

GitHub の PR を作成します。ユーザーが PR の作成を求めたときや、エージェントが PR を作成するときに使用してください。

UncategorizedID: p-chan/dotfiles/personal-create-pr

Install this agent skill to your local

pnpm dlx add-skill https://github.com/p-chan/dotfiles/tree/HEAD/home/.agents/skills/personal-create-pr

Skill Files

Browse the full folder contents for personal-create-pr.

Download Skill

Loading file tree…

home/.agents/skills/personal-create-pr/SKILL.md

Skill Metadata

Name
personal-create-pr
Description
GitHub の PR を作成します。ユーザーが PR の作成を求めたときや、エージェントが PR を作成するときに使用してください。

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"

コンテキストに応じて、他のオプションも追加できます。