Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create pull requests using GitHub CLI with proper templates and formatting
.claude/skills/bilal140202-create-pr/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 18% | 0% |
| case-05 | ✓→✓ | = Same ✓ | -5% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 202% | 0% |
This guide explains how to create pull requests using GitHub CLI in our project.
Important: All PR titles and descriptions should be written in English.
Check if gh is installed, if not follow this instruction to install it:
bash # macOS brew install gh
# Windows winget install --id GitHub.cli
# Linux # Follow instructions at https://github.com/cli/cli/blob/trunk/docs/install_linux.md
bash gh auth login
Before creating a PR, check for uncommitted changes:
git status to check for uncommitted changes (staged, unstaged, or untracked files)commit skill first: Skill: commit
gh pr create --draft command to create a new pull request:bash # Basic command structure gh pr create --draft --title "✨(scope): Your descriptive title" --body "Your PR description" --base main
For more complex PR descriptions with proper formatting, use the --body-file option with the exact PR template structure:
bash # Create PR with proper template structure gh pr create --draft --title "✨(scope): Your descriptive title" --body-file .github/pull_request_template.md --base main
:sparkles:)✨(supabase): Add staging remote configuration🐛(auth): Fix login redirect issue📝(readme): Update installation instructionspr_agent:summary and pr_agent:walkthrough)--draft flag in the commandgh pr readyAlways include all template sections, even if some are marked as "N/A" or "None"
Here are some additional useful GitHub CLI commands for managing PRs:
bash# List your open pull requests gh pr list --author "@me" # Check PR status gh pr status # View a specific PR gh pr view <PR-NUMBER> # Check out a PR branch locally gh pr checkout <PR-NUMBER> # Convert a draft PR to ready for review gh pr ready <PR-NUMBER> # Add reviewers to a PR gh pr edit <PR-NUMBER> --add-reviewer username1,username2 # Merge a PR gh pr merge <PR-NUMBER> --squash
To simplify PR creation with consistent descriptions, you can create a template file:
pr-template.md with your PR templatebashgh pr create --draft --title "feat(scope): Your title" --body-file pr-template.md --base main
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,917 | 2,237 | -62% | 1 | 1 | 0% | 984 | 1,284 | +30% | 0 | 0 | — |
case-02 | fail→fail | 6,900 | 4,515 | -35% | 1 | 1 | 0% | 973 | 1,247 | +28% | 0 | 0 | — |
case-03 | fail→fail | 5,889 | 5,222 | -11% | 1 | 1 | 0% | 454 | 1,234 | +172% | 0 | 0 | — |
case-04 | pass→pass | 7,542 | 1,856 | -75% | 1 | 1 | 0% | 1,159 | 1,367 | +18% | 0 | 0 | — |
case-05 | pass→pass | 8,619 | 2,330 | -73% | 1 | 1 | 0% | 1,552 | 1,467 | -5% | 0 | 0 | — |
case-06 | pass→pass | 2,727 | 1,715 | -37% | 1 | 1 | 0% | 437 | 1,319 | +202% | 0 | 0 | — |
case-07 | pass→pass | 8,482 | 2,802 | -67% | 1 | 1 | 0% | 1,227 | 1,432 | +17% | 0 | 0 | — |
case-08 | pass→pass | 8,639 | 2,094 | -76% | 1 | 1 | 0% | 1,252 | 1,396 | +12% | 0 | 0 | — |
case-09 | pass→pass | 7,177 | 2,698 | -62% | 1 | 1 | 0% | 1,007 | 1,508 | +50% | 0 | 0 | — |
case-10 | fail→pass | 3,695 | 1,653 | -55% | 1 | 1 | 0% | 606 | 1,314 | +117% | 0 | 0 | — |
case-11 | pass→pass | 4,632 | 2,269 | -51% | 1 | 1 | 0% | 783 | 1,322 | +69% | 0 | 0 | — |
case-12 | pass→pass | 3,755 | 1,348 | -64% | 1 | 1 | 0% | 546 | 1,188 | +118% | 0 | 0 | — |
case-13 | pass→pass | 2,918 | 1,573 | -46% | 1 | 1 | 0% | 446 | 1,279 | +187% | 0 | 0 | — |
case-14 | pass→pass | 3,043 | 1,721 | -43% | 1 | 1 | 0% | 460 | 1,272 | +177% | 0 | 0 | — |
case-15 | fail→pass | 6,995 | 2,641 | -62% | 1 | 1 | 0% | 1,259 | 1,421 | +13% | 0 | 0 | — |
case-16 | pass→pass | 2,880 | 2,463 | -14% | 1 | 1 | 0% | 384 | 1,506 | +292% | 0 | 0 | — |
case-17 | pass→pass | 2,413 | 2,166 | -10% | 1 | 1 | 0% | 349 | 1,400 | +301% | 0 | 0 | — |
case-18 | pass→pass | 6,168 | 2,724 | -56% | 1 | 1 | 0% | 1,044 | 1,432 | +37% | 0 | 0 | — |
case-19 | pass→pass | 2,526 | 1,826 | -28% | 1 | 1 | 0% | 399 | 1,332 | +234% | 0 | 0 | — |
case-20 | pass→pass | 4,613 | 1,742 | -62% | 1 | 1 | 0% | 674 | 1,306 | +94% | 0 | 0 | — |
case-21 | pass→pass | 5,881 | 3,807 | -35% | 1 | 1 | 0% | 1,023 | 1,764 | +72% | 0 | 0 | — |
case-22 | pass→pass | 6,989 | 3,994 | -43% | 1 | 1 | 0% | 1,209 | 1,802 | +49% | 0 | 0 | — |
case-23 | pass→pass | 5,846 | 2,612 | -55% | 1 | 1 | 0% | 994 | 1,510 | +52% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.