PR

pr-description

Generates and updates GitHub PR descriptions based on commit history and diffs. Ensures accurate documentation of code changes.

Install

mkdir -p .claude/skills/pr-description && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7402" && unzip -o skill.zip -d .claude/skills/pr-description && rm skill.zip

Installs to .claude/skills/pr-description

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Update a GitHub PR description with a summary of changes
56 charsno explicit “when” trigger
Beginner

Key capabilities

  • Extracts commit messages and diff summaries
  • Parses issue numbers from flags and commit history
  • Categorizes changes into summary and breaking change blocks
  • Filters out existing accurate PR descriptions
  • Formats output for standardized GitHub PR documentation

How it works

It executes git diff and log operations to inspect branch changes, then synthesizes a structured Markdown document using local parser logic.

Inputs & outputs

You give it
PR number, optional --fixes issue IDs
You get back
Markdown text for PR body

When to use pr-description

  • Generate summary for new pull requests
  • Link Jira issues to PR descriptions
  • Update stale PR documentation
  • Identify breaking changes for PR notes

About this skill

Update a GitHub pull request description based on the changes in the PR.

Arguments

/pr-description <PR_NUMBER> [--fixes <ISSUE_NUMBERS>]
  • PR_NUMBER (required): The pull request number to update
  • --fixes (optional): Comma-separated issue numbers that this PR fixes (e.g., --fixes 123,456)

Examples:

  • /pr-description 3534
  • /pr-description 3534 --fixes 123
  • /pr-description 3534 --fixes 123,456,789

Instructions

  1. First, gather information about the PR:

    • Use GitHub plugin to get PR details (title, current description, base branch)
    • Use local git to get commits: git log main..HEAD --oneline
    • Use local git to get the diff: git diff main..HEAD
    • Parse any --fixes argument for issue numbers
  2. Check the existing PR description:

    • If it already has a complete, accurate description that reflects the changes, do nothing
    • If it's missing sections, incomplete, or outdated compared to the actual changes, proceed to update
    • If it only has the template placeholder text, generate a full description
  3. Analyze the changes:

    • Understand the purpose of each commit
    • Identify any breaking changes (API changes, removed features, behavior changes)
    • Look for new features, bug fixes, refactoring, or documentation changes
    • Collect issue numbers from:
      • The --fixes argument (if provided)
      • Commit messages (patterns like "Fixes #123", "Closes #456", "Resolves #789")
  4. Generate or update the PR description with these sections:

PR Description Format

Summary (always include)

Brief bullet points describing what changed and why. Focus on the purpose and impact, not implementation details.

## Summary

- Added X to enable Y
- Fixed bug where Z would happen
- Refactored W for better maintainability

Breaking Changes (include only if applicable)

Document any changes that affect existing users or APIs.

## Breaking Changes

- `ClassName.method()` now requires a `param` argument
- Removed deprecated `old_function()` - use `new_function()` instead

Testing (include when non-obvious)

How to verify the changes work. Skip for trivial changes.

## Testing

- Run `uv run pytest tests/test_feature.py` to verify the fix
- Example usage: `uv run examples/new_feature.py`

Fixes (include if issues are provided or found in commits)

List issues this PR fixes. GitHub will automatically close these issues when the PR is merged.

## Fixes

- Fixes #123
- Fixes #456

Note: Use "Fixes #X" format (not "Closes" or "Resolves") for consistency. Each issue should be on its own line with "Fixes" to ensure GitHub auto-closes them.

Guidelines

  • Be concise - Reviewers should understand the PR in 30 seconds
  • Focus on why - The diff shows what changed, explain why
  • Skip empty sections - Only include sections that have content
  • Use bullet points - Easier to scan than paragraphs
  • Don't duplicate the diff - Avoid listing every file or line changed

Example Output

## Summary

- Added `/docstring` skill for documenting Python modules with Google-style docstrings
- Skill finds classes by name and handles conflicts when multiple matches exist
- Skips already-documented code to avoid unnecessary changes

## Testing

/docstring ClassName

## Fixes

- Fixes #123

Checklist

Before updating the PR:

  • Description documents the change for users, not the development process — the standard /prose-review applies, in AGENTS.md under "Writing for Future Readers"
  • Verified existing description needs updating (not already complete)
  • Summary accurately reflects the changes
  • Breaking changes are clearly documented (if any)
  • No unnecessary sections included
  • Description is concise and scannable

When not to use it

  • When the PR description already contains a manual detailed review
  • When the commit history is too messy to provide a coherent summary

Prerequisites

GitHub CLILocal git repository access

Limitations

  • Limited by the clarity of original commit messages
  • Requires access to the local git working directory

How it compares

It programmatically correlates git diff content with specific issue identifiers rather than relying on generic LLM summarization.

Compared to similar skills

pr-description side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
pr-description (this skill)15moNo flagsBeginner
prepare-changelog67moReviewBeginner
workthrough108moReviewBeginner
generate-release-notes78moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

prepare-changelog

nextest-rs

Guidelines for preparing changelog entries for nextest releases following Keep a Changelog format

689

workthrough

bear2u

Automatically document all development work and code modifications in a structured workthrough format. Use this skill after completing any development task, bug fix, feature implementation, or code refactoring to create comprehensive documentation.

1085

generate-release-notes

teambit

Generate comprehensive release notes for Bit from git commits and pull requests. Use when creating release notes, building changelogs, documenting version releases, or preparing a new Bit release.

752

changelog-generator

ComposioHQ

Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.

346

release-note-generation

microsoft

Toolkit for generating PowerToys release notes from GitHub milestone PRs or commit ranges. Use when asked to create release notes, summarize milestone PRs, generate changelog, prepare release documentation, request Copilot reviews for PRs, update README for a new release, manage PR milestones, or collect PRs between commits/tags. Supports PR collection by milestone or commit range, milestone assignment, grouping by label, summarization with external contributor attribution, and README version bumping.

537

doc-check

coder

Checks if code changes require documentation updates

427

Search skills

Search the agent skills registry