pr-branch-naming について
pr-branch-namingは、変更内容から規約に沿ったブランチ名と対応するPRタイトルを作る開発スキルです。明示的な確認と事前条件の検査を経て、ブランチのチェックアウトやドラフトPR作成も支援します。
主な機能
- 01変更タイプとスコープの選定
- 02規約に沿ったブランチ名の生成
- 03対応するPRタイトルの生成
- 04任意のチェックアウトとドラフトPR作成
- 05GitとGitHub CLIの事前条件確認
活用シーン
- 01説明された機能や修正のブランチ命名
- 02対応するPRタイトルの準備
- 03操作前のブランチと認証状態の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thedesignproject/ agent-skills --skill pr-branch-namingインストール後、Claude Code で/pr-branch-namingを入力して読み込まれたか確認します。
詳細
PR とブランチの命名
機能の説明から、規約に沿ったブランチ名と対応する PR タイトルを生成します。その後、ブランチのチェックアウトや PR の作成を任意で行います。ただし、ユーザーが明示的に確認した場合に限ります。
ステップ 1:機能の説明を取得する
ユーザーの入力は $ARGUMENTS にあります。次のいずれかです。
- 説明がある — そのまま使用します
- 空である —
git statusと直近のコミット(git log -n 5 --oneline)から作業内容を推測します。推測できた場合は、確認のためユーザーに提示します。推測できない場合は、次のように尋ねます。「このブランチの対象となる機能や変更は何ですか?」
説明をでっち上げてはいけません。手がかりがない場合は、尋ねてください。
ステップ 2:タイプとスコープを選ぶ
タイプ(いずれか 1 つ)
| タイプ | 用途 |
|---|---|
feat | 新機能または新しい UI の作業 |
fix | 既存機能のバグ修正 |
docs | ドキュメントのみの変更 |
refactor | 動作を変更しないコードの再構成 |
perf | パフォーマンスの改善 |
chore | ツール、設定、依存関係の更新 |
experimental | そのままリリースすることを意図しないプロトタイプ、スパイク、または探索的な作業 |
説明に最も合うタイプを選びます。デザイナーが作成した作業でよく使われるタイプは feat と experimental です。
スコープ
影響を受ける製品の領域を表します。短く、小文字で、可能であれば 1 語にします。例:playground、dashboard、auth、onboarding、billing。
説明からスコープを推測します。本当に曖昧な場合に限り、1 回だけ尋ねます。「製品のどの部分に関わる変更ですか? dashboard、auth などですか?」 ユーザーに何度も質問しないでください。
ステップ 3:ブランチのプレフィックスを選ぶ
| プレフィックス | 用途 |
|---|---|
feature/ | 新機能または UI の作業(feat に対応) |
bugfix/ | 既存機能の修正(fix に対応) |
hotfix/ | 緊急の本番環境向け修正 |
docs/ | ドキュメントの変更(docs に対応) |
experimental/ | プロトタイプや探索的な作業(experimental に対応) |
プレフィックスはタイプと一致させます。feat には feature/、fix には bugfix/ を使うなど、対応するものを使用してください。
ステップ 4:名前を生成する
ブランチ名
形式:<prefix>/<kebab-description>
ルール:
- 小文字のみ
- 単語はハイフンで区切る(アンダースコアとスペースは使わない)
- 末尾にハイフンを付けない
- 簡潔にする — 説明部分は 3~6 語を目安にする
- 冗長な語(
the、a、for、to、make)は省く
例: feature/patient-based-messaging
PR タイトル
形式:<type>(<scope>): <short description>
ルール:
- 説明は平易な言葉で、文頭のみ大文字にし、末尾にピリオドを付けない
- 簡潔にする — 1 行に収める
- ブランチの内容を反映しつつ、人間のレビュー担当者にとって自然な表現にする
例: feat(playground): v1 prototype — patient-based messaging flow
ステップ 5:結果を提示する
次の形式で、両方の名前と 1 行の理由を提示します。
Branch: feature/patient-based-messaging
PR title: feat(playground): v1 prototype — patient-based messaging flow
Type: feat (new UI work) · Scope: playground · Prefix: feature/
ステップ 6:適用するかどうかを確認する
ユーザーに次のどれを行うか尋ねます。
- ブランチをチェックアウトする —
git checkout -b <branch>を実行 - ドラフト PR を作成する —
gh pr create --draft --title "<title>" --body "<one-line description>"を実行 - 両方
- どちらもしない — ユーザー自身で名前をコピーする
いずれかのコマンドを実行する前に、前提条件を確認します。満たされない場合は、明確なメッセージを伝えて停止してください。
git checkout -bの場合: まずgit statusを実行します。作業ツリーに変更がある場合は、その状況を伝え、続行するか、スタッシュするか、中止するかを尋ねます。同じ名前のブランチがすでに存在する場合は、数字のサフィックス(-2)を付けるよう提案します。gh pr createの場合: まずgh auth statusを実行します。認証されていない場合は、ユーザーにgh auth loginを実行するよう伝え、停止します。ベースブランチより先にコミットがないブランチから PR を作成してはいけません —git log <base>..HEAD --onelineで確認し、空の場合は警告します。
このスキルの一環として、破壊的な git 操作(reset --hard、branch -D、push --force)を実行してはいけません。
注意事項
- このスキルを実行したとき、ユーザーがすでにデフォルト以外のブランチにいる場合は、新しいブランチを
main/masterから切るか、現在のブランチから切るかを確認してください。 - 複数の変更(例:「ログインのバグを修正して、新しいダッシュボードウィジェットを追加する」)が説明されている場合は、1つにまとめるのではなく、ブランチとPRを2つに分けることを提案してください。
- PRタイトルの説明には、例のように補足を加えるために em ダッシュ(
—)を使えます。使いすぎないでください。