# Submit A Pull Request

> Use this skill when the user wants to submit the current local branch as a pull request to a GitHub repository.

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

---


## Target

Target GitHub repository user named, or `origin` otherwise.
Use repository's actual default branch as base.
Resolve base branch at runtime, never hard-coding `main`.

## Preconditions

Refuse on default branch or with dirty working tree.
Refuse when no commits sit ahead of default branch.
Refuse when open pull request already targets same branch.
Confirm branch is up to date with remote default.

## Boundaries

Submit commits untouched.
Skip editing, amending, rebasing, squashing, building, testing, and linting.

## Branch

Push branch before opening pull request.

## Title

Use imperative-mood title, not `Fixes` or `Update`.
Derive title and body, never from branch name.

## Body

Write body as few short paragraphs.
Cover what changes, why, and any follow-up.
Quote snippet of most important change, no longer than ten lines.
Trust code to convey change better than prose.

## Format

Shape pull request as imperative title plus short prose body.
Shape comment as one or two sentences.

## Voice

Write like human.
Vary rhythm, never sliding into AI cadence.
Open with substance, never with boilerplate or buzzword strings.
End body on last sentence.
Skip `Generated with` footers, `Co-Authored-By` trailers, and robot emoji.

## Closing

Use closing keyword only when user or commit already cites issue.

## Owner

Read owner from repository slug.
For organization, use top recent committer as owner.
Stop when owner stays unknown.
Ask user to resolve it.

## Comment

Skip comment when owner is authenticated account.
Post one follow-up comment to owner otherwise.
Mention owner in that comment.
Offer to clarify in that comment.
Keep comment to one or two sentences.
Ping one account.
Let owner set their own timing.

## Example

Branch `42-retry` adds retry logic and user says "open PR".
Push branch to `origin`.
Title pull request `Add retry to courier client`.
Write few short paragraphs covering change and motivation.
Quote most important change, under ten lines.
Ping owner once in follow-up comment.

## Stop

Stop after comment, or after pull request when you skip comment.

