create-pull-request
关于
This Claude Skill automates creating and managing GitHub pull requests using GitHub CLI, covering the workflow from branch preparation to PR creation and merge cleanup. It helps developers submit feature or fix branches for review, request code reviews from collaborators, and document changes. Use it when preparing changes for merging into main branches or when needing structured PR descriptions and titles.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-pull-request在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
name: create-pull-request description: > GitHub CLIを使用してプルリクエストを作成・管理する。ブランチの準備、 PRタイトルと説明文の作成、PRの作成、レビューフィードバックの対応、 マージとクリーンアップのワークフローをカバーする。フィーチャーまたは修正 ブランチからの変更をレビューに提出する時、完了した作業をメインブランチに マージする時、共同作業者にコードレビューを依頼する時、一連の変更の 目的と範囲を文書化する時に使用する。 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: intermediate language: multi tags: github, pull-request, code-review, gh-cli, collaboration locale: ja source_locale: en source_commit: 6a868d56 translator: Claude Opus 4.6 translation_date: 2026-03-13
プルリクエストの作成
明確なタイトル、構造化された説明文、適切なブランチ設定でGitHubプルリクエストを作成する。
使用タイミング
- フィーチャーまたは修正ブランチからの変更をレビューに提出する時
- 完了した作業をメインブランチにマージする時
- 共同作業者にコードレビューを依頼する時
- 一連の変更の目的と範囲を文書化する時
入力
- 必須: コミット済みの変更を含むフィーチャーブランチ
- 必須: マージ先のベースブランチ(通常
main) - 任意: レビュー依頼先
- 任意: ラベルまたはマイルストーン
- 任意: ドラフトステータス
手順
ステップ1: ブランチの準備状態を確認する
ブランチがベースブランチと同期しており、すべての変更がコミットされていることを確認する:
# コミットされていない変更を確認
git status
# リモートから最新を取得
git fetch origin
# 最新のmainにリベース(またはマージ)
git rebase origin/main
期待結果: ブランチが origin/main よりも先にあり、コミットされていない変更やコンフリクトがない。
失敗時: リベースでコンフリクトが発生した場合、解決し(resolve-git-conflicts スキルを参照)、git rebase --continue を実行する。ブランチの乖離が大きい場合は、代わりに git merge origin/main を検討する。
ステップ2: ブランチ上のすべての変更をレビューする
PRに含まれる差分全体とコミット履歴を確認する:
# このブランチのコミット(mainにないもの)を表示
git log origin/main..HEAD --oneline
# mainとの差分全体を表示
git diff origin/main...HEAD
# ブランチがリモートを追跡しプッシュ済みか確認
git status -sb
期待結果: すべてのコミットがPRに関連している。差分には意図した変更のみが含まれている。
失敗時: 無関係なコミットが含まれている場合、PRを作成する前に対話的リベースで履歴を整理することを検討する。
ステップ3: ブランチをプッシュする
# ブランチをリモートにプッシュ(上流トラッキングを設定)
git push -u origin HEAD
期待結果: ブランチがGitHubリモートに表示される。
失敗時: プッシュが拒否された場合、git pull --rebase origin <branch> で先にプルし、コンフリクトがあれば解決する。
ステップ4: PRタイトルと説明文を作成する
タイトルは70文字以内に収める。詳細は本文に記述する:
gh pr create --title "Add weighted mean calculation" --body "$(cat <<'EOF'
## Summary
- Implement `weighted_mean()` with NA handling and zero-weight filtering
- Add input validation for mismatched vector lengths
- Include unit tests covering edge cases
## Test plan
- [ ] `devtools::test()` passes with no failures
- [ ] Manual verification with example data
- [ ] Edge cases: empty vectors, all-NA weights, zero-length input
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
ドラフトPRの場合:
gh pr create --title "WIP: Add authentication" --body "..." --draft
期待結果: GitHubにPRが作成され、URLが返される。説明文が変更内容とテスト方法を明確に伝えている。
失敗時: gh が認証されていない場合は gh auth login を実行する。ベースブランチが間違っている場合は --base main で指定する。
ステップ5: レビューフィードバックに対応する
レビューコメントに回答し、更新をプッシュする:
# PRコメントを表示
gh api repos/{owner}/{repo}/pulls/{number}/comments
# PRのレビュー状態を確認
gh pr checks
# 変更を加えた後、コミットしてプッシュ
git add <files>
git commit -m "$(cat <<'EOF'
fix: address review feedback on input validation
EOF
)"
git push
期待結果: PRに新しいコミットが表示される。レビューコメントに対応済みである。
失敗時: プッシュ後にCIチェックが失敗した場合、gh pr checks でチェック出力を読み、再レビュー依頼の前に問題を修正する。
ステップ6: マージとクリーンアップ
承認後:
# PRをマージ(スカッシュマージで履歴をクリーンに保つ)
gh pr merge --squash --delete-branch
# または全コミットを保持してマージ
gh pr merge --merge --delete-branch
# またはリベースマージ(リニア履歴)
gh pr merge --rebase --delete-branch
マージ後、ローカルのmainを更新する:
git checkout main
git pull origin main
期待結果: PRがマージされ、リモートブランチが削除され、ローカルのmainが更新される。
失敗時: 失敗したチェックや不足している承認によりマージがブロックされている場合は、先にそれらに対処する。ブロッカーを解決せずに強制マージしない。
バリデーション
- PRタイトルが簡潔(70文字以内)で説明的である
- PR本文に変更の要約とテストプランが含まれている
- ブランチ上のすべてのコミットがPRに関連している
- CIチェックがパスしている
- ブランチがベースブランチと同期している
- レビュアーが割り当てられている(リポジトリ設定で必要な場合)
- 差分に機密データが含まれていない
よくある落とし穴
- PRが大きすぎる: PRは単一の機能や修正に集中させる。大きなPRはレビューが難しく、マージコンフリクトが発生しやすい。
- テストプランの欠如: ドキュメントのPRであっても、変更がどのように検証できるかを常に記述する。
- 古いブランチ: ベースブランチが大幅に進んでいる場合、マージコンフリクトを最小化するためPR作成前にリベースする。
- レビュー中のフォースプッシュ: オープンなレビューコメントがあるブランチへのフォースプッシュは避ける。レビュアーが増分変更を確認できるよう、新しいコミットをプッシュする。
- CI出力を読まない: 再レビュー依頼の前に
gh pr checksを確認する。CIの失敗はレビュアーの時間を無駄にする。 - ブランチの削除忘れ: マージ時に
--delete-branchを使用してリモートをクリーンに保つ。
関連スキル
commit-changes- PR用のコミット作成manage-git-branches- ブランチの作成と命名規約resolve-git-conflicts- リベース/マージ時のコンフリクト処理create-github-release- マージ後のリリース作成
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
