# Gh Pr

> GitHubのPR（プルリクエスト）を管理する。PR作成、一覧表示、マージ、レビュー、チェックアウト、コメント確認時に使用。「PRを作りたい」「マージして」「レビューして」「コメントを確認」などのキーワードで発動。 Use when this capability is needed.

- Skill: `tomevault-io/gh-pr` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/gh-pr`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/gh-pr/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/gh-pr

---


# GitHub PR管理

GitHubのプルリクエストを管理するためのスキル。

## 重要な制約

**このスキルは `sh1ma/blog` リポジトリのみで使用すること。**
他のリポジトリの操作は禁止。`--repo` フラグで他リポジトリを指定してはならない。

## 利用可能なラベル

PRには必ず以下のいずれかのラベルを付けること:

| ラベル          | 用途                         |
| --------------- | ---------------------------- |
| `feature`       | 機能開発関連                 |
| `bug`           | バグ関連                     |
| `refactoring`   | リファクタ関連               |
| `documentation` | ドキュメンテーション関連     |
| `chore`         | 設定ファイルなどの雑多な変更 |
| `AI`            | AI関連                       |
| `test`          | テスト関連                   |

## PR作成手順（推奨フロー）

### 1. 変更内容の確認

```bash
# mainからの差分コミットを確認
git log main..HEAD --oneline

# 変更ファイルを確認
git diff main..HEAD --stat
```

### 2. 適切なラベルを選択

変更内容に基づいて、上記のラベルから1つ以上選択する。

### 3. PRを作成

**重要**: `.github/pull_request_template.md` のテンプレートを必ず遵守すること。

```bash
gh pr create \
  --title "タイトル" \
  --label "ラベル" \
  --assignee sh1ma \
  --body "$(cat <<'EOF'
## 概要

<!-- このPRで何を変更したか簡潔に説明 -->

## 変更内容

- 変更点1
- 変更点2

## 関連Issue

<!-- closes #123 -->

## テスト項目

- [ ] テスト項目1
- [ ] テスト項目2

## VRT設定

<!-- UIに意図的な変更がある場合のみチェックしてください -->

- [ ] スナップショットを更新する（UI変更を意図的に行った場合にチェック）

## スクリーンショット（任意）

<!-- UIの変更がある場合はスクリーンショットを貼ってください -->

## 備考

<!-- レビュアーに伝えたいことがあれば記載してください -->
EOF
)"
```

### 複数ラベルを付ける場合

```bash
gh pr create --title "タイトル" --label "feature" --label "AI" --assignee sh1ma --body "..."
```

## コマンド概要

```bash
gh pr <command> [flags]
```

## 主要コマンド

### PR一覧表示

```bash
gh pr list                    # 現在のリポジトリのPR一覧
gh pr list --state all        # すべてのPR（open/closed/merged）
gh pr list --author @me       # 自分が作成したPR
gh pr list --assignee @me     # 自分がアサインされたPR
gh pr list --label "bug"      # ラベルでフィルタ
```

### PR表示・チェックアウト

```bash
gh pr view                    # 現在のブランチのPRを表示
gh pr view 123                # PR #123を表示
gh pr view --web              # ブラウザで開く
gh pr view --comments         # PRのコメントを表示（会話コメントのみ）
gh pr checkout 123            # PR #123をチェックアウト
gh pr diff 123                # PR #123の差分を表示
```

### PRコメント表示

PRのコメントを確認する方法は複数あります。

#### 基本的なコメント表示

```bash
# 会話コメントを表示（gh pr viewのデフォルト出力に含まれる）
gh pr view 123 --comments

# JSONフォーマットで詳細情報を取得
gh pr view 123 --json comments

# すべてのコメント（インラインレビューコメント含む）をAPI経由で取得
gh api repos/sh1ma/blog/pulls/123/comments
```

#### コメントの種類

- **会話コメント（Issue comments）**: PR全体に対するコメント。`gh pr view --comments` で表示可能
- **レビューコメント（Review comments）**: コードの特定行に対するインラインコメント。API経由で取得
- **レビュー（Reviews）**: 承認/変更要求/コメント。`gh pr view --json reviews` で取得可能

#### 実用例

```bash
# 現在のブランチのPRのコメントを確認
gh pr view --comments

# PR #123のすべてのインラインコメントを確認
gh api repos/sh1ma/blog/pulls/123/comments | jq -r '.[] | "\(.path):\(.line) - \(.user.login): \(.body)"'

# PR #123のレビュー状況を確認
gh pr view 123 --json reviews | jq -r '.reviews[] | "\(.author.login): \(.state) - \(.body)"'
```

### PRマージ・クローズ

```bash
gh pr merge                   # 現在のブランチのPRをマージ
gh pr merge 123               # PR #123をマージ
gh pr merge --squash          # スカッシュマージ
gh pr merge --rebase          # リベースマージ
gh pr merge --delete-branch   # マージ後にブランチ削除
gh pr close 123               # PR #123をクローズ
gh pr reopen 123              # PR #123を再オープン
```

### PRレビュー

```bash
gh pr review                           # 対話形式でレビュー
gh pr review 123 --approve             # 承認
gh pr review 123 --request-changes -b "修正必要"
gh pr review 123 --comment -b "コメント"
gh pr checks 123                       # CIステータス確認
```

### PR編集

```bash
gh pr edit 123 --title "新タイトル"
gh pr edit 123 --body "新本文"
gh pr edit 123 --add-label "bug"
gh pr edit 123 --add-reviewer user1
gh pr ready 123                        # ドラフト解除
```

## Visual Regression Test (VRT) について

PRを作成すると、自動でVRTが実行されます。

### VRTの動作

1. R2からベースライン（mainブランチの最新スナップショット）を取得
2. PRのコードでスクリーンショットを撮影
3. ベースラインと比較して差分を検出
4. PRにコメントで結果を通知（レポートURLと差分画像）

### UIに意図的な変更を加えた場合

1. PRテンプレートの「VRT設定」セクションで「スナップショットを更新する」にチェック
2. VRTワークフローが再実行され、新しいスナップショットがR2にアップロード
3. マージ後、自動でベースラインが更新される

### VRTが失敗した場合

- **意図しない変更**: コードを修正してVRTを再実行
- **意図した変更**: 「スナップショットを更新する」にチェックして再実行

### ラベル

VRTに関連するPRには `test` ラベルも追加することを推奨します。

## 実行手順

1. ユーザーの要求を理解する
2. PR作成の場合、変更内容を確認してラベルを決定する
3. **`.github/pull_request_template.md` のテンプレートを遵守してPRを作成する**
4. **ラベルを必ず付けてPRを作成する**
5. **assigneeを `sh1ma` に設定してPRを作成する**
6. PRコメント確認の場合、適切なコマンド（`gh pr view --comments`、`gh api`など）を使用する
7. 結果を日本語で報告

## 注意事項

- PRは番号、URL、またはブランチ名で指定可能
- 認証が必要な場合は `gh auth login` を案内
- **他リポジトリへの操作は絶対に行わない**
- **PR作成時はラベルを必ず付けること（CIでチェックされる）**
- **PR作成時はassigneeを `sh1ma` に必ず設定すること**

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/sh1ma) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

