MUST be used when creating pull requests. Handles context gathering, title generation (conventional commit format), body formatting, and PR creation via GitHub CLI. Creates PRs as drafts by default. Triggers on: 'create PR', 'open PR', 'ready for review', 'push for PR', 'send for review'.
View on GitHubTechDufus/oh-my-claude
oh-my-claude
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/TechDufus/oh-my-claude/blob/main/plugins/oh-my-claude/skills/pr-creation/SKILL.md -a claude-code --skill pr-creationInstallation paths:
.claude/skills/pr-creation/# PR Creation
This skill MUST be invoked whenever you are creating a pull request. It handles the complete workflow from context gathering to PR submission with consistent formatting.
## When This Skill Activates
**Auto-invoke this skill when the user implies a PR should be created:**
| Category | Trigger Phrases |
|----------|-----------------|
| **Explicit PR** | "create PR", "open PR", "make PR", "create a pull request" |
| **Review intent** | "ready for review", "review ready", "send for review" |
| **Push for PR** | "push for PR", "push and PR", "push and create PR" |
| **Submission** | "submit for review", "open pull request", "make a pull request" |
**Key insight:** If the user's intent results in `gh pr create` being run, this skill MUST be used first.
**Do NOT run `gh pr create` without this skill.**
## Complete PR Creation Workflow
### Step 1: Gather Context
```bash
git status # Check working tree state
git diff HEAD # See uncommitted changes (if any)
git log main..HEAD --oneline # Commits to be included in PR
git diff main...HEAD # Full diff against base branch
git branch --show-current # Current branch name
```
**Important:** Ensure all changes are committed before creating PR. If uncommitted changes exist, use the git-commit-validator skill first.
### Step 2: Determine Base Branch
Check for common base branch names:
```bash
git rev-parse --verify main 2>/dev/null && echo "main" || git rev-parse --verify master 2>/dev/null && echo "master"
```
Or check remote default:
```bash
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
```
### Step 3: Generate PR Title
**Format:** `type(scope): description` (conventional commits)
**Rules:**
- Max 50 characters
- Lowercase type from: feat, fix, docs, refactor, test, chore, perf, ci, build, style, revert
- Optional scope in parentheses
- Imperative mood ("add" not "added")
- No period at