# Merge PR

Merge a pull request using gh pr merge --admin

- Repository: https://github.com/dyoshikawa/rulesync (1577 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dyoshikawa/rulesync --skill merge-pr -g -a claude-code -y`
Codex: `npx skills add dyoshikawa/rulesync --skill merge-pr -g -a codex -y`
Cursor: `npx skills add dyoshikawa/rulesync --skill merge-pr -g -a cursor -y`
Gemini CLI: `npx skills add dyoshikawa/rulesync --skill merge-pr -g -a gemini-cli -y`

## Description

Merge a pull request using gh pr merge --admin

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Merge Pull Request

Merge a pull request using `gh pr merge --admin`.

## Input

```
the user's request
```

## Step 1: Determine the Target PR

Parse `the user's request` to identify the PR to merge:

### Case A: PR number or URL is provided

- Extract the PR number from the argument
- Examples: `123`, `#123`, `https://github.com/owner/repo/pull/123`

### Case B: No argument provided

- Get the PR associated with the current branch:
  ```bash
  gh pr view --json number,title,state
  ```

### Case C: Unable to determine the PR

If the PR cannot be determined (e.g., no PR exists for the current branch, or the argument is ambiguous), **ask the user** to specify which PR to merge.

## Step 2: Verify the PR

Before merging, confirm the PR details:

```bash
gh pr view <pr_number> --json number,title,state,mergeable,author,baseRefName,headRefName
```

Check:

1. The PR state is `OPEN`
2. Display the PR title and number to the user (for visibility; do not wait for a reply)

If the PR is not open or not mergeable, inform the user and stop.

## Step 3: Check GitHub Actions Workflow Status

Verify that all CI checks have passed before merging:

```bash
gh pr checks <pr_number>
```

Check:

1. All workflow checks show `pass` status
2. No checks are `pending` or `fail`

If checks are still running, do not ask, wait for them with
`gh pr checks <pr_number> --watch` and merge once they all pass.

If any check has failed, inform the user and ask whether to:

- Investigate failed checks before merging
- Proceed with merge anyway (using `--admin` will bypass required checks)

## Step 4: Merge the PR

Execute the merge command:

```bash
gh pr merge <pr_number> --admin --merge
```

**Important**: Only merge ONE PR at a time. If multiple PRs are somehow specified, ask the user which single PR to merge.

## Step 5: Comment on the PR

After the merge succeeds, leave a thank-you comment mentioning the PR author:

The rest: https://github.com/dyoshikawa/rulesync/blob/HEAD/.rulesync/skills/merge-pr/SKILL.md
