pr-create

Create pull request from feature branch

SKILL.md

GitHub

Creates a professional pull request when a feature is complete and ready for review.

Optional PR title/description hint from user input

"$ARGUMENTS"

Process

Step 1: Analyze Feature Branch

  • Compare to origin/main:
git log origin/main..HEAD --oneline
git diff origin/main...HEAD --stat
  • Erase plan-*.md and any other dev/workflow related files and commit. If not sure, keep the file.
  • IMPORTANT: Only erase files that were created by this branch. Never delete files that existed before the branch was created. When in doubt, check git log origin/main..HEAD -- <file> to verify the file was added in this branch.

Step 2: Generate PR Title and Body

Create professional PR content:

Title Format: Feature: [Descriptive title based on plan-*.md and commits]

Body Structure (under about 40 lines):

## Why
- The problem or ticket, and why it matters now

## What changed
- The behavior change, in user or operator terms

## Scope
- What this PR covers, and what it leaves out on purpose

## Tradeoffs
- Options considered, and why this one won

## Blast radius
- What can break, who sees it, and how to roll back

## Verification
- What was run: command or click path
- Observed output or evidence link
- Staging plan: target, deployed-SHA check, probes, UI proof

Step 3: Create Pull Request

gh pr create --title "Feature: [Generated title]" --body "$(cat <<'EOF'
[Generated PR body]
EOF
)"

Step 4: PR Success Confirmation

  • Display created PR URL

Step 5: CI Watcher (automatic)

A PostToolUse hook (gh_monitor_trigger, or this environment's equivalent) launches a push-mode CI watcher for the branch the instant gh pr create succeeds, and tells you the exact command to run it with. Do not guess that command yourself or invoke a /ci-watcher-style skill directly — use exactly what the hook's own instruction gives you.

Fallback: if no watcher launch instruction arrives shortly after the PR is created, find this environment's gh-monitor script (in Claude Code: ~/.claude/scripts/gh_monitor.sh) and launch bash <that script> push <branch> manually — via the Bash tool with run_in_background: true, never as a blocking foreground call.