PluginBench
Skill
Official
Fail
Audit score 45

pr-creator

google-gemini/gemini-cli

Create pull requests that follow repository templates and standards.

What is pr-creator?

This skill guides the creation of high-quality pull requests by ensuring compliance with repository templates and standards. Use it when you need to create a PR that adheres to established conventions and passes all preflight checks.

  • Ensures PRs follow repository-specific templates and structure
  • Validates branch management to prevent accidental commits to main
  • Guides completion of PR checklists and sections based on template requirements
  • Runs preflight checks (build, lint, test) before PR creation
  • Handles multi-line Markdown descriptions safely using temporary files
  • Enforces Conventional Commits format for PR titles

How to install pr-creator

npx skills add https://github.com/google-gemini/gemini-cli --skill pr-creator
Prerequisites
  • Git configured and initialized in your repository
  • GitHub CLI (gh) installed and authenticated
  • npm with a preflight script defined in package.json
Claude Code
Cursor
Windsurf
Cline

How to use pr-creator

  1. 1.Verify you are on a non-main branch using git branch --show-current
  2. 2.Commit all changes with descriptive messages following conventional format
  3. 3.Locate the PR template in .github/pull_request_template.md or similar location
  4. 4.Read the template and draft a description following its structure exactly
  5. 5.Run npm run preflight to ensure all build, lint, and test checks pass
  6. 6.Push your branch using git push -u origin HEAD after verifying branch name
  7. 7.Write the PR description to a temporary file to avoid shell escaping issues
  8. 8.Create the PR using gh pr create with --title and --body-file flags

Use cases

Good for
  • Creating a feature PR that must follow your team's template structure
  • Submitting a bug fix with all required checklist items completed
  • Ensuring new contributions pass linting and test requirements before review
  • Maintaining consistency across pull requests in a large repository
  • Safely pushing branch changes without risk of modifying main
Who it's for
  • Developers contributing to repositories with PR templates
  • Teams enforcing Conventional Commits conventions
  • Contributors new to a repository's PR standards
  • Anyone needing to ensure preflight checks pass before submission

pr-creator FAQ

What if I'm currently on the main branch?

Create and switch to a new descriptive branch immediately using git checkout -b <new-branch-name>. Never commit or push changes to main.

What should I do if preflight checks fail?

Address the failing build, lint, or test issues before proceeding. Do not create the PR until all checks pass.

How do I handle PR template checklists?

Mark items with [x] if completed. Leave unchecked [ ] if not applicable or not done. Do not check boxes for tasks you haven't actually completed.

What if the repository has multiple PR templates?

Check the .github/PULL_REQUEST_TEMPLATE/ directory. Ask the user which template applies or select the most appropriate one based on context (e.g., bug_fix.md vs feature.md).

Why write the description to a temporary file?

Multi-line Markdown in PR descriptions can cause shell escaping issues. Writing to a file first and using --body-file avoids these problems.

Full instructions (SKILL.md)

Source of truth, from google-gemini/gemini-cli.


name: pr-creator description: Use this skill when asked to create a pull request (PR). It ensures all PRs follow the repository's established templates and standards.

Pull Request Creator

This skill guides the creation of high-quality Pull Requests that adhere to the repository's standards.

Workflow

Follow these steps to create a Pull Request:

  1. Branch Management: CRITICAL: Ensure you are NOT working on the main branch.

    • Run git branch --show-current.
    • If the current branch is main, you MUST create and switch to a new descriptive branch:
      git checkout -b <new-branch-name>
      
  2. Commit Changes: Verify that all intended changes are committed.

    • Run git status to check for unstaged or uncommitted changes.
    • If there are uncommitted changes, stage and commit them with a descriptive message before proceeding. NEVER commit directly to main.
      git add .
      git commit -m "type(scope): description"
      
  3. Locate Template: Search for a pull request template in the repository.

    • Check .github/pull_request_template.md
    • Check .github/PULL_REQUEST_TEMPLATE.md
    • If multiple templates exist (e.g., in .github/PULL_REQUEST_TEMPLATE/), ask the user which one to use or select the most appropriate one based on the context (e.g., bug_fix.md vs feature.md).
  4. Read Template: Read the content of the identified template file.

  5. Draft Description: Create a PR description that strictly follows the template's structure.

    • Headings: Keep all headings from the template.
    • Checklists: Review each item. Mark with [x] if completed. If an item is not applicable, leave it unchecked or mark as [ ] (depending on the template's instructions) or remove it if the template allows flexibility (but prefer keeping it unchecked for transparency).
    • Content: Fill in the sections with clear, concise summaries of your changes.
    • Related Issues: Link any issues fixed or related to this PR (e.g., "Fixes #123").
  6. Preflight Check: Before creating the PR, run the workspace preflight script to ensure all build, lint, and test checks pass.

    npm run preflight
    

    If any checks fail, address the issues before proceeding to create the PR.

  7. Push Branch: Push the current branch to the remote repository. CRITICAL SAFETY RAIL: Double-check your branch name before pushing. NEVER push if the current branch is main.

    # Verify current branch is NOT main
    git branch --show-current
    # Push non-interactively
    git push -u origin HEAD
    
  8. Create PR: Use the gh CLI to create the PR. To avoid shell escaping issues with multi-line Markdown, write the description to a temporary file first.

    # 1. Write the drafted description to a temporary file
    # 2. Create the PR using the --body-file flag
    gh pr create --title "type(scope): succinct description" --body-file <temp_file_path>
    # 3. Remove the temporary file
    rm <temp_file_path>
    
    • Title: Ensure the title follows the Conventional Commits format if the repository uses it (e.g., feat(ui): add new button, fix(core): resolve crash).

Principles

  • Safety First: NEVER push to main. This is your highest priority.
  • Compliance: Never ignore the PR template. It exists for a reason.
  • Completeness: Fill out all relevant sections.
  • Accuracy: Don't check boxes for tasks you haven't done.