Create pr
Claude Code / GitHub Copilot 等向けエージェントスキル集(gh skill installで導入可能)
npx -y skills add idylle-cynique/solo-dev-skills --skill create-prAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 18 days oldThe repository was created 18 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
SOLODEV_PULL_REQUEST_TEMPLATE.md に則ってPRを作成する。現在のブランチの変更内容をもとにPRを作成したいときに使う
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.2 KB, as published. Nobody here has run it
以下の手順でPRを作成してください。
0. ベースブランチを決定する
引数にブランチ名が含まれている場合はそれをベースブランチとして使用してください。
引数がない場合は main をベースブランチとします。
以降の手順では、決定したベースブランチを <BASE> と表記します。
1. 現在の状態を確認する
以下の情報を取得してください。
# 現在のブランチ名
git branch --show-current
# <BASE>からのコミット一覧
git log <BASE>..HEAD --oneline
# <BASE>からの差分サマリー
git diff <BASE>..HEAD --stat
# 既存のオープンPRを確認
gh pr list --head $(git branch --show-current)
既にオープンなPRが存在する場合はその旨を伝え、後続ステップで更新(gh pr edit)として扱ってください。
2. 関連Issueを特定する
ブランチ名から Issue 番号を抽出してください。
- パターン例:
feat/54/fix-pre-push-mismatch→ Issue #54 - パターン例:
fix/12-something→ Issue #12 - 番号が見つかった場合:
gh issue view <番号>でタイトルと本文を取得する - 番号が見つからない場合: コミットメッセージ内の
refs #<番号>を探す
3. 変更内容を分析する
git diff <BASE>..HEAD とコミットメッセージから以下を判断してください。
変更の種類の判定
Conventional Commits のタイプをそのまま使用する。コミットメッセージのプレフィックスから判断し、複数タイプが混在する場合は最も主要な変更に合わせてください。
| コミットタイプ | 変更の種類 |
|---|---|
feat | 新機能 |
fix | バグ修正 |
refactor | リファクタリング |
perf | パフォーマンス改善 |
docs | ドキュメント更新 |
test | テスト追加・修正 |
build | ビルド・依存関係 |
ci | CI 設定 |
chore | その他 |
4. PRのタイトルと本文を組み立てる
タイトル
CLAUDE.md のコミットメッセージ規約に従い、以下の形式で1行で書いてください。
type: 概要(日本語)
原則としてIssueのタイトルを概要部分に使用し、type プレフィックスはコミット内容から判断して付けてください。紐づくIssueが存在しない場合のみ、コミットメッセージから概要を組み立ててください。
本文(テンプレート)
.github/SOLODEV_PULL_REQUEST_TEMPLATE.md の構造に従って本文を作成してください。
本文全体をですます調で記述してください。
各セクションの記入ルール:
- Issue:
― Resolves #<番号>の形式。Issueが不明な場合は空欄 - 概要: 1〜2文、80字以内。何を・なぜ変更したかを簡潔に記述する
- 変更内容: 以下の3階層リスト構造で記述する。各行40字以内。チェーン数は変更ファイル数以内かつ最大8チェーン。初段はファイル名か機能名かどちらかに統一する(PR内で混在させない)。第3階層はIssueまたは概要から変更意図が自明な場合は省略可
- `ファイル名` または 機能名 - ロジック・仕様の変更内容 - 変更意図・変更経緯 - 変更の種類: 該当する項目を
[x]にする - 動作確認手順: レビュアーが実際に動作を確認できる番号付き手順を1〜7ステップで記述する。コマンドがある場合はコードブロックで示す。ですます調は使わず、「〜する」形(辞書形)で統一する
- 補足情報: 特記事項があれば記述、なければ省略。ローカルファイルパス(
.vscode/配下のドキュメントなど)はGitHubから参照できないため記載しない
5. 下書きをファイルに書き出してユーザーに確認する
以下の形式で下書きファイルを作成してください。
保存先:
- Issue番号が判明している場合:
.vscode/docs/tasks/<issue_番号>/pr_draft.md - Issue番号が不明な場合:
.vscode/docs/tasks/pr_draft.md
ディレクトリが存在しない場合は mkdir -p で作成してください。
ファイル内容:
# PR Draft
## タイトル
<組み立てたタイトル>
## 本文
<組み立てた本文>
ファイルを書き出したら、以下をユーザーに伝え、処理を一時停止してください。
下書きを <ファイルパス> に書き出しました。内容を確認してください。
問題なければ「OK」、修正があればフィードバックをお知らせください。
ユーザーから承認(「OK」「問題ない」「作成して」など肯定的な返答)を得られた場合のみ、次のステップに進んでください。修正フィードバックがあった場合はファイルを更新してから再度確認を求めてください。
6. PRを作成・更新する
既存のオープンなPRがある場合は gh pr edit で更新し、ない場合は gh pr create で新規作成してください。
本文は pr_draft.md の ## 本文 セクション以降を awk で抽出して渡してください。ヒアドキュメントで再構築しないこと。
# 本文の抽出(先頭の空行を除去する)
awk '/^## 本文$/{f=1; next} f' <pr_draft_path> | sed '/./,$!d'
新規作成:
gh pr create \
--title "<タイトル>" \
--base <BASE> \
--body "$(awk '/^## 本文$/{f=1; next} f' <pr_draft_path> | sed '/./,$!d')"
ベースブランチはステップ0で決定した <BASE> を --base <BASE> で明示してください。<BASE> が main の場合も省略せず明示してください。
既存PRの更新:
gh pr edit <PR番号> \
--title "<タイトル>" \
--body "$(awk '/^## 本文$/{f=1; next} f' <pr_draft_path> | sed '/./,$!d')"
7. 仕様整合性チェックを実行する(任意)
verify-pr-spec スキルが利用可能な場合は、PR の作成・更新後に /verify-pr-spec を呼び出して Issue 仕様・PR 本文・実装差分の三者間の整合性を確認してください。齟齬が見つかった場合は修正を提案してください。
スキルが存在しない場合はこのステップをスキップしてください。
8. 完了報告
以下を報告してください。
- 作成したPRのURL
- タイトル
- 関連Issue番号(あれば)
verify-pr-specを実行した場合はその総合判定(OK / 要修正N件)