Pull Request Guide

VerifiedSafe

A guide to writing pull requests that get reviewed fast, with conventional titles, generated descriptions, and size discipline.

Sby Skills Guide Bot
DevelopmentIntermediate
7/26/2026
Claude CodeCursorWindsurfCodex
#pull-requests#code-review#git#gh-cli#commit-conventions

Recommended for

Automated summary

This skill guides writing pull requests that are fast to review: conventional title, description generated from the branch commits, size discipline, and a gh CLI workflow.

Strengths

  • Builds the PR description from `git log main..HEAD` and `git diff --stat`, then structures it as Summary / Changes / Test plan
  • Enforces a conventional-commit title and explains that it becomes the commit subject after squash-merge
  • Gives concrete size rules (< ~400 reviewable lines) plus splitting strategies: stacked PRs, refactor-first, feature flags
  • Covers the full loop: self-review, draft vs ready, then gh pr create / pr ready / pr merge --squash

Limitations

  • Assumes the branch already has clean conventional commits from the `using-commit` skill
  • Its pointers to `using-review-comments` and `create-changelog` only pay off if those skills are installed too
  • Does not cover CI configuration, branch protection rules, or non-GitHub platforms
When to use it

Use it when opening a pull request or preparing a branch for review, to produce a title and description the reviewer can act on.

When not to use it

Don't use it to write the commits themselves or to handle incoming review comments, which are separate skills.

Security analysis

Safe
Quality score92/100

The skill is a documentation-only guide for creating pull requests. It references benign git and gh CLI commands, but does not instruct destructive actions, credential exfiltration, obfuscated payloads, or disabling safety mechanisms.

No concerns found

How this analysis is made

Examples

Open a PR from the current branch
Create a PR for this branch against main — write a conventional title, generate the description from my commits, and flag anything in the test plan I still need to fill in.
Prepare a large branch for review
This branch is ~1,500 lines across 18 commits. Help me decide whether to split it into stacked PRs, and draft the PR description including a reading order for the reviewer.
Draft PR early
Open a draft PR with gh so CI can run and I can get direction feedback, then tell me what to clean up before marking it ready.

name: using-pr description: Guide for creating pull requests that get reviewed fast — conventional titles, descriptions generated from branch commits, size discipline, test plans, and gh CLI workflow. Bridges using-commit (input) and using-review-comments (output). Trigger: "create a PR", "open a pull request", "write the PR description", "prepare this branch for review", "crear un PR", "abrir pull request", "descripción del PR". license: MIT metadata: author: jrodrigopuca version: "1.0"

Pull Request Guide

Write PRs that respect the reviewer's time — because review latency, not code speed, is what usually gates delivery.

Overview

A PR is an argument addressed to a reviewer: this change is correct, here's how to verify it, and here's what to look at first. If the branch has good conventional commits (using-commit), most of the description already exists — this skill assembles and edits it.

Instructions

1. Title — Conventional, Because It Becomes History

With squash-merge (the common case), the PR title becomes the commit subject on main — so it follows the exact using-commit rules:

feat(payments): add refund endpoint          ✅
fix(auth)!: migrate sessions to JWT          ✅ (breaking marked)
Final changes + review fixes                  ❌ (this lands in main's history!)

2. Description — Generated From the Branch, Then Edited

Extract the raw material:

git log main..HEAD --oneline --no-merges     # the story so far
git diff main...HEAD --stat                  # blast radius

Assemble into the template (full version in references/template.md):

## Summary
{2-4 lines: WHY this change exists — the problem, not the diff.}

## Changes
{Grouped from the commits — not one bullet per commit, one per logical change.}

## Test plan
{How this was verified: commands run, cases covered, what reviewers
can run themselves. "CI passes" alone is not a test plan.}

## Breaking changes / migrations
{Only if real: what breaks, migration steps. Omit the section otherwise.}

Closes #123
JIRA: PROJ-456

Editing rules (same discipline as create-changelog):

  • Summary answers "why" — the diff already shows the what
  • Merge fixup noise: 12 commits ≠ 12 bullets
  • Guide the review: "start with RefundService; the rest is plumbing" is the single highest-value sentence you can write
  • Screenshots/recordings for anything visual — before/after

3. Size Discipline

Review quality collapses with size: a 2,000-line PR gets a rubber stamp ("LGTM"), not a review.

  • Target < ~400 changed lines of reviewable code (generated files, lockfiles, and snapshots don't count — say so in the description)
  • Bigger than that? Split it: by commit sequence (the using-commit atomic series maps 1:1 to stacked PRs), refactor-first-then-feature, or feature-flag the increments
  • If it genuinely can't be split (a migration touching everything), warn the reviewer and provide a reading order

4. Self-Review First

Before requesting review, read your own diff in the PR UI — different context reveals what the editor hid:

  • Leftover debug code, commented blocks, accidental file changes
  • Missing tests for the failure paths
  • The place where YOU hesitate is where the reviewer will too — annotate it preemptively with a comment (note: … per using-review-comments)

5. Draft vs Ready

  • Draft = CI can run, feedback on direction welcome, not review-ready
  • Ready = you'd merge it as-is; every reviewer minute now costs someone's focus
  • Don't mark ready to "get in the queue" — that trains reviewers to ignore the queue

6. gh CLI Workflow

gh pr create --title "feat(payments): add refund endpoint" \
             --body-file pr-body.md --base main [--draft]
gh pr view --web                     # verify rendering
gh pr ready                          # draft → ready
gh pr merge --squash                 # title becomes the commit

More commands (reviewers, labels, checks, stacked PRs): references/template.md.

Suite Handoffs

  • Upstream using-commit: atomic conventional commits make the description assemble itself — garbage commits in, garbage description out
  • Downstream using-review-comments: the review this PR receives should use conventional comments; respond per its author-side rules
  • create-changelog: the squashed title is exactly what the changelog generator will consume — one more reason it must be conventional

Anti-Patterns

  • ❌ The mystery PR — no description, "see commits". The reviewer reconstructs your reasoning at 10x the cost you saved
  • ❌ The kitchen sink — feature + drive-by refactors + dep bumps in one PR; each dilutes review of the others
  • ❌ "Fixed review comments" as a commit that will be squashed anyway — fine locally, but never as the PR title
  • ❌ Re-requesting review without answering the comments — resolve or respond first (using-review-comments, author side)

Resources

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/pull-request-guide-ms1aw4qk/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/pull-request-guide-ms1aw4qk' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/pull-request-guide-ms1aw4qk/download' --output '.skill-downloads/pull-request-guide-ms1aw4qk/SKILL.md.part' && mv '.skill-downloads/pull-request-guide-ms1aw4qk/SKILL.md.part' '.skill-downloads/pull-request-guide-ms1aw4qk/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/pull-request-guide-ms1aw4qk/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills