mcpField
P
pr-description-writer

pr-description-writer

github.com/varnan-tech開発68844 回インストール2 週間前に更新
リポジトリ

pr-description-writer について

現在の Git ブランチの差分から GitHub のプルリクエスト説明文を作成し、PR の作成や更新も行う開発者向けスキルです。指定フォーマットに従い、環境や既存 PR、説明文の品質を確認します。

主な機能

  1. 01ブランチ差分とコミット情報の収集
  2. 02GitHub CLI の認証とブランチ状態の確認
  3. 03指定された PR 形式ガイドへの準拠
  4. 04GitHub CLI による PR の作成・更新
  5. 05変更項目の具体性と追跡可能性の確認

活用シーン

  1. 01機能ブランチの PR 説明文の作成
  2. 02既存 PR の本文の更新
  3. 03手動出力用の差分ベース説明文の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/varnan-tech/opendirectory --skill pr-description-writer

インストール後、Claude Code で/pr-description-writerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
evals/
evals.json
references/
pr-format-guide.md

詳細

PR 説明文の作成

現在のブランチの差分を読み取り、GitHub プルリクエストの説明文を作成します。1 つのコマンドで PR を作成または更新します。

文体

生成するすべての PR 説明文に適用します。

  • 能動態を使います。「X を追加します」とし、「X が追加されました」とはしません。
  • 要約には現在形を使います(「キャッシュ層を追加します」)。背景には過去形を使います(「以前の方法ではレンダリングごとに N 件のリクエストが発生していました」)。
  • 短い文にし、箇条書き 1 つにつき 1 つの内容にします。
  • ダッシュは使わず、読点または句点を使います。
  • 「この PR」「このコミット」「議論に従って」などの埋め草は使いません。
  • 一般論より具体的な内容を優先します。「パフォーマンスを改善します」より「p95 レイテンシを 800ms から 90ms に短縮します」とします。

ステップ 1:セットアップを確認する

gh が認証済みであることを確認します。

gh auth status

認証されていない場合は、gh auth login を実行して、プロンプトに従います。

現在のディレクトリが Git リポジトリで、アクティブなブランチがあることを確認します。

git branch --show-current

HEAD が切り離されている場合、またはブランチがない場合は、停止して、説明するブランチをユーザーに確認します。


ステップ 2:差分のコンテキストを収集する

コンテキストを把握するため、次の 3 つのコマンドをすべて実行します。

ファイルの概要(何が変更されたか):

git diff main...HEAD --stat

コミットメッセージ(なぜ変更されたか):

git log main...HEAD --oneline

完全な差分(どのように変更されたか):

まず origin/main を使い(常に最新の状態です)、次にローカルの main、最後に master を使います。

if git rev-parse origin/main &>/dev/null 2>&1; then
  BASE=origin/main
elif git rev-parse main &>/dev/null 2>&1; then
  BASE=main
else
  BASE=master
fi
git diff $BASE...HEAD

差分が非常に大きい場合(500 行超)は、--stat の概要とコミットメッセージだけを読みます。また、出力全体を処理せずに主な変更を理解できるよう、差分の最初の 200 行も読みます。

既存の PR があるかどうかを確認し、現在のタイトルと本文を読みます。

gh pr view --json title,body,baseRefName 2>/dev/null

ステップ 3:フォーマットガイドを読む

何かを書く前に、references/pr-format-guide.md を最後まで読みます。次の内容を把握します。

  • 必須セクションとその順序
  • 各セクションの書き方
  • 含める内容と省く内容
  • テストセクションの形式

ステップ 4:説明文を作成する

references/pr-format-guide.md の形式に沿って PR の説明文を作成します。

ルール:

  • Changes セクションの各箇条書きは、差分の内容に対応させます。
  • コード変更から示唆されないテスト手順を作りません。
  • 関連する内容がないセクションは、完全に省略します(「該当なし」と書いたり、空欄にしたりしません)。
  • スクリーンショットセクションは、差分に画面上で確認できる UI の変更がある場合にのみ含めます。
  • コミットメッセージで「なぜ」が説明されている場合は、その背景を Summary に反映します。

QA チェックポイント: 提示する前に、次の点を確認します。

  • Summary は 1~2 文で、能動態で書かれ、埋め草がない
  • 変更点の各箇条書きは具体的で、差分の内容に対応している
  • 発明した指標や結果がない
  • テスト手順が実行可能である(誰でも手順に従える)
  • どの行にもダッシュを使っていない

ステップ 5:PR を作成または更新する

説明文をユーザーに提示し、「PR を作成する、既存の PR を更新する、それとも出力のみですか?」と尋ねます。

新しい PR を作成する:

バッククォート、引用符、改行を安全に扱えるよう、標準入力から本文を渡します。

gh pr create --title "TITLE_HERE" --body-file - << 'EOF'
BODY_HERE
EOF

コミットメッセージと差分の概要に基づいてタイトルを提案します。タイトルは命令形で 72 文字未満にします。「Redis caching for user session lookups を追加する」とし、「キャッシュを追加しました」とはしません。

既存の PR を更新する:

gh pr edit --body-file - << 'EOF'
BODY_HERE
EOF

出力のみ: 手動でコピーして貼り付けられるよう、タイトルと本文をコードブロックに入れて提示します。

作成または更新後、「PR の説明文を更新しました。こちらで確認できます:[URL]」と伝えます。

コメント