Create PR
Use this skill when the user asks to create or open a pull request.
PR Granularity
A PR is a reviewable responsibility unit; one PR may contain multiple atomic commits. A branch is not a PR boundary: split independent work into separate PRs and stack only dependent work.
Workflow
-
Inspect the current branch, status, and diff:
shgit status --short git branch --show-current git diff --stat -
If the current branch is
main, create a feature branch with afeature/,fix/, orchore/prefix unless the user requested a different branch name. -
Review the diff before committing. Exclude unrelated changes, temporary files, secrets, generated junk, and debug-only edits.
-
Commit with the repo-local
commitskill using an English Conventional Commit message. When CI is unnecessary and repository instructions permit skipping it, append[ci skip]to the commit message. -
Prepare a PR title and body proportional to the change:
- Use a Conventional Commit type such as
feat,fix,docs,refactor, orchorein the PR title. - For a small focused change, use 2–4 sentences covering what changed and why.
- For a larger change, include Summary, What Changed, Why, and Testing only when tests were actually run. Add Related Issues only when relevant.
- Use
--body-file -for multi-line bodies. Do not embed\nescape sequences in--body.
- Use a Conventional Commit type such as
-
When the change is visual (UI, layout, rendering, or a bug clearer on screen), attach real local screenshots or short videos with
gh pr create --attach. Do not invent media; skip when there is nothing useful to show, or whengh pr create --helpdoes not list--attach. Prefer Markdown references to local paths in the body so alt text survives upload. If media appears only after the PR exists, attach withgh pr edit/gh pr commentinstead of recreating the PR. Seegh pr create --helpand https://gh.io/gh-attach. -
Publish using the path that matches the PR structure:
-
Use
gh-stackonly when requested or when the branch is already stacked; verify parent-child ancestry before linking. -
For an ordinary PR, push the branch and create the PR with:
shgit push -u origin <branch-name> gh pr create --title "feat(scope): summary" --body-file -Add
--attachon that invocation when step 6 applies.
-
-
Report the PR URL. If publishing fails, inspect the error and verify the branch, remote, authentication, or duplicate PR state before retrying.
All commit messages, PR titles, and PR bodies must be in English. Confirm the target branch before creating the PR, and do not call it ready until the relevant checks and review feedback have been inspected.

