# PR Create

Creates a pull request from current changes, monitors GitHub CI, and debugs any...

- Repository: https://github.com/posit-dev/skills (551 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add posit-dev/skills --skill pr-create -g -a claude-code -y`
Codex: `npx skills add posit-dev/skills --skill pr-create -g -a codex -y`
Cursor: `npx skills add posit-dev/skills --skill pr-create -g -a cursor -y`
Gemini CLI: `npx skills add posit-dev/skills --skill pr-create -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add posit-dev/skills`

## Description

Creates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes. Activate when the user says "create pr", "make a pr", "open pull request", "submit pr", "pr for these changes", or wants to get their current work into a reviewable PR. Assumes the project uses git, is hosted on GitHub, and has GitHub Actions CI with automated checks (lint, build, tests, etc.). Does NOT merge - stops when CI passes and provides the PR link.

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

# PR Creator Skill

Get changes into a PR, monitor CI, fix any failures, and notify the user when the PR is ready for review.

The user may already have commits ready on a feature branch, or may have uncommitted changes, or both. Adapt the workflow to the current state.

## Task List Integration

**CRITICAL:** Use your harness's task list system (e.g., TaskCreate, TaskUpdate, and TaskList tools) for progress tracking and session recovery. Use these tools throughout execution.

### Task Hierarchy
```
[Main Task] "Create PR: [branch-name]"
  └── [CI Task] "CI Run #1" (status: failed, reason: lint)
      └── [Fix Task] "Fix: lint"
  └── [CI Task] "CI Run #2" (status: failed, reason: test failures)
      └── [Fix Task] "Fix: test failures"
  └── [CI Task] "CI Run #3" (status: passed)
```

**At the start, always call TaskList to check for existing PR tasks.** If a "Create PR" task exists with status in_progress, resume using the Session Recovery section below.

## Process

### Step 1: Assess Current State

**Check for a `--reviewer` argument** in the user's message. If present, store the value for use in Step 5. It may be a GitHub handle (`@username`) or a name (`Jane Doe`).

**Create the main PR task:**
```
TaskCreate:
- subject: "Create PR: [branch-name or 'pending']"
- description: "Create pull request from current changes."
- activeForm: "Checking git status"

TaskUpdate:
- taskId: [pr task ID]
- status: "in_progress"
```

Determine the base branch and current state:

```bash
git status
git diff --stat
# Detect the default branch (main, master, develop, etc.)
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
git log --oneline <base-branch>..HEAD
gh pr view 2>/dev/null
```

**Determine the starting point:**

The rest: https://github.com/posit-dev/skills/blob/HEAD/github/pr-create/SKILL.md
