quick-pr
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-prinstead) - The change requires review or testing beyond a simple visual check
Input
$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
git fetch origin
Detect the default branch as the recommended base:
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:
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:
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:
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
git add <changed-files>
git commit -m "<chosen-commit-message>"
→ Use AskUserQuestion to confirm push. On approval:
git push -u origin <branch-name>
Build the PR body inline (do not delegate to another skill):
-
Check templates in parallel:
.github/PULL_REQUEST_TEMPLATE.md.github/pull_request_template.mddocs/pull_request_template.mdPULL_REQUEST_TEMPLATE.md.github/PULL_REQUEST_TEMPLATE/directory
-
Template exists: preserve structure exactly. Fill sections from the diff. Leave unfillable sections (Screenshots, Related Issues) with their original placeholders.
-
No template:
## Summary <what and why — 1-3 sentences> ## Changes <bullet list of key changes> -
PR title: match
gh pr list --state merged --limit 5 --json title 2>/dev/null. Fallback togit 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.
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 →
ExitWorktreewithaction: "remove",discard_changes: true(safe — the commit is already on origin from Step 4) - No →
ExitWorktreewithaction: "keep"
More from 2ykwang/agent-skills
html-visual
Generate an interactive single-file HTML visualization (mockup, wireframe, ERD, flowchart, chart, slides, architecture diagram, dashboard, timeline, mindmap, kanban, table).
189write-pr
Analyzes git diff and commit history to write PR title and description based on the project's PR template.
75ralph-loop-template
Generates iterable checklist PROMPT files for Ralph Loop from plan files or current context, and provides the /ralph-loop execution command.
44docs
Code documentation agent — write/update docs with /docs write, check status with /docs check. Minimal code blocks, reference pointer based.
14code-history
Trace git history of specific code — find when functions, patterns, or files were added, modified, or removed, and explain the intent behind each change.
11django-ticket-triage
Analyze a Django Trac ticket and produce a triage recommendation report.
9