Skip to main content
skill CX Codex

create-pr · marcelorodrigo — Claude Code skill: what it does, how to install

Prepares structured pull requests, generates conventional titles, and submits them via GitHub CLI.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add marcelorodrigo/agent-skills --skill create-pr -a claude-code
Open on GitHub

What create-pr does

The skill manages the full pull request creation routine. It inspects git status for uncommitted files first. If changes remain unstaged, it delegates to the conventional-commit skill. It then resolves the repository default branch with gh repo view and inspects changes using git log and git diff.

Descriptions omit redundant test plans and checklist clutter. Instead, they capture motivation and reviewer context. Titles follow conventional commit rules such as feat(scope): description.

An authenticated GitHub CLI (gh) executable must be available in PATH. When updating opened PRs, the skill checks your CLI version: releases older than 2.82.1 fall back to gh api to bypass a deprecated Projects classic issue.

What it helps with

  • inspect incoming diffs against the default repository branch
  • generate clear PR descriptions focused on rationale and reviewer notes
  • submit pull requests via gh CLI with Conventional Commits titles
  • patch existing pull requests while avoiding deprecated Projects classic bugs

Example prompts for the agent

  • Create a pull request for my current branch
  • Review the diff and open a PR against the default branch
  • Update the title and body of PR 15

How to install create-pr

1Skills CLI (Vercel)

npx skills add marcelorodrigo/agent-skills --skill create-pr -a claude-code

2Manually: put the files in place

~/.claude/skills/create-pr/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/create-pr/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about create-pr

How do I install create-pr in Claude Code?

Run npx skills add marcelorodrigo/agent-skills --skill create-pr -a claude-code. Alternatively, copy the file to ~/.claude/skills/create-pr/SKILL.md.

What does create-pr do?

It checks branch status, verifies uncommitted changes, analyzes code diffs, and runs gh pr create with structured descriptions and conventional titles.

What are the prerequisites for create-pr?

You need GitHub CLI (gh) installed and authenticated. Versions below 2.82.1 trigger an automatic gh api fallback when editing existing PRs.

Source text

SKILL.md · MIT
---
name: create-pr
description: Create Pull Requests following best conventions. Use when opening PRs, writing PR descriptions, or preparing changes for review.
license: MIT
compatibility: Requires GitHub CLI (gh) authenticated and available
metadata:
  version: "1.2.0"
---

# Create Pull Request

Create pull requests following the best engineering practices.

**Requires**: GitHub CLI (`gh`) authenticated and available.

## Prerequisites

Before creating a PR, ensure all changes are committed. If there are uncommitted changes, run the commit skill `skill({ name: "conventional-commit" })` first to commit them properly.

```bash
# Check for uncommitted changes
git status --porcelain
```

If the output shows any uncommitted changes (modified, added, or untracked files that should be included), invoke the commit skill `skill({ name: "conventional-commit" })` before proceeding.

## Process

### Step 1: Verify Branch State

```bash
# Detect the default branch
BASE=$(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name')

# Check current branch and status
git status
git log $BASE..HEAD --oneline
```

Ensure:
- All changes are committed
- Branch is up to date with remote
- Changes are rebased on the base branch if needed

### Step 2: Analyze Changes

Review what will be included in the PR:

```bash
# See all commits that will be in the PR
git log $BASE..HEAD

# See the full diff
git diff $BASE...HEAD
```

Understand the scope and purpose of all changes before writing the description.

### Step 3: Write the PR Description

Use this structure for PR descriptions (ignoring any repository PR templates):

```markdown
<brief description of what the PR does>

<why these changes are being made - the motivation>

<alternative approaches considered, if any>

<any additional context reviewers need>
```

**Do NOT include:**
- "Test plan" sections
- Checkbox lists of testing steps
- Redundant summaries of the diff

**Do include:**
- Clear explanation of what and why
- Links to relevant issues or tickets (only if available)
- Context that isn't obvious from the code
- Notes on specific areas that need careful review

### Step 4: Create the PR

```bash
gh pr create --title "<type>(<scope>): <description>" --body "
<description body here>
"
```

**Title format** follows commit conventions:
- `feat(scope): Add new feature`
- `fix(scope): Fix the bug`
- `refactor(scope): Refactor something`

## PR Description Examples

### Feature PR

```markdown
Add Slack thread replies for alert notifications

When an alert is updated or resolved, we now post a reply to the original
Slack thread instead of creating a new message. This keeps related
notifications grouped and reduces channel noise.

Previously considered posting edits to the original message, but threading
better preserves the timeline of events and works when the original message
is older than Slack's edit window.
```

### Bug Fix PR

```markdown
Handle null response in user API endpoint

The user endpoint could return null for soft-deleted accounts, causing
dashboard crashes when accessing user properties. This adds a null check
and returns a proper 404 response.

```

### Refactor PR

```markdown
Extract validation logic to shared module

Moves duplicate validation code from the alerts, issues, and projects
endpoints into a shared validator class. No behavior change.

This prepares for adding new validation rules without
duplicating logic across endpoints.
```

## Guidelines

- **One PR per feature/fix** - Don't bundle unrelated changes
- **Keep PRs reviewable** - Smaller PRs get faster, better reviews
- **Explain the why** - Code shows what; description explains why

## Editing Existing PRs

When updating a PR after creation, the skill automatically selects the best approach based on your GitHub CLI version:

- **gh 2.82.1+**: Uses native `gh pr edit` (clean, full-featured)
- **gh < 2.82.1**: Falls back to `gh api` (avoids Projects classic deprecation bug)

### Check Your Version

```bash
# Check GitHub CLI version
gh --version
```

### Modern Approach (gh 2.82.1+)

```bash
# Update PR description
gh pr edit PR_NUMBER --body "Updated description here"

# Update PR title
gh pr edit PR_NUMBER --title "New Title here"

# Update both
gh pr edit PR_NUMBER --title "new: Title" --body "New description"
```

### Legacy Fallback (gh < 2.82.1)

If `gh pr edit` fails with a "Projects (classic) is being deprecated" error, use the API directly:

```bash
# Update PR description
gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER -f body="
Updated description here
"

# Update PR title
gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER -f title='New Title here'

# Update both
gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER \
  -f title='new: Title' \
  -f body='New description'
```

**Note**: The Projects (classic) bug was fixed in gh 2.82.1 (October 2025).
Upgrade with your package manager if you're on an older version.

© marcelorodrigo · MIT · marcelorodrigo/agent-skills

Similar skills

All skills for Git and GitHub →

create-pr by other authors comes first.

create-pr NeoLabHQ Opens draft pull requests through the GitHub CLI using repository templates. It checks for uncommitted changes and formats PR titles with emojis. CX Codex +1 1,200installs create-pr zhaono1 A skill that walks the agent through opening a pull request and keeps the English and Chinese READMEs in sync. Useful when the skill catalog changes and the docs have to follow. CX Codex +1 666installs create-pr tartinerlabs Pushes branches and opens GitHub PRs or GitLab MRs with schema migration checks and automatic self-assignment. CX Codex +1 387installs triage Matt Pocock This skill moves issues and external PRs through triage states, verification, and agent briefs. It fits maintainers managing an issue queue. 990,453installs code-review Matt Pocock Reviews changes from a chosen reference point against repository standards and the originating spec. Use it for a branch, PR, or work in progress. 789,521installs implement Matt Pocock Implements work from a specification or tickets, following a test-driven flow and ending with review and a commit. Use it when a coding task needs a defined delivery routine. 774,700installs git-guardrails-claude-code Matt Pocock This skill adds a Claude Code hook that stops risky Git commands before they run. Use it when an agent must not push or discard working-tree changes. 499,069installs setup-pre-commit Matt Pocock This skill configures pre-commit checks for a JavaScript repository, running Prettier, type checking, and tests before each commit. 489,289installs scaffold-exercises Matt Pocock This skill builds course exercise directories with sections, problems, solutions, and explainers. Use it when starting a new course section or creating exercise stubs. 480,196installs

From the same set3

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor