Help us improve
Share bugs, ideas, or general feedback.
From pr-summary
Generates pull request descriptions from git diffs, commits, status, and code structure. Detects and follows project PR templates. Use after implementation, before creating PRs.
npx claudepluginhub kzytateishi/spikeee-plugins-marketplace --plugin pr-summaryHow this skill is triggered — by the user, by Claude, or both
Slash command
/pr-summary:pr-summaryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a pull request description from `$ARGUMENTS` (or the current branch if no arguments are provided).
Generates structured PR descriptions from git commit history by grouping changes by domain, filtering noise like lints, and inspecting diffs only when needed. Use for consistent, token-efficient PR summaries.
Generates structured PR descriptions from a git diff, commit list, or change summary. Covers what changed, why, and how to test.
Generates PR descriptions following a repository's standard template by fetching the diff, commit history, and metadata. Useful when creating or updating a pull request description.
Share bugs, ideas, or general feedback.
Generate a pull request description from $ARGUMENTS (or the current branch if no arguments are provided).
Search for a PR template using two Glob patterns in parallel (both MUST be executed):
**/*PULL_REQUEST_TEMPLATE***/*pull_request_template*From the combined results, select the first match according to this priority order:
PULL_REQUEST_TEMPLATE.md or pull_request_template.md.github/PULL_REQUEST_TEMPLATE.md or pull_request_template.mddocs/PULL_REQUEST_TEMPLATE.md or pull_request_template.md.github/PULL_REQUEST_TEMPLATE/ directory (use the default template)If no match is found, use the default template from refs/default-template.md.
Read the selected template. This template defines the exact sections and structure the final PR description must follow.
Collect all git information in a single Bash call by running the following combined command. This is critical to minimize API round-trips and avoid rate limiting:
echo "===BRANCH===" && git rev-parse --abbrev-ref HEAD && echo "===BASE===" && git remote show origin 2>/dev/null | grep 'HEAD branch' | sed 's/.*: //' || (git branch -a --format='%(refname:short)' | grep -E '^(origin/)?(main|master|develop)$' | head -1 | sed 's|origin/||') && echo "===STATUS===" && git status --porcelain && echo "===LOG===" && git log --oneline $(git remote show origin 2>/dev/null | grep 'HEAD branch' | sed 's/.*: //' || echo main)...HEAD 2>/dev/null && echo "===STAT===" && git diff --stat $(git remote show origin 2>/dev/null | grep 'HEAD branch' | sed 's/.*: //' || echo main)...HEAD 2>/dev/null && echo "===DIFF===" && git diff $(git remote show origin 2>/dev/null | grep 'HEAD branch' | sed 's/.*: //' || echo main)...HEAD 2>/dev/null
Parse the output by the ===SECTION=== delimiters to extract each piece of information.
If the base branch cannot be determined from the output, ask the user which branch to compare against.
If there are uncommitted changes shown in the STATUS section, note them but focus the PR description on committed changes.
Large diff handling: If the diff exceeds 1000 lines or 30+ files, run a second command to process changes by directory or module rather than as a single block. Summarize at a higher level to stay within context limits.
Analyze the diff output collected in Phase 2. Do NOT read individual changed files unless the diff is ambiguous or truncated — the diff itself contains sufficient information for the PR description.
If specs/{feature-name}/order.md exists, read it to produce a more accurate and context-rich summary. Extract feature background, goals, and implementation decisions. Otherwise, skip this step.
From the diff and commit log collected in Phase 2, identify:
Generate the PR description by filling in the template detected in Phase 1.
Present the generated PR description to the user in a markdown code block so it can be easily copied. Do not wrap it in additional commentary before the code block.
After presenting the description, briefly note: