# Github Pull Requests

> Create a GitHub pull request with conventional commit title Use when this capability is needed.

- Skill: `tomevault-io/github-pull-requests` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/github-pull-requests`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/github-pull-requests/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/github-pull-requests

---


# GitHub Pull Requests Skill

You are helping the user create a GitHub pull request for the current branch.

# Steps

1. **Get the current branch name (base branch is always `main`):**
   ```bash
   git branch --show-current
   ```

2. **Ensure main is merged into the branch (no merge conflicts):**
   ```bash
   git fetch origin main
   git merge origin/main --no-edit
   ```
   - If merge conflicts occur, stop and help the user resolve them before proceeding
   - If the merge introduces new commits, push the updated branch

3. **Analyze the changes:**
   ```bash
   git log origin/main..HEAD --oneline
   git diff origin/main..HEAD --stat
   ```

4. **Read commit messages for context:**
   ```bash
   git log origin/main..HEAD --format="%B---"
   ```

5. **Generate the PR:**
   - **Title**: Use conventional commits format (e.g., `feat: add user authentication`, `fix: resolve null pointer in parser`)
   - **Body**: Fill out the template below concisely

# PR Template

```
## Description
(1-2 sentences on what this PR does)

## Reason
(1-2 sentences on why this change was needed)
```

# Output

Run this command with the generated title and body. Use a heredoc for the body to handle newlines:

```bash
gh pr create --web --title "feat: example title" --body "$(cat <<'EOF'
## Description
Brief description here.

## Reason
Why this was done.
EOF
)"
```

# Guidelines

- Keep title under 72 characters
- Use conventional commit prefixes: `feat`, `fix`, `refactor`, `docs`, `chore`, `test`, `perf`
- Be concise - no fluff or excessive detail
- If the branch name contains a ticket ID (e.g., `COP-123`), **DO NOT** include it in the title
- Only create ONE pull request

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/busterbn) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-15 -->

