PR Description 作成・反映スキル
GitHub PRのURLまたは番号を受け取り、titleとdescriptionを自動生成して直接PRに反映する。
ワークフロー
1. PR情報の取得
$ARGUMENTS からPR URLまたは番号を取得する。引数がない場合は現在のブランチのPRを対象とする。
以下のコマンドで情報を収集する:
bash
# PR概要(タイトル、ブランチ、ベースブランチ、コミット数) gh pr view <PR_NUMBER_OR_URL> --json title,body,baseRefName,headRefName,commits,labels,number # 差分の取得 gh pr diff <PR_NUMBER_OR_URL> # コミットログ gh pr view <PR_NUMBER_OR_URL> --json commits --jq '.commits[].messageHeadline'
2. 差分の分析
取得した差分とコミット履歴から以下を分析する:
- •変更されたファイルとその種類(新規/変更/削除)
- •実装の目的と内容
- •影響範囲(どのモジュール・機能に影響するか)
- •関連するissue番号(ブランチ名やコミットメッセージから推測)
大きなPR(差分が多い場合)はサブエージェントを使って差分を分析する。
3. タイトルの生成
コミット履歴と差分から変更の主目的を要約し、適切なPRタイトルを生成する:
- •70文字以内の簡潔な日本語タイトル
- •変更内容の「何を」「なぜ」が一目でわかるようにする
- •既存のタイトルが適切でない場合は改善する
4. descriptionの生成
以下のテンプレートに沿ってdescriptionを生成する。差分から読み取れる事実に基づいて各セクションを埋める:
markdown
## issue close #ISSUE_NUMBER ## 実装概要 <!-- 何をしたかを簡潔に(1-3行) --> ## 背景 <!-- なぜこの変更が必要だったか --> ## やらなかったこと <!-- スコープ外にしたこと。なければ「特になし」 --> ## 受入基準 <!-- この PR がマージ可能と判断するための条件をチェックリストで --> - [ ] 基準1 - [ ] 基準2 ## 実装詳細 <!-- 技術的な実装内容。ファイル単位やモジュール単位で説明 --> ## スクリーンショット <!-- UI変更がある場合のみ。なければ「なし」 --> ## 確認手順 <!-- レビュワーが動作確認するための具体的な手順 --> 1. 手順1 2. 手順2 ## 影響範囲 <!-- この変更が影響する画面・機能・モジュール --> ## コード上の懸念点 <!-- レビュワーに特に見てほしい箇所や、判断に迷った実装 --> ## その他 <!-- 補足情報。なければ「特になし」 -->
5. PRへの直接反映
生成したtitleとdescriptionを gh pr edit で直接PRに反映する:
bash
gh pr edit <PR_NUMBER> --title "<タイトル>" --body "$(cat <<'EOF' <description内容> EOF )"
反映後、更新したtitleとdescriptionの要約をユーザーに報告する。
注意事項
- •日本語で記述する
- •差分から読み取れる事実に基づいて記述し、推測が入る箇所は明示する
- •issue番号がブランチ名やコミットから特定できない場合は
close #の行は空欄にする(推測で番号を入れない) - •対話での確認は行わず、即座に生成・反映する