--- name: create-pr description: GitHubのプルリクエスト(PR)を作成する際に使用します。変更のコミット、プッシュ、PR作成を含む完全なワークフローを日本語で実行します。「PRを作って」「プルリクエストを作成」「pull requestを作成」などのリクエストで自動的に起動します。 allowed-tools: - Bash - Read - Grep - Glob --- # Pull Request作成スキル このスキルは、GitHubのプルリクエスト作成に必要な一連のワークフローを自動化します。 **IMPORTANT: このスキルを使用する際は、必ず日本語でユーザーとコミュニケーションを取ってください。** ## ワークフロー ### 1. 変更内容の確認 まず現在の状態を確認します: ```bash # 変更されたファイルを確認 git status # 変更内容の差分を確認 git diff # 最近のコミット履歴を確認(コミットメッセージのスタイルを把握) git log -5 --oneline ``` ### 2. 事前準備とチェック コミット前に必要なチェックを実行します: 1. リポジトリルートの`CLAUDE.md`を確認し、プロジェクト固有の要件を確認 2. テスト、リンター、ビルドステップが記載されている場合は実行 3. エラーや失敗がある場合は、先に解決してから進める **このdotfilesリポジトリ固有の要件**: - Brewfileが変更された場合:`bin/brew-check`を実行して検証 - bin/内のスクリプトが変更された場合:適切なエラーハンドリングを確認 - 変更されたスクリプトがある場合:可能であればテスト実行 ### 3. 変更のステージングとコミット **重要**:ファイルのステージングは必ず明示的なパスで行います: ```bash # ❌ 絶対に使用しない git add . git add -A # ✅ 正しい方法 git add path/to/file1.txt path/to/file2.txt path/to/file3.txt ``` コミットメッセージは以下の形式で作成します: ```bash git commit -m "$(cat <<'EOF' <変更の簡潔な説明> <詳細な説明(必要に応じて)> 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude EOF )" ``` コミットメッセージのスタイルは、`git log`で確認した既存のコミット履歴に合わせてください。 ### 4. リモートへのプッシュ 現在のブランチをoriginにプッシュします: ```bash git push -u origin ``` リモートにブランチが存在しない場合は自動的に作成されます。 ### 5. プルリクエストの作成 #### PRテンプレートの確認 まず、リポジトリにPRテンプレートが存在するか確認します: ```bash # PRテンプレートの存在確認 ls .github/PULL_REQUEST_TEMPLATE.md ``` #### PR本文の作成 **テンプレートが存在する場合**: - テンプレートの内容を基にPR本文を作成 **テンプレートが存在しない場合**: - 以下の構造でPR本文を作成: ```markdown ## 概要 <変更の簡潔な説明を1-3個の箇条書きで> ## 変更内容 <主な変更点のリスト> ## テスト <変更がどのようにテストされたか(該当する場合)> 🤖 Generated with [Claude Code](https://claude.com/claude-code) ``` #### PRの作成実行 ```bash gh pr create --title "" --body "$(cat <<'EOF' EOF )" ``` 作成後、PR URLをユーザーに返します。 ## 重要な注意事項 1. **準備ステップをスキップしない**:CLAUDE.mdに記載された要件は必ず実行 2. **テストやチェックが失敗したら進まない**:失敗を解決してから次に進む 3. **明示的なファイルパスでステージング**:`git add .`や`git add -A`は絶対に使用しない 4. **日本語でコミュニケーション**:ユーザーとのやり取りは常に日本語で行う 5. **不明な点があれば確認**:どのステップでも不明な点があれば、日本語でユーザーに確認を取る ## エラーハンドリング - コマンドが失敗した場合は、エラーメッセージを日本語でユーザーに説明 - 次のステップに進む前に、問題を解決するための提案を提示 - 必要に応じて、ユーザーに追加の情報や確認を求める