CtrlK
BlogDocsLog inGet started
Tessl Logo

create-pr

Create pull requests using GitHub CLI with proper templates and formatting

45

Quality

33%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/git/skills/create-pr/SKILL.md
SKILL.md
Quality
Evals
Security

How to Create a Pull Request Using GitHub CLI

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.

Prerequisites

Check if gh is installed, if not follow this instruction to install it:

  1. Install GitHub CLI if you haven't already:

    # 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
  2. Authenticate with GitHub:

    gh auth login

Pre-flight Checks

Before creating a PR, check for uncommitted changes:

  1. Run git status to check for uncommitted changes (staged, unstaged, or untracked files)
  2. If uncommitted changes exist, use the Skill tool to run the commit skill first:
    Skill: commit
  3. This ensures all your work is committed before creating the PR

Creating a New Pull Request

  1. First, prepare your PR description following the template in @.github/pull_request_template.md

  2. Use the gh pr create --draft command to create a new pull request:

    # 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:

    # Create PR with proper template structure
    gh pr create --draft --title "✨(scope): Your descriptive title" --body-file .github/pull_request_template.md --base main

Best Practices

  1. Language: Always use English for PR titles and descriptions

  2. PR Title Format: Use conventional commit format with emojis

    • Always include an appropriate emoji at the beginning of the title
    • Use the actual emoji character (not the code representation like :sparkles:)
    • Examples:
      • ✨(supabase): Add staging remote configuration
      • 🐛(auth): Fix login redirect issue
      • 📝(readme): Update installation instructions
  3. Description Template: Always use our PR template structure from @.github/pull_request_template.md:

  4. Template Accuracy: Ensure your PR description precisely follows the template structure:

    • Don't modify or rename the PR-Agent sections (pr_agent:summary and pr_agent:walkthrough)
    • Keep all section headers exactly as they appear in the template
    • Don't add custom sections that aren't in the template
  5. Draft PRs: Start as draft when the work is in progress

    • Use --draft flag in the command
    • Convert to ready for review when complete using gh pr ready

Common Mistakes to Avoid

  1. Using Non-English Text: All PR content must be in English
  2. Incorrect Section Headers: Always use the exact section headers from the template
  3. Adding Custom Sections: Stick to the sections defined in the template
  4. Using Outdated Templates: Always refer to the current @.github/pull_request_template.md file

Missing Sections

Always include all template sections, even if some are marked as "N/A" or "None"

Additional GitHub CLI PR Commands

Here are some additional useful GitHub CLI commands for managing PRs:

# 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

Using Templates for PR Creation

To simplify PR creation with consistent descriptions, you can create a template file:

  1. Create a file named pr-template.md with your PR template
  2. Use it when creating PRs:
gh pr create --draft --title "feat(scope): Your title" --body-file pr-template.md --base main

Related Documentation

  • PR Template
  • Conventional Commits
  • GitHub CLI documentation
Repository
NeoLabHQ/context-engineering-kit
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.