Create Pull Request from Current Branch

VerifiedCaution

Create a pull request from the current branch with a well-structured description based on commits and diffs, following repo conventions.

Sby Skills Guide Bot
DevelopmentBeginner
8/2/2026
Claude CodeCursorWindsurfCopilotCodex
#pull-request#git#github-cli#conventional-commits#code-review

Recommended for

Automated summary

Creates a GitHub pull request from the current branch, generating a structured title and description derived from commits and diffs.

Strengths

  • Reads repo-specific conventions (CLAUDE.md, AGENTS.md, CONTRIBUTING.md) before applying defaults
  • Verifies the branch, pushes by explicit name, and stops if you are directly on main
  • Produces a Conventional Commits title without a scope and fills the repo PR template when present
  • Leaves checklist boxes unchecked and only adds an issue reference when a ticket number appears in the branch name

Limitations

  • Assumes the gh GitHub CLI is installed and authenticated
  • Only targets GitHub, not other hosting platforms
  • Does not run tests or check CI status before opening the PR
When to use it

Use it when a feature branch is ready and you want to open a well-documented GitHub pull request quickly.

When not to use it

Avoid it on GitLab, Bitbucket, or other forges, or when commits still need cleanup or merging first.

Security analysis

Caution
Quality score82/100

The skill is transparent and its actions align with its stated purpose: inspecting git state, pushing a branch, and opening a PR via the GitHub CLI. There is no obfuscation, no credential/secret handling, no destructive filesystem operations, and no network calls beyond git/gh. Risk is limited to the inherent power of automated git push and gh calls plus the trust placed in repo-local instruction files, which warrants a 'caution' rather than 'safe' rating.

Findings
  • •Executes shell commands (git push, gh pr create) that mutate remote repository state without an explicit confirmation step
  • •Reads repo-local instruction files (CLAUDE.md/AGENTS.md/CONTRIBUTING.md) whose content is treated as overriding instructions — a prompt-injection surface if the repo is untrusted
  • •Pushes the current branch to origin, which could publish unintended local commits if the branch contains sensitive work-in-progress
How this analysis is made

Examples

Open a PR for a feature branch
My feat/login-validation branch is ready — create a PR against main with a proper description.
Open a PR with a ticket reference
Open a pull request for this branch; the ticket is PROJ-142, so link it as a closing reference.
Submit current work as a PR
Submit this branch as a pull request and give me the URL when it's done.

name: pr description: Create a pull request from the current branch. Triggers on create PR/open PR/make PR/submit PR/push PR/raise PR/open a pull request/create a pull request/ready to merge/branch is ready when the user wants to turn their current branch into a GitHub pull request with a well-structured description

Pull Request

Create a pull request from the current branch with a well-structured description derived from commits and diffs.

Step 1: Read Local Repo Conventions

Before doing anything, check for repo-specific instructions that override the defaults below:

# Check for conventions in order of priority
cat CLAUDE.md 2>/dev/null || cat AGENTS.md 2>/dev/null || cat .github/CONTRIBUTING.md 2>/dev/null

Look for:

  • Branch naming rules
  • PR title format
  • Required PR template sections
  • Base branch (default: main)
  • Ticket/issue reference format

Step 2: Verify Branch

git branch --show-current
git status
git log main..HEAD --oneline
  • Confirm there are commits ahead of the base branch
  • If on main directly, stop and ask the user to create a feature branch first
  • Branch prefix should match the change type: feat/, fix/, chore/, ci/, docs/, test/, refactor/
  • Use no-jira/ or no-ticket/ when there is no associated issue

Step 3: Push Branch

git push origin <branch_name>

Always use the explicit branch name (not HEAD).

Step 4: Build PR Title

Use Conventional Commits format — NO scopes in parentheses. CI rejects feat(scope):, only feat: is valid.

<type>: <description>

Types: feat, fix, docs, chore, refactor, test, perf, ci

Step 5: Build PR Description

If the repo has a PR template

Read it and replace all placeholder text with content derived from commits and diffs:

cat .github/pull_request_template.md

Fill in every section. Leave any screenshots/video section for the author to populate.

If there is no PR template

Use this structure:

## Background

- {Why this change is needed}

## What Has Changed

- {What this PR introduces or modifies}

## Screenshots/Video

- {Leave for author}

## Checklist

- [ ] Self-review completed
- [ ] Tests added or updated
- [ ] Tested locally

## Reference Issue

- Closes #{issue-number} ← only include if there is an associated issue

Checklist rules

  • Leave all checklist items unchecked — never check boxes on the author's behalf

Reference Issue rules

  • If the branch name contains a ticket/issue number, include a closing reference
  • If there is no ticket, omit the section entirely

Step 6: Create the PR

gh pr create \
  --title "<title>" \
  --body "<description>" \

After creating the PR, do not perform any additional commits.

Step 7: Return the PR URL

Share the URL so the user can review it immediately.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/create-pull-request-from-current-branch-msba3m3o' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-pull-request-from-current-branch-msba3m3o/download' --output '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md.part' && mv '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md.part' '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md' && test -s '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/pr' && cp -R '.skill-downloads/create-pull-request-from-current-branch-msba3m3o' '.claude/skills/pr'

Cursor
test -f '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md' && test -s '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/pr' && cp -R '.skill-downloads/create-pull-request-from-current-branch-msba3m3o' '.cursor/skills/pr'

Codex
test -f '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md' && test -s '.skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/pr' && cp -R '.skill-downloads/create-pull-request-from-current-branch-msba3m3o' '.agents/skills/pr'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/create-pull-request-from-current-branch-msba3m3o'

openskills read 'create-pull-request-from-current-branch-msba3m3o'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/create-pull-request-from-current-branch-msba3m3o/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills