From git
現在のブランチから Draft Pull Request を作成する。テンプレート準拠、ラベル自動選択を行う。Use when PR の作成、プルリクエストの作成を求められた際に使用する。
How this skill is triggered — by the user, by Claude, or both
Slash command
/git:pr-createThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
現在のブランチから Draft Pull Request を作成する。
現在のブランチから Draft Pull Request を作成する。
japanese-text-style スキルに従う - スペース、句読点、括弧のルールを適用する必須: 作業開始前に TaskList で残存タスクを確認し、存在する場合は全て TaskUpdate({ status: "deleted" }) で削除する。その後、TaskCreate ツールで以下のステップをタスクとして登録する:
TaskCreate({ subject: "事前確認", description: "ブランチ状態、リモート差分を確認", activeForm: "事前確認を実行中" })
TaskCreate({ subject: "未コミット変更のコミット", description: "unstaged/staged の変更がある場合のみ commit スキルを実行", activeForm: "未コミット変更をコミット中" })
TaskCreate({ subject: "PR テンプレートの確認", description: "PULL_REQUEST_TEMPLATE.md を探索・読み込み", activeForm: "PR テンプレートを確認中" })
TaskCreate({ subject: "PR タイトルの生成", description: "コミットが 1 つならそのメッセージを使用、2 つ以上なら commit-proposer subagent で生成", activeForm: "PR タイトルを生成中" })
TaskCreate({ subject: "ラベルの選択", description: "リポジトリのラベル一覧から適切なものを選択", activeForm: "ラベルを選択中" })
TaskCreate({ subject: "Draft PR 作成", description: "gh pr create --draft で PR を作成", activeForm: "Draft PR を作成中" })
TaskCreate({ subject: "完了報告", description: "PR URL を報告し、ブラウザで開く", activeForm: "完了報告を作成中" })
各ステップの開始時に TaskUpdate で in_progress に、完了時に completed に更新する。
以下を確認する:
# 現在のブランチと状態を確認
git status
git branch --show-current
# ベースブランチを確認 (引数で指定されていない場合は main または master)
git remote show origin | grep 'HEAD branch'
# リモートとの差分を確認 (<base> は上記で確認したベースブランチに置き換える)
git log origin/<base>..HEAD --oneline
確認事項:
未プッシュの場合は git push -u origin <branch> を実行する。
git status の結果から unstaged または staged の変更がある場合のみ実行する。変更がない場合はこのステップをスキップする。
変更がある場合: commit スキルを Skill ツールで呼び出す。
Skill({ skill: "commit" })
commit スキルがステージング、コミットメッセージ生成、ユーザー承認、コミット実行を行う。
コミット完了後、未プッシュであれば git push -u origin <branch> を実行する。
# テンプレートファイルを探す
ls -la .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null || \
ls -la .github/PULL_REQUEST_TEMPLATE/ 2>/dev/null || \
ls -la docs/PULL_REQUEST_TEMPLATE.md 2>/dev/null
テンプレートが存在する場合は Read ツールで内容を確認し、そのフォーマットに準拠した description を作成する。
git log origin/<base>..HEAD --oneline を実行し、コミット数を確認する (ステップ 2 で新規コミットが追加された可能性があるため、必ずここで再取得する)。
コミットが 1 つの場合: git log origin/<base>..HEAD -1 --format='%s' で subject のみ取得し、そのまま PR タイトルとして使用する。commit-proposer subagent の呼び出しはスキップする。
コミットが 2 つ以上の場合: commit-proposer subagent を Task ツールで呼び出す。
Task({
subagent_type: "git:commit-proposer",
description: "PR タイトル候補の生成",
prompt: "PR のコミット履歴から PR タイトル候補を提案してください。ベースブランチ: <base>。PR タイトルとして Conventional Commits 形式で提案してください。"
})
subagent がコミット履歴の分析、commitlint 設定の確認、PR タイトル候補の生成を実行する。
# リポジトリのラベル一覧を取得
gh label list --json name,description
変更内容に基づいて適切なラベルを選択する:
| 変更タイプ | 推奨ラベル |
|---|---|
| 新機能追加 | enhancement, feature |
| バグ修正 | bug, fix |
| ドキュメント | documentation, docs |
| リファクタリング | refactor, tech-debt |
| テスト追加 | test, testing |
| 依存関係更新 | dependencies |
| 破壊的変更 | breaking-change |
存在しないラベルは使用しない。
Draft PR を作成する:
gh pr create \
--draft \
--title "<タイトル>" \
--body "<説明>" \
--base <ベースブランチ> \
--label "<ラベル1>,<ラベル2>" \
--assignee @me
作成された PR の URL を報告し、ブラウザで開く:
# PR の URL を取得
gh pr view --json url --jq '.url'
# ブラウザで PR を開く
gh pr view --web
報告フォーマット:
## Draft PR 作成完了
- **PR:** #<number>
- **タイトル:** <タイトル>
- **URL:** <url>
- **状態:** Draft
ブラウザで PR を開きました。
GitHub MCP ツールにフォールバックする:
mcp__github__create_pull_request で PR 作成 (draft: true)mcp__github__list_labels でラベル取得gh auth status
gh auth login
git push -u origin $(git branch --show-current)
npx claudepluginhub ronnnnn/cc --plugin gitCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.