pr-creator について
pr-creator は、リポジトリのコントリビューターがプルリクエストを準備・作成するためのスキルです。ブランチの安全確認、テンプレートに沿った説明文、事前チェック、gh CLI による作成までを案内します。
主な機能
- 01作業前のブランチ安全確認
- 02未コミット変更のステージングとコミット
- 03PR テンプレートの確認と適用
- 04npm run preflight の実行
- 05gh CLI による PR 作成
活用シーン
- 01PR 用の変更をコミットして準備
- 02リポジトリのテンプレートに沿った説明文作成
- 03ブランチのプッシュ前に変更を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ google-gemini/ gemini-cli --skill pr-creatorインストール後、Claude Code で/pr-creatorを入力して読み込まれたか確認します。
詳細
プルリクエストの作成
このスキルでは、リポジトリの基準に準拠した高品質なプルリクエストを作成する手順を説明します。
ワークフロー
次の手順に従ってプルリクエストを作成します。
-
ブランチ管理: 重要:
mainブランチで作業していないことを確認してください。git branch --show-currentを実行します。- 現在のブランチが
mainの場合は、説明的な名前の新しいブランチを作成して切り替える必要があります。git checkout -b <new-branch-name>
-
変更のコミット: 意図した変更がすべてコミットされていることを確認します。
git statusを実行して、ステージングされていない変更や未コミットの変更がないか確認します。- 未コミットの変更がある場合は、先にステージングして、説明的なメッセージを付けてコミットしてから次に進みます。
mainに直接コミットしてはいけません。git add . git commit -m "type(scope): description"
-
テンプレートの場所を確認: リポジトリ内でプルリクエストのテンプレートを探します。
.github/pull_request_template.mdを確認します。.github/PULL_REQUEST_TEMPLATE.mdを確認します。- 複数のテンプレートがある場合(例:
.github/PULL_REQUEST_TEMPLATE/内)、ユーザーにどれを使用するか尋ねるか、状況に応じて最も適切なもの(例:bug_fix.mdとfeature.md)を選択します。
-
テンプレートを読む: 特定したテンプレートファイルの内容を読みます。
-
説明文を作成: テンプレートの構成に厳密に従って、PR の説明文を作成します。
- 見出し: テンプレートのすべての見出しを維持します。
- チェックリスト: 各項目を確認します。完了した項目には
[x]を付けます。該当しない項目は、テンプレートの指示に応じて未チェックのままにするか[ ]を付けるか、テンプレートで柔軟な対応が認められている場合は削除します(ただし、透明性を保つため、未チェックのままにしておくことを推奨します)。 - 内容: 各セクションに、変更内容を明確かつ簡潔にまとめて記入します。
- 関連する Issue: この PR で修正される Issue や関連する Issue へのリンクを記載します(例: "Fixes #123")。
-
事前チェック: PR を作成する前に、ワークスペースの事前チェック用スクリプトを実行し、ビルド、リンター、テストの各チェックがすべて成功することを確認します。
npm run preflightチェックに失敗した場合は、PR の作成に進む前に問題を修正してください。
-
ブランチをプッシュ: 現在のブランチをリモートリポジトリにプッシュします。 重要な安全策: プッシュする前にブランチ名を再確認します。 現在のブランチが
mainの場合は、絶対にプッシュしてはいけません。# 現在のブランチが main ではないことを確認 git branch --show-current # 対話なしでプッシュ git push -u origin HEAD -
PR を作成:
ghCLI を使用して PR を作成します。複数行の Markdown でシェルのエスケープに関する問題が起きないよう、まず説明文を一時ファイルに書き込みます。# 1. 作成した説明文を一時ファイルに書き込む # 2. --body-file フラグを使って PR を作成する gh pr create --title "type(scope): succinct description" --body-file <temp_file_path> # 3. 一時ファイルを削除する rm <temp_file_path>- タイトル: リポジトリで使用している場合は、タイトルが
Conventional Commits の形式に従っていることを確認します(例:
feat(ui): add new button、fix(core): resolve crash)。
- タイトル: リポジトリで使用している場合は、タイトルが
Conventional Commits の形式に従っていることを確認します(例:
原則
- 安全第一:
mainには絶対にプッシュしないでください。これが最優先事項です。 - 規約の遵守: PR テンプレートを無視してはいけません。テンプレートには理由があります。
- 完全性: 該当するすべてのセクションに記入します。
- 正確性: 実行していない作業にチェックを付けてはいけません。
コメント
Markdown 対応