Skip to content
Back to skills

Creating Pr From Branch

ASecurity

Create a pull request from the current branch. Analyzes commits, generates title+body from PR template, pauses for approval, then pushes and creates PR. Use after committing changes.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsgobashgitapi

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add qte77/claude-code-plugins --skill creating-pr-from-branch --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Creating Pr From Branch?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Creating Pr From Branch
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qte77-creating-pr-from-branch/badge)](https://www.skillsdirectory.com/skills/qte77-creating-pr-from-branch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: creating-pr-from-branch
description: Create a pull request from the current branch. Analyzes commits, generates title+body from PR template, pauses for approval, then pushes and creates PR. Use after committing changes.
compatibility: Designed for Claude Code
metadata:
  model: haiku
  argument-hint: [base-branch]
  disable-model-invocation: true
  allowed-tools: Bash, Read, Glob, Grep
---

# Create PR from Current Branch

**Base branch**: $ARGUMENTS (default: `main`)

## Step 1: Analyze Branch

Run using the Bash tool:

- `git branch --show-current` — current branch name
- `git log --oneline <base>..HEAD` — commits to include
- `git diff --stat <base>..HEAD` — overall diff stats
- `git remote -v` — verify remote exists

If no commits ahead of base, stop and inform the user.

## Step 2: Generate PR Title and Body

**Title**: Derive from commits using conventional commit format.

- Single commit: use commit subject as-is
- Multiple commits: synthesize a summary title (`type[(scope)]: description`)
- Keep under 72 characters

**Body**: Use the first PR template found, then populate its sections:

1. **Local repo** — `pull_request_template.md` (any case) in `.github/`, the repo root, or
   `docs/`; or a file in `.github/PULL_REQUEST_TEMPLATE/` (ask which one if several).
2. **Owner-level default** — the `<owner>/.github` repo. GitHub applies it only in the web UI,
   never to `gh pr create --body`, so fetch it explicitly. The contents API is case-sensitive:
   try both spellings, and skip on 404 (no repo or no file):

   ```bash
   OWNER=$(gh repo view --json owner --jq .owner.login)
   for f in PULL_REQUEST_TEMPLATE.md pull_request_template.md; do
     t=$(gh api "repos/$OWNER/.github/contents/.github/$f" --jq .content 2>/dev/null) \
       && { printf '%s' "$t" | base64 -d; break; }
   done
   ```

3. **Last resort** — this minimal format:

```markdown
## Summary

<1-3 bullet points describing what and why>

## Commits

<list commits from git log>
```

**Body guidelines:**

- Fill template checkboxes where applicable (check items that are done)
- Include `Closes #N` if the branch name contains an issue number
- Keep it concise — the diff speaks for itself

## Step 3: Pause for Approval

Present the title and body. Ask the user:

- **Approve**: "yes", "y", "create", "go ahead"
- **Edit**: Provide changes to title or body
- **Cancel**: "no", "cancel", "stop"

## Step 4: Push and Create PR

Once approved:

```bash
# Push branch (set upstream)
git push -u origin <branch-name>

# Create PR
# In Codespaces: override token if GH_PAT is needed for cross-repo
gh pr create --base <base> --title "<title>" --body "$(cat <<'EOF'
<body>
EOF
)"
```

**Auth handling**: If `gh pr create` fails with 403/422, retry with
`GITHUB_TOKEN="" GH_TOKEN="${GH_PAT}"` prefix (Codespaces token override).

After creation, output the PR URL.

## Step 5: Post-Create

- `gh pr view --web` — open in browser (optional, ask user)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.