Skip to main content

quick-pr

Split a minor change from the current work into a separate worktree and open a PR without interrupting your flow. Use when an unrelated small fix (typo, lint rule, config tweak) is sitting in a feature branch and the user wants it shipped on its own — "quick PR", "split this out", "ship this separately". Requires Claude Code (uses EnterWorktree, ExitWorktree, AskUserQuestion).

Ir a la instalación

Datos de origen

Repositorio
2ykwang/agent-skills
Última actividad en el origen
27 de julio de 2026 a las 08:00
Idioma detectado de SKILL.md
inglés
Estrellas
18
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
3 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
quick-pr
version
0.0.3
category
productivity
description
Split a minor change from the current work into a separate worktree and open a PR without interrupting your flow. Use when an unrelated small fix (typo, lint rule, config tweak) is sitting in a feature branch and the user wants it shipped on its own — "quick PR", "split this out", "ship this separately". Requires Claude Code (uses EnterWorktree, ExitWorktree, AskUserQuestion).
argument-hint
[file-path or change description]
# Quick PR Split an unrelated minor change (convention fix, typo, config tweak) from the current working tree into an independent PR — without leaving the current branch. This is a Claude Code skill. It requires Claude Code built-in tools: `EnterWorktree`, `ExitWorktree`, and `AskUserQuestion`. ## Use this skill when - A small fix (typo, lint, config) is mixed into a larger feature branch - The user wants to ship a trivial change immediately without polluting the current PR - The user says "quick PR", "split this out", or "ship this separately" ## Do not use this skill when - The change is part of the current feature work - The user only wants a PR description (use `/write-pr` instead) - The change requires review or testing beyond a simple visual check ## Input ```text $ARGUMENTS ``` **Argument interpretation:** - File path (e.g., `src/config.py`) — extract the current diff for that file and apply it in the worktree - Description text (e.g., `"fix typo in README"`) — make the edit directly in the worktree - Empty — ask the user what to split out ## Tools Fetch these tools via `ToolSearch` before use: | Purpose | Tool | |---------|------| | Enter isolated worktree | `EnterWorktree` | | Exit/remove worktree | `ExitWorktree` | | Ask the user | `AskUserQuestion` | ## Procedure ### Step 1: Determine Change Scope **File path arg:** Run `git diff HEAD -- <file>`, show the diff. **Description arg:** Propose which files to modify and how. **Empty arg:** Ask what to split out. → **Use `AskUserQuestion` to confirm the scope before continuing.** ### Step 2: Choose Branch Name and Commit Message Check the project's commit style: `git log --oneline -10`. Propose up to 5 candidates for each: - **Branch:** kebab-case, prefix `fix/` `chore/` `docs/` `feat/` - **Commit:** match dominant pattern (Conventional Commits, ticket prefix, etc.); default to Conventional Commits if unclear → **Use `AskUserQuestion` with the numbered options. User picks or writes their own.** ### Step 3: Choose Base Branch, Create Worktree, Apply Changes ```bash git fetch origin ``` Detect the default branch as the recommended base: ```bash git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null ``` Fallback: check which of `main`, `master`, `develop` exists. Gather recent remote branches as additional candidates: ```bash git for-each-ref --sort=-committerdate refs/remotes/ \ --format='%(refname:short)' | grep -v HEAD | head -5 ``` → **Use `AskUserQuestion` to pick the base branch.** Present the detected default as the recommended option, followed by the recent branches. User can write their own. This base is reused as the PR target in Step 4. Use `EnterWorktree` to create a worktree based on the chosen base branch. Then rename the branch: ```bash git branch -m <chosen-branch-name> ``` **File-based mode:** Before entering the worktree, note the original worktree path. After entering, copy the changed file from the original path: ```bash cp <original-worktree-path>/<file> <current-worktree-path>/<file> ``` **Description-based mode:** Make the edit directly in the worktree. ### Step 4: Commit, Push, Create PR ```bash git add <changed-files> git commit -m "<chosen-commit-message>" ``` → **Use `AskUserQuestion` to confirm push.** On approval: ```bash git push -u origin <branch-name> ``` Build the PR body inline (do not delegate to another skill): 1. Check templates in parallel: - `.github/PULL_REQUEST_TEMPLATE.md` - `.github/pull_request_template.md` - `docs/pull_request_template.md` - `PULL_REQUEST_TEMPLATE.md` - `.github/PULL_REQUEST_TEMPLATE/` directory 2. **Template exists:** preserve structure exactly. Fill sections from the diff. Leave unfillable sections (Screenshots, Related Issues) with their original placeholders. 3. **No template:** ```markdown ## Summary <what and why — 1-3 sentences> ## Changes <bullet list of key changes> ``` 4. PR title: match `gh pr list --state merged --limit 5 --json title 2>/dev/null`. Fallback to `git log --oneline -10`. Default to Conventional Commits if unclear. → **Use `AskUserQuestion` with the draft title + body + target branch (defaults to the base from Step 3). Do not run `gh pr create` until approved.** ```bash gh pr create --base <target-branch> --title "<title>" --body "<body>" ``` ### Step 5: Confirm and Clean Up Show `PR created: <URL>`. → **Use `AskUserQuestion`: "Remove the worktree?"** - **Yes** → `ExitWorktree` with `action: "remove"`, `discard_changes: true` (safe — the commit is already on origin from Step 4) - **No** → `ExitWorktree` with `action: "keep"`
Ver en GitHub