qkpr - AI-Powered Pull Request CLI

VerifiedCaution

Generates pull requests on GitHub, GitLab, and Gitee, along with AI-powered commit messages and semantic branch names. It uses Google Gemini to analyze staged Git changes and produce Angular-style commits. Helps streamline the PR workflow with interactive menus and clipboard integration.

Sby Skills Guide Bot
DevelopmentBeginner
6/2/2026
Claude CodeCopilot
#pull-request#commit-message#cli#git#ai

Recommended for

Automated summary

A CLI tool for quickly creating pull requests and generating AI-powered commit messages following Angular conventions.

Strengths

  • AI-powered commit message generation following Angular convention
  • Interactive pull request creation with branch selection, clipboard copy, and browser launch
  • Multi-platform support (GitHub, GitLab, Gitee)
  • Semantic branch name generation

Limitations

  • Requires a Google Gemini API key for AI features
  • Only works with Git repositories
  • AI only analyzes staged changes
When to use it

When you need to quickly create a pull request or generate standardized commit messages without leaving the terminal.

When not to use it

When you need a full GUI-based code review or when you don't have access to the Gemini API.

Security analysis

Caution
Quality score92/100

The tool uses network calls to Google's Gemini API, which is a documented feature for AI-powered commit messages. The user must explicitly configure an API key, so it's not hidden. However, sending source code to a third-party service may pose confidentiality risks. The tool also uses Bash and git, but that's normal for its purpose.

Findings
  • β€’Sends git diffs (staged changes) to external Google Gemini API for commit message generation. Users should ensure they have permission to share code with external services.
How this analysis is made

Examples

Create a pull request interactively
Use qkpr to create a pull request for my current branch against main.
Generate an AI commit message
Run qkpr commit to generate an Angular-style commit message from my staged changes.
Generate a semantic branch name
Use qkpr branch to suggest a branch name based on my staged changes.

name: qkpr description: Quick Pull Request CLI with AI-powered commit message generation. Use for creating GitHub/GitLab/Gitee pull requests, generating Angular-style commit messages, and creating semantic branch names. allowed-tools: Bash(qkpr:), Bash(git:)

qkpr - Quick Pull Request CLI

Quick Start

# Interactive menu (shows all options)
qkpr

# Create a pull request
qkpr pr

# Generate AI commit message
qkpr commit

# Generate branch name
qkpr branch

Commands

Interactive Menu (Default)

qkpr

Shows an interactive menu with all available features:

  • πŸ”§ Create Pull Request
  • πŸ€– Generate Commit Message
  • 🌿 Generate Branch Name
  • βš™ Configure API Key
  • πŸ”§ Configure Model

Create Pull Request

# Interactive branch selection
qkpr pr

# Specify target branch directly
qkpr pr main
qkpr pr develop

Features:

  • Interactive branch selection with search
  • Protected branch highlighting (main, master)
  • Smart branch categorization by prefix (feat/, fix/, merge/, etc.)
  • Auto-generated PR description with commit summaries
  • Clipboard integration (copies PR description automatically)
  • Browser integration (opens PR comparison page)
  • Merge branch suggestion for conflict resolution
  • Multi-platform support (GitHub, GitLab, Gitee)

Generate Commit Message (AI-Powered)

qkpr commit

Features:

  • πŸ€– Uses Google Gemini 2.0 Flash AI
  • πŸ“ Follows Angular commit message convention
  • 🌿 Suggests semantic branch names
  • πŸ” Analyzes staged changes (git diff --cached)
  • βœ… Interactive: choose to commit, copy, or regenerate
  • πŸš€ Option to auto-push after commit

First-time Setup for AI Features

  1. Get Gemini API Key from Google AI Studio
  2. Configure API key:
# Method 1: Use config command
qkpr config

# Method 2: Environment variable
export QUICK_PR_GEMINI_API_KEY=your_api_key_here
# or legacy variable name
export GEMINI_API_KEY=your_api_key_here

Model Configuration

qkpr config:model

Available models (as of 2025):

  • gemini-2.5-pro (latest pro)
  • gemini-2.5-flash (latest flash)
  • gemini-2.0-flash (default)
  • gemini-2.0-flash-exp
  • gemini-flash-latest

Or set via environment:

export QUICK_PR_GEMINI_MODEL=gemini-2.5-pro

Generate Branch Name

qkpr branch

Generates a semantic branch name based on staged changes using AI.

Configuration

# Configure API key
qkpr config

# Configure model
qkpr config:model

Version & Help

qkpr --version    # or qkpr -v
qkpr --help       # or qkpr -h

Workflow Examples

Example 1: Create a Pull Request

# Make your changes
git add .
git commit -m "feat: add new feature"

# Create PR with qkpr
qkpr pr
# Select target branch interactively
# PR description copied to clipboard, browser opens automatically

Example 2: AI-Generated Commit Message

# Stage your changes
git add .

# Generate commit message with AI
qkpr commit
# Review the generated message
# Choose to commit, copy, or regenerate

Example 3: Complete Workflow with AI

# Stage changes
git add .

# Generate commit and create branch name
qkpr commit    # Generates message, suggests branch name
qkpr branch    # Get semantic branch name suggestion

# Commit and push
git checkout -b suggested-branch-name
git commit -m "generated message"
git push

# Create PR
qkpr pr main

Commit Message Convention

qkpr follows Angular commit message format:

<type>(<scope>): <subject>

<body>

<footer>

Types

  • feat - New feature
  • fix - Bug fix
  • docs - Documentation changes
  • style - Code style changes (formatting, etc.)
  • refactor - Code refactoring
  • perf - Performance improvements
  • test - Adding or updating tests
  • chore - Maintenance tasks
  • ci - CI/CD changes
  • build - Build system changes

Configuration File

API keys and settings are stored locally in:

~/.qkpr/config.json

Requirements

  • git version 2.0+
  • Node.js version 18+
  • Gemini API key (for AI features)

License

MIT License Β© KazooTTT

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qkpr-ai-powered-pull-request-cli-mmh8qqep/download' --output '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md.part' && mv '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md.part' '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Bash(qkpr:*), Bash(git:*)

Original excerpt: Requirements
  • git version 2.0+
  • Node.js version 18+
  • Gemini API key (for AI features)

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md' && test -s '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qkpr' && cp -R '.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep' '.claude/skills/qkpr'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js β‰₯ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep'

openskills read 'qkpr-ai-powered-pull-request-cli-mmh8qqep'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/qkpr-ai-powered-pull-request-cli-mmh8qqep/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills