現在のブランチから Pull Request を作成する。 PULL_REQUEST_TEMPLATE.md を読み込みセクションを自動生成する。 ブランチ名からタイトルプレフィックスとラベルを自動決定する。 「PR 作成して」「プルリク作って」「PR 出して」等のリクエストや、 実装完了後の PR 作成フローで使用する。 トリガー: /pr-create
外部 CLI(Codex CLI / Gemini CLI)と連携するスキルで守るべき共通ルール。
| 対象 | 言語 |
|---|---|
| Codex / Gemini への質問 | 英語 |
| Codex / Gemini からの回答 | 英語 |
| ユーザーへの報告 | 日本語 |
CLI ツールの利用可否と設定は cli-tools.yaml で一元管理する。
.claude/config/agent-routing/cli-tools.yaml を読み込む.claude/config/agent-routing/cli-tools.local.yaml があれば上書きを適用する{tool}.enabled を確認する(false なら claude-direct にフォールバック)agents.{name}.tool で実行先を決定するagents.{name}.tool | 動作 |
|---|---|
codex | Codex CLI を使用 |
gemini | Gemini CLI を使用 |
claude-direct | 外部 CLI を呼ばず Claude で処理 |
auto | タスク種別に応じて選択(深い推論 → Codex、調査 → Gemini、単純作業 → Claude) |
外部 CLI(Codex / Gemini)は sandbox 内で直接実行する。
エラー時は claude-direct にフォールバックする。
対話系スキルで守るべき共通ルール。
Pull Request 作成時に守るべき共通ルール。pr-create および issue-fix から参照される。
PR 本文は以下のテンプレート構造に従う。プロジェクトに .github/PULL_REQUEST_TEMPLATE.md がある場合はそれを優先する。
## Summary
-
## Testing
- [ ] テスト実施済み
- [ ] 未実施(理由を記載)
## Release Note
- ユーザー向け変更点:
- `CHANGELOG.md` 更新:
## Checklist
- [ ] PR タイトルが GitHub Release にそのまま載っても読める
- [ ] 適切なラベルを付けた (`bug` / `enhancement` / `documentation` / `refactor` / `task` / ...)
- [ ] ユーザー向け変更がある場合は `CHANGELOG.md` の `Unreleased` を更新した
| セクション | 入力ソース | 記述ルール |
|---|---|---|
| Summary | コミット履歴 + diff stat | 変更内容を箇条書きで要約 |
| Testing | テスト実行結果 | 実施済みなら結果を記載、未実施なら理由を記載 |
| Release Note | 変更内容の分析 | ユーザー向け変更がある場合のみ記載 |
| Checklist | 自動チェック | 可能な項目は事前にチェック済みにする |
{prefix}: {要約}ラベルは GitHub リポジトリで実際に定義されているものに合わせる。存在しないラベルを指定すると gh pr create がエラーを返すため、ポリシーと実リポジトリを同期させる。
| ブランチプレフィックス | PR タイトルプレフィックス | ラベル |
|---|---|---|
fix/ | fix: | bug |
feat/ | feat: | enhancement |
docs/ | docs: | documentation |
chore/ | chore: | task |
refactor/ | refactor: | refactor |
test/ | test: | task |
task/ | chore: | task |
release/ | release: | task |
| その他 | chore: | task |
Note:
bug/enhancement/documentationは GitHub のデフォルトラベルをそのまま採用している。refactor/taskはプロジェクト固有ラベル。リポジトリが異なるラベル体系を使っている場合は、この表と実ラベルを個別に調整すること。
Closes #{番号} を追加するmain への直接 push は行わないorigin/main を取り込んで行う-u フラグでトラッキングを設定する: git push -u origin {ブランチ名}現在のブランチから Pull Request を作成する。
/pr-create
/pr-create --issue 42
/pr-create --issue 42 --reviewers "code-reviewer: LGTM"
スキル実行時に以下の情報を収集する:
# ブランチ・ステータス・ベースブランチとの差分
git branch --show-current
git status --short
git log --oneline main..HEAD
git diff --stat main..HEAD
BRANCH=$(git branch --show-current)
main ブランチ上にいる場合はエラーで終了する(PR 作成対象のブランチに移動するよう案内)。
git log --oneline main..HEAD
git diff --stat main..HEAD
コミットが 0 件の場合はエラーで終了する。
同一ブランチで既に PR が存在するか確認する:
gh pr list --head {ブランチ名} --state open --json number,title,url
既存 PR がある場合は AskUserQuestion で対応を選択する:
以下の優先順で PR テンプレートを探す:
.github/PULL_REQUEST_TEMPLATE.md(プロジェクトローカル)gh api repos/{owner}/{repo}/community/profile --jq '.files.pull_request_template' でテンプレート URL を取得テンプレートが見つからない場合は PR Standards Policy のフォールバックテンプレートを使用する。
--issue 引数がある場合、Issue 情報を取得する:
gh issue view {番号} --json number,title,labels
以下の優先順でタイトルを決定する:
{prefix}: {タイトル} 形式で生成プレフィックスとラベルは PR Standards Policy の「ブランチプレフィックスとラベルの対応」表に従う。
テンプレートの各セクションを埋める:
CHANGELOG.md 更新状況を記載Issue がある場合、本文冒頭に Closes #{番号} を追加する。
PR Standards Policy の「ブランチプレフィックスとラベルの対応」表に従い、ブランチプレフィックスからラベルを決定する。
--reviewers 引数がある場合、レビュー結果を PR 本文に追記する。
--issue 引数なしで呼ばれた場合、AskUserQuestion でプレビューと確認を行う:
PR タイトル: {タイトル}
ラベル: {ラベル}
ベースブランチ: main
--- PR 本文プレビュー ---
{生成された本文}
---
この内容で PR を作成しますか?
選択肢:
issue-fix 等から引数付きで呼ばれた場合は確認をスキップし、そのまま作成する。
git push -u origin {ブランチ名}
gh pr create \
--title "{タイトル}" \
--label "{ラベル}" \
--body "$(cat <<'EOF'
{生成された本文}
EOF
)"
PR を作成しました:
- URL: {PR URL}
- タイトル: {タイトル}
- ラベル: {ラベル}
- ベースブランチ: main
gh コマンドは認証済みであることを前提とするmain への直接 push は行わないCHANGELOG.md の Unreleased 更新を Checklist で確認する