creating-pull-requests について
GitHubのドラフトPRを準備し、作成するためのスキルです。作成前のユーザー承認を必須とし、ブランチやコミットの手順、ラベル選択、リポジトリのテンプレートに沿った簡潔なPR内容を案内します。
主な機能
- 01準備済みまたは自動化の手順を選択
- 02ブランチ作成、コミット、プッシュを案内
- 03必須のPRラベルを選択
- 04リポジトリの指針に沿ってタイトルと説明を作成
- 05PR作成前にレビューと承認を必須化
活用シーン
- 01準備済みブランチからドラフトPRを作成
- 02ブランチ、コミット、プッシュを自動化
- 03レビュー用のPR内容とラベルを準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ streamlit/ streamlit --skill creating-pull-requestsインストール後、Claude Code で/creating-pull-requestsを入力して読み込まれたか確認します。
詳細
プルリクエストの作成
ユーザーの承認後、適切なラベルを付けて GitHub にドラフト PR を作成します。
重要な制約:
gh pr createを実行する前に、必ずユーザーの承認を待つ必要があります- 作成する前に、PR の内容を完全にチャットに表示する必要があります
- 以下に示す記述ルールとラベル付けルールに従う必要があります
ステップ 1: モードの選択
必ず最初にユーザーに確認してください:
PR の作成をどのように進めますか?
- 準備完了: すべての変更をコミット済みでプッシュ済みのフィーチャーブランチがあります
- 自動: ブランチの作成、コミット、プッシュを自動で処理します
続行する前にユーザーの返答を待ちます。
ステップ 2: git ワークフローの実行
モード A: 準備完了
準備状態を検証します:
git branch --show-current
git status
git branch -r | grep $(git branch --show-current)
ユーザーに確認し、その後ステップ 3 に進みます。
モード B: 自動
ユーザーがすでに git add で変更をステージング済みであることを前提とします。
git status
git checkout develop
git checkout -b {type}/{descriptive-name}
git commit -m "{imperative-verb} {what} {where}"
git push --set-upstream origin $(git branch --show-current)
ブランチ名: ケバブケースで {type}/{brief-description}。
タイプ: feature、fix、refactor、chore、docs。
例: feature/add-height-plotly-charts、fix/dataframe-memory-leak-scrolling。
コミットメッセージ: <命令形の動詞> <何を> <どこで>、50 文字以内、ピリオドなし。
例: Add height parameter to plotly charts、Fix memory leak in dataframe scrolling。
ステップ 3: PR の作成と構成
以下のタイトルと説明を起草する際は、/reviewing-pr-description スキルのタイトル/説明に関するガイダンスに従い、最初から明確で簡潔になるようにしてください。
3.1 ラベルの決定
すべての PR には次のラベルが必要です:
| カテゴリ | オプション |
|---|---|
| 影響 | impact:users (ユーザーの動作に影響) または impact:internal (ユーザーの動作に変化なし) |
| 変更タイプ | change:feature、change:bugfix、change:chore、change:refactor、change:docs、change:spec、change:other |
注: change:spec ラベルが付いた PR (仕様書/設計書のみを対象) は impact:* の要件から免除されます。コード変更を含む PR には change:spec を使用しないでください。
3.2 PR タイトルの生成
形式: [type] Description of change、63 文字以内 (スクワッシュマージのコミットサブジェクトに収まるように)。
例: [feature] Add height parameter to plotly charts、[fix] Extra padding on button。
3.3 PR 説明の作成
.github/pull_request_template.md を読み、必要なセクションを確認してから記入します。
記述ルール:
- 重要な点を強調します。明白なことは省略します。
- 変更を列挙する箇条書きは最大 2〜4 個まで。
- メタ的なコメント (「この PR は...」「私たちは...」「私は...を追加しました」) は書かないでください。変更内容を直接述べてください。
- 列挙しないこと: テストの追加、型の更新、バリデーションの追加、リンティングの修正 (すべて明白です)。
- 説明すべきこと: 自明でない判断 (非推奨化、単位の選択、フォールバック動作)。
良い例:
Height型システムを使用してst.plotly_chart()にheightパラメータを追加します。
use_container_heightを非推奨化 (2025-12-31 以降に削除)
悪い例 (すべての変更を列挙):
- シグネチャに
heightパラメータを追加- レイアウト設定 dataclass を更新
- height 値のバリデーションを追加
- 単体テストを追加
テストセクション — 変更されたファイルから検出します:
| パターン | テストの種類 |
|---|---|
lib/tests/**/*.py | Python 単体テスト |
frontend/**/*.test.{ts,tsx} | フロントエンド単体テスト |
e2e_playwright/**/*_test.py | E2E テスト |
PR テンプレートの該当するチェックボックスをオンにします。テストファイルが変更されていない場合は、その理由を説明します。「手動テスト」は未チェックのままにします (ユーザーが記入します)。
3.4 ユーザーレビュー用の PR の作成
完全な PR の詳細を work-tmp/pr_description.md に書き込みます:
---
title: [PR title from 3.2]
labels: impact:{users|internal}, change:{type}
---
[PR description from 3.3]
ユーザーに確認します: 「PR の詳細を work-tmp/pr_description.md に書き込みました。そのファイルでタイトル、ラベル、説明を直接編集できます。PR を作成する準備ができたら『yes』と返信するか、変更に関するフィードバックをお寄せください。」
3.5 PR の作成 (ユーザーの承認後のみ)
work-tmp/pr_description.md を読み、(.編集されている可能性のある) タイトル、ラベル、説明を取得します:
# Parse frontmatter from the reviewed file
title=$(grep '^title:' work-tmp/pr_description.md | sed 's/^title: //')
labels=$(grep '^labels:' work-tmp/pr_description.md | sed 's/^labels: //' | sed 's/, /,/g')
# Extract body (everything after the closing --- of frontmatter)
awk '/^---$/{if(++count==2) flag=1; next} flag' work-tmp/pr_description.md > work-tmp/pr_body.md
# Create PR using parsed values
gh pr create \
--title "$title" \
--body-file work-tmp/pr_body.md \
--base develop \
--label "$labels" \
--draft
# Clean up temporary files
rm work-tmp/pr_description.md work-tmp/pr_body.md
参考
記述原則、ラベル付け、ブランチ命名、テスト計画の詳細については、Pull requests wiki を参照してください。