| name | pr-writer |
| description | Generate comprehensive pull request descriptions with summary, context, testing plan, and review guidance |
| layer | utility |
| category | developer-workflow |
| triggers | ["write PR","PR description","pull request","create PR","describe this PR"] |
| inputs | ["Branch diff (commits, changed files)","Related issue or ticket","Context about the change","Team conventions for PR format"] |
| outputs | ["Formatted PR title","Structured PR description with summary, context, changes, testing, and screenshots","Review checklist","Deployment notes if applicable"] |
| linksTo | ["commit-crafter","changelog-writer","code-review","git-workflow"] |
| linkedFrom | ["ship","git-workflow"] |
| preferredNextSkills | ["code-review","ship"] |
| fallbackSkills | ["docs-writer"] |
| riskLevel | low |
| memoryReadPolicy | selective |
| memoryWritePolicy | selective |
| sideEffects | [] |
PR Writer Skill
Purpose
Write pull request descriptions that enable efficient, thorough code review. A well-written PR saves reviewers time, reduces back-and-forth, and creates a permanent record of why changes were made. The PR description is not for you (you know what you did) — it is for everyone else.
Key Concepts
The PR Contract
A pull request communicates:
- What changed (summary)
- Why it changed (motivation/context)
- How it changed (implementation approach)
- How to verify it works (testing plan)
- What could go wrong (risk assessment)
PR Size Guidelines
| Size | Files Changed | Lines Changed | Review Time |
|---|
| XS | 1-2 | < 50 | 5 min |
| S | 3-5 | 50-200 | 15 min |
| M | 5-10 | 200-500 | 30 min |
| L | 10-20 | 500-1000 | 1 hour |
| XL | 20+ | 1000+ | Split this PR |
Target: Small PRs (S-M). Large PRs get superficial reviews.
Workflow
Step 1: Analyze the Branch
Gather information:
git log main..HEAD --oneline
git diff main..HEAD --stat
git diff main..HEAD
gh issue view <number>
Step 2: Write the Title
Format: <type>: <concise description> (#issue)
Rules:
- Under 70 characters
- Imperative mood
- No period at end
- Include issue number if applicable
Good:
feat: add CSV export for transaction history (#312)
fix: prevent duplicate charges on double-click (#234)
refactor: extract auth middleware into separate package
Bad:
Updated the code
Fix
WIP: working on the new feature
Implementing the new user registration system with email verification
Step 3: Write the Description
Standard PR Template