Write a clear, structured pull request description
PR Description Writer Skill

Write a clear, structured pull request description from a git diff, branch summary, or commit list. Use when asked to write a PR description, draft a pull request, or document code changes.
--- name: pr-description-writer description: "Write a clear, structured pull request description from a git diff, branch summary, or commit list. Use when asked to write a PR description, draft a pull request, or document code changes. Produces a description with summary, motivation, changes made, testing steps, and reviewer guidance." deprecated: 2026-08-21 supersededBy: pr-description --- # PR Description Writer Skill Writes structured, reviewer-friendly pull request descriptions from a diff, commit list, or informal notes. Covers the what, why, and how-to-review so reviewers can start immediately. ## Required Inputs Ask for these if not provided: - **What changed** (paste a git diff, `git log --oneline`, or describe the changes in plain English) - **Why it was changed** (the problem being solved or feature being added) - **How to test it** (any specific steps a reviewer needs to verify it works) - **Risk level** (low / medium / high — affects how much reviewer guidance to include)
Overview
Writes structured, reviewer-friendly pull request descriptions from a diff, commit list, or informal notes. Covers the what, why, and how-to-review so reviewers can start immediately.
Manual install (npx, ZIP)
npx skills add mohitagw15856/pm-claude-skills --skill pr-description-writer -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/mohitagw15856/pm-claude-skills/tar.gz/f6ca79348c55 \
| tar -xz -C ~/.claude/skills --strip-components=2 pm-claude-skills-f6ca79348c55/skills/pr-description-writerNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/0cb139ad99700bd3c220/pr-description-writer.zip" -OutFile "$env:TEMP\pr-description-writer.zip"; Expand-Archive "$env:TEMP\pr-description-writer.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md6.0 KBreferences/2 files · 9.6 KBtemplates/1 file · 642 B
Read the files here
Show the full text119 lines
PR Description Writer Skill
Writes structured, reviewer-friendly pull request descriptions from a diff, commit list, or informal notes. Covers the what, why, and how-to-review so reviewers can start immediately.
Required Inputs
Ask for these if not provided:
- What changed (paste a git diff,
git log --oneline, or describe the changes in plain English) - Why it was changed (the problem being solved or feature being added)
- How to test it (any specific steps a reviewer needs to verify it works)
- Risk level (low / medium / high — affects how much reviewer guidance to include)
- PR type (feature / bug fix / refactor / dependency upgrade / config change / hotfix)
- Target branch (e.g. main / develop / release/2.4 — affects risk framing and reviewer guidance)
- Linked issue or ticket (e.g. JIRA-1234, GitHub #567 — or "none")
Output Format
Title
A clear, imperative-mood title under 72 characters:
[type]: [concise description of what changed]
Examples:
feat: add rate limiting to the public APIfix: resolve race condition in session expiryrefactor: extract payment logic into PaymentService
Summary
2–3 sentences covering:
- What this PR does (the change)
- Why it was needed (the problem or goal)
- The approach taken (at a high level)
Changes Made
Bullet list of specific changes — one bullet per logical change, not per file:
- Added [X] to handle [Y]
- Refactored [A] to reduce [B]
- Removed [C] as it was replaced by [D]
- Updated [E] to fix [F]
Screenshots / Demo
[If UI change: include before/after screenshots or a screen recording] [If API change: include example request/response] [If no visual change and no API contract change: omit this section entirely — do not leave it as a placeholder]
How to Test
Step-by-step instructions a reviewer can follow:
- [Setup step if needed]
- [Action to take]
- [What to verify]
- [Edge case to check]
Include any specific commands, test data, or environment flags needed.
Testing Checklist
- Unit tests added/updated
- Integration tests added/updated
- Edge cases covered
- Manual testing completed
- No regressions in existing tests
Reviewer Notes
Flag anything that warrants extra attention:
- Areas of uncertainty where a second opinion is welcome
- Deliberate trade-offs made (and why)
- Out-of-scope items noticed but not addressed
- Dependencies on other PRs (link them)
Related
- Closes #[issue number] (if applicable)
- Related to #[PR/issue number]
Deeper Materials
This skill ships with support files — use them when they are available:
references/reviewer-empathy.md— PR Descriptions as Review Navigation. Apply it while producing the output; it carries the calibration and judgment calls the method summary above compresses.templates/pr-template.md— a fill-in version of the deliverable with the quality gates inline. Offer it when the user wants to work the document themselves rather than have it generated.
Scoring Rubric (0–40)
Score any output of this skill before handing it over; 32+ is ship-quality.
| Dimension | 0 | 5 | 10 |
|---|---|---|---|
| Why over what | Description only restates the diff; no motivation given | The what is clear, but the why is thin or generic ("improves the code") | Problem, goal, and approach are explicit; the description adds context the diff cannot convey |
| Title & structure | Single unstructured paragraph; title vague, missing a type prefix, or over 72 characters | Structured with headers, but the title or section usage slips (placeholder sections left in) | Valid type prefix, imperative mood, under 72 characters; sections let a reviewer navigate straight to what they need |
| Testing reproducibility | No testing steps | Steps exist but assume codebase familiarity or skip edge cases | Someone unfamiliar with the code can reproduce verification — commands, test data, flags, and at least one edge case included |
| Risk-calibrated reviewer guidance | High-risk PR with no reviewer notes, or notes that are pure boilerplate | Notes exist but name no specific trade-off, uncertainty, or out-of-scope item | Guidance matches risk: high-risk flags specific concerns and deliberate trade-offs; low-risk keeps notes to one line or omits them |
Quality Checks
- Title is imperative mood and under 72 characters
- Summary explains what AND why (not just what)
- Changes list describes logical changes (not file-by-file changes)
- Title starts with a valid type prefix (feat / fix / refactor / chore / deps / config / hotfix) and is under 72 characters
- Testing steps are reproducible by someone unfamiliar with the code
- For high-risk PRs, Reviewer Notes flags at least one specific area of concern or deliberate trade-off; for low-risk PRs, Reviewer Notes is either omitted or kept to one line
Anti-Patterns
- Do not write a description that only restates what changed — explain why the change was made
- Do not skip the testing steps — reviewers need to know how to verify the change works
- Do not omit the reviewer notes for high-risk PRs — flag deliberate trade-offs and areas needing careful review
- Do not describe implementation details that are obvious from the diff — add context that the diff cannot convey
- Do not produce a single paragraph — structure with headers so reviewers can navigate to what they need
Usage Examples
- "Write a PR description for these changes" + [paste diff or description]
- "Draft a pull request for [feature]"
- "I need a PR description — here's what I changed"
- "Summarise these commits into a PR description"
- "Write the PR body for this branch"
| 1 | |
| 2 | name pr-description-writer |
| 3 | description "Write a clear, structured pull request description from a git diff, branch summary, or commit list. Use when asked to write a PR description, draft a pull request, or document code changes. Produces a description with summary, motivation, changes made, testing steps, and reviewer guidance." |
| 4 | deprecated 2026-08-21 |
| 5 | supersededBy pr-description |
| 6 | |
| 7 | |
| 8 | # PR Description Writer Skill |
| 9 | |
| 10 | Writes structured, reviewer-friendly pull request descriptions from a diff, commit list, or informal notes. Covers the what, why, and how-to-review so reviewers can start immediately. |
| 11 | |
| 12 | ## Required Inputs |
| 13 | |
| 14 | Ask for these if not provided: |
| 15 | **What changed** (paste a git diff, `git log --oneline`, or describe the changes in plain English) |
| 16 | **Why it was changed** (the problem being solved or feature being added) |
| 17 | **How to test it** (any specific steps a reviewer needs to verify it works) |
| 18 | **Risk level** (low / medium / high — affects how much reviewer guidance to include) |
| 19 | **PR type** (feature / bug fix / refactor / dependency upgrade / config change / hotfix) |
| 20 | **Target branch** (e.g. main / develop / release/2.4 — affects risk framing and reviewer guidance) |
| 21 | **Linked issue or ticket** (e.g. JIRA-1234, GitHub #567 — or "none") |
| 22 | |
| 23 | ## Output Format |
| 24 | |
| 25 | ### Title |
| 26 | A clear, imperative-mood title under 72 characters: |
| 27 | `[type]: [concise description of what changed]` |
| 28 | |
| 29 | Examples: |
| 30 | `feat: add rate limiting to the public API` |
| 31 | `fix: resolve race condition in session expiry` |
| 32 | `refactor: extract payment logic into PaymentService` |
| 33 | |
| 34 | ### Summary |
| 35 | 2–3 sentences covering: |
| 36 | What this PR does (the change) |
| 37 | Why it was needed (the problem or goal) |
| 38 | The approach taken (at a high level) |
| 39 | |
| 40 | ### Changes Made |
| 41 | Bullet list of specific changes — one bullet per logical change, not per file: |
| 42 | Added [X] to handle [Y] |
| 43 | Refactored [A] to reduce [B] |
| 44 | Removed [C] as it was replaced by [D] |
| 45 | Updated [E] to fix [F] |
| 46 | |
| 47 | ### Screenshots / Demo |
| 48 | [If UI change: include before/after screenshots or a screen recording] |
| 49 | [If API change: include example request/response] |
| 50 | [If no visual change and no API contract change: omit this section entirely — do not leave it as a placeholder] |
| 51 | |
| 52 | ### How to Test |
| 53 | Step-by-step instructions a reviewer can follow: |
| 54 | [Setup step if needed] |
| 55 | [Action to take] |
| 56 | [What to verify] |
| 57 | [Edge case to check] |
| 58 | |
| 59 | Include any specific commands, test data, or environment flags needed. |
| 60 | |
| 61 | ### Testing Checklist |
| 62 | [ ] Unit tests added/updated |
| 63 | [ ] Integration tests added/updated |
| 64 | [ ] Edge cases covered |
| 65 | [ ] Manual testing completed |
| 66 | [ ] No regressions in existing tests |
| 67 | |
| 68 | ### Reviewer Notes |
| 69 | Flag anything that warrants extra attention: |
| 70 | Areas of uncertainty where a second opinion is welcome |
| 71 | Deliberate trade-offs made (and why) |
| 72 | Out-of-scope items noticed but not addressed |
| 73 | Dependencies on other PRs (link them) |
| 74 | |
| 75 | ### Related |
| 76 | Closes #[issue number] (if applicable) |
| 77 | Related to #[PR/issue number] |
| 78 | |
| 79 | ## Deeper Materials |
| 80 | |
| 81 | This skill ships with support files — use them when they are available: |
| 82 | |
| 83 | **`references/reviewer-empathy.md`** — PR Descriptions as Review Navigation. Apply it while producing the output; it carries the calibration and judgment calls the method summary above compresses. |
| 84 | **`templates/pr-template.md`** — a fill-in version of the deliverable with the quality gates inline. Offer it when the user wants to work the document themselves rather than have it generated. |
| 85 | |
| 86 | ## Scoring Rubric (0–40) |
| 87 | |
| 88 | Score any output of this skill before handing it over; 32+ is ship-quality. |
| 89 | |
| 90 | | Dimension | 0 | 5 | 10 | |
| 91 | |---|---|---|---| |
| 92 | | **Why over what** | Description only restates the diff; no motivation given | The what is clear, but the why is thin or generic ("improves the code") | Problem, goal, and approach are explicit; the description adds context the diff cannot convey | |
| 93 | | **Title & structure** | Single unstructured paragraph; title vague, missing a type prefix, or over 72 characters | Structured with headers, but the title or section usage slips (placeholder sections left in) | Valid type prefix, imperative mood, under 72 characters; sections let a reviewer navigate straight to what they need | |
| 94 | | **Testing reproducibility** | No testing steps | Steps exist but assume codebase familiarity or skip edge cases | Someone unfamiliar with the code can reproduce verification — commands, test data, flags, and at least one edge case included | |
| 95 | | **Risk-calibrated reviewer guidance** | High-risk PR with no reviewer notes, or notes that are pure boilerplate | Notes exist but name no specific trade-off, uncertainty, or out-of-scope item | Guidance matches risk: high-risk flags specific concerns and deliberate trade-offs; low-risk keeps notes to one line or omits them | |
| 96 | |
| 97 | ## Quality Checks |
| 98 | [ ] Title is imperative mood and under 72 characters |
| 99 | [ ] Summary explains what AND why (not just what) |
| 100 | [ ] Changes list describes logical changes (not file-by-file changes) |
| 101 | [ ] Title starts with a valid type prefix (feat / fix / refactor / chore / deps / config / hotfix) and is under 72 characters |
| 102 | [ ] Testing steps are reproducible by someone unfamiliar with the code |
| 103 | [ ] For high-risk PRs, Reviewer Notes flags at least one specific area of concern or deliberate trade-off; for low-risk PRs, Reviewer Notes is either omitted or kept to one line |
| 104 | |
| 105 | ## Anti-Patterns |
| 106 | |
| 107 | [ ] Do not write a description that only restates what changed — explain why the change was made |
| 108 | [ ] Do not skip the testing steps — reviewers need to know how to verify the change works |
| 109 | [ ] Do not omit the reviewer notes for high-risk PRs — flag deliberate trade-offs and areas needing careful review |
| 110 | [ ] Do not describe implementation details that are obvious from the diff — add context that the diff cannot convey |
| 111 | [ ] Do not produce a single paragraph — structure with headers so reviewers can navigate to what they need |
| 112 | |
| 113 | ## Usage Examples |
| 114 | "Write a PR description for these changes" + [paste diff or description] |
| 115 | "Draft a pull request for [feature]" |
| 116 | "I need a PR description — here's what I changed" |
| 117 | "Summarise these commits into a PR description" |
| 118 | "Write the PR body for this branch" |
| 119 |
Details
- Updated
- Sep 23, 2026
- License
- MIT
- Stars on the repo
- ★ 1,395
- Checked
- Source
- mohitagw15856/pm-claude-skills ↗
- Creator
- mohitagw15856 · 193 listings
Made with pr-description-writer


Similar skills
See all →
SkillAutomates CI/CD pipeline setupCI/CD and Automation
SkillAutomated semantic versioning and release workflowVersion Bump & Release Workflow
SkillOperate Orca-managed worktrees, folder contexts, terminalsOrca CLI
SkillThreaded messages, blocking ask/reply, task dispatchOrca Orchestration
SkillDeploy applications and websites to VercelVercel deploy
SkillOpen or update a pull request on pascalorg/editorOpen PRMore from mohitagw15856
SkillDesign a 360-degree feedback survey or write a structured360-Degree Feedback Template Skill
SkillDesign statistically rigorous A/B tests for product featuresA/B Test Planner Skill
SkillGenerate a WCAG 2.2 accessibility audit checklistAccessibility Audit Skill
SkillBuild a structured account plan for any key customerAccount Plan Skill
SkillOptimize an article for Answer Engine Optimization so AIAEO Optimizer Skill
SkillConduct a structured ethical review of an AI or ML featureAI Ethics Review Skill