Agent Skills: Create PR

Create a pull request using the repo PR template. Use when the user wants to open or submit a PR without immediately merging it. SKIP for end-to-end ship flows; use `ship` instead.

UncategorizedID: gopherguides/gopher-ai/create-pr

Install this agent skill to your local

pnpm dlx add-skill https://github.com/gopherguides/gopher-ai/tree/HEAD/plugins/go-workflow/skills/create-pr

Skill Files

Browse the full folder contents for create-pr.

Download Skill

Loading file tree…

plugins/go-workflow/skills/create-pr/SKILL.md

Skill Metadata

Name
create-pr
Description
"Create a pull request using the repo PR template. Use when the user wants to open or submit a PR without immediately merging it. SKIP for end-to-end ship flows; use `ship` instead."

Create PR

Create a pull request following the repo's PR template and conventions.

Usage

$create-pr

Steps

Step 1: Gather Context

CURRENT_BRANCH=$(git branch --show-current)
DEFAULT_BRANCH=$(git remote show origin 2>/dev/null | grep 'HEAD branch' | sed 's/.*: //')
git log "${DEFAULT_BRANCH}..HEAD" --oneline
git diff "${DEFAULT_BRANCH}..HEAD" --stat

Step 2: Branch Protection

If the current branch is main, master, or matches the default branch, stop and inform the user — do not create a PR from the default branch.

Step 3: Push Branch

Ensure the branch is pushed to the remote:

git push -u origin "$CURRENT_BRANCH"

Step 4: Find PR Template

Check for a PR template in these locations (in order):

cat .github/pull_request_template.md 2>/dev/null || \
cat .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null || \
cat docs/pull_request_template.md 2>/dev/null || \
cat pull_request_template.md 2>/dev/null || \
echo "NO_TEMPLATE"

If a template directory exists (.github/PULL_REQUEST_TEMPLATE/), list templates and ask the user which to use.

Step 5: Build PR Body

PR titles, bodies, and test-plan entries describe modules, contracts, and observable behavior, not file paths, line numbers, or current internal layout. Acceptance criteria are stated as behaviors a reviewer can verify.

If a template was found: Use its exact section structure. Fill in every section based on the commits and diff. Do not omit or skip sections.

If no template: Use this default format:

## Summary
- <1-3 bullet points describing what changed and why>

## Test Plan
- <How the changes were tested>

Step 6: Link Issues

Look for issue references in:

  • Branch name (e.g., issue-42-, fix/42-)
  • Commit messages
  • Arguments passed to this skill

Include Fixes #<number> or Closes #<number> in the PR body.

Step 7: Determine PR Title

  • Use conventional commit format: <type>(<scope>): <subject>
  • Keep under 70 characters
  • Derive from the commits and changes

Step 8: Create PR

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

Step 9: Report

Display the PR URL so the user can review it.