skills/by-role/engineer/pr-description/SKILL.md
Write a clear pull request description. Use when the user says "write a PR description", "PR template", "pull request description", "how do I describe this change", "commit message for this", "document this change", "open a PR for", or is about to merge code and needs to communicate what changed and why - even if they don't explicitly say "PR description".
npx skillsauth add qa-aman/claude-skills pr-descriptionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Based on "The Pragmatic Programmer" by Hunt & Thomas. Hunt & Thomas: "It's not just code you're writing - it's communication." A PR description is a letter to your reviewers (and to your future self). It should answer: what changed, why it changed, how to verify it, and what to watch out for. A reviewer who has to read all the code to understand the PR is doing your job for you.
Format: [type]: [short description in imperative mood]
Types: feat, fix, refactor, test, chore, docs
Rules:
2-4 sentences. Answer: what does this PR do?
Write for someone who hasn't seen the issue, ticket, or conversation. They should understand the change from this paragraph alone.
Why was this change needed? Link the ticket but don't rely on the link - links rot.
If it's a bug fix: what was broken and what impact did it have? If it's a feature: what user need or business goal does it serve? If it's a refactor: what was wrong with the old approach and what does the new approach enable?
For non-trivial changes: describe the key technical decisions.
Don't explain what the code does (reviewers can read it). Explain what the code does that isn't obvious from reading it.
What did you do to verify this works?
If there are no tests: say why (legacy code, trivial change, etc.).
Before/after screenshots are worth 1000 words. If the change is visual, include them. Always.
## Summary
[2-4 sentences: what this PR does]
## Motivation
[Why this change was needed. Don't rely on the ticket link alone.]
## Approach
[Key technical decisions and why. What's non-obvious about the implementation.]
## Testing
- [ ] Unit tests: [added / updated / not applicable - reason]
- [ ] Manual testing: [steps taken]
- [ ] Environments: [local / staging / production]
## Screenshots (if UI change)
[Before] [After]
## Notes for reviewers
[Areas of concern, known limitations, follow-up work]
1. Title that describes the ticket, not the change Bad: "JIRA-1234 user stuff" Good: "feat: add email verification on user signup"
2. Motivation that just links the ticket Bad: "See JIRA-1234" Good: "Users could sign up with typo'd email addresses and never receive activation emails, causing support tickets. This adds verification before account creation."
3. No testing section Bad: PR with no mention of how it was tested. Good: Even "tested manually by logging in as a new user on staging" is better than nothing.
4. 2000-line PRs Bad: One massive PR with 15 features and 4 bug fixes. Good: PRs should be reviewable in 30 minutes. If it's larger, split it.
development
Plan a webinar end-to-end using April Dunford's Obviously Awesome positioning framework to find the topic angle that makes the webinar obviously valuable to the right audience. Produces topic positioning, abstract, speaker brief, registration page, promotion sequence, day-of run-of-show, and post-webinar follow-up. Use when the user asks to plan a webinar, virtual event, online workshop, "we need a webinar on X", host a webinar, online masterclass, or any live virtual event with promotion and follow-up. Reads ICP, services, and brand voice from knowledge/.
development
Write long-form thought leadership articles, opinion pieces, industry POV essays, and CEO/founder bylines using the Made to Stick SUCCESs framework (Chip and Dan Heath). Use when the user asks for a long-form article, executive byline, opinion piece, industry POV, manifesto, "explain our point of view on X", or wants to publish an authority-building piece (1200-2500 words). Reads brand voice and positioning from knowledge/.
development
Plan a monthly content calendar across channels using the Content Marketing Matrix (Dave Chaffey, Smart Insights) - Entertain/Inspire/Educate/Convince. Every post gets a quadrant label. The monthly calendar must hit 40% Educate, 40% Inspire+Convince, 20% Entertain. Produces a week-by-week posting schedule with topics, formats, channels, and asset links. Use when the user says "content calendar", "social calendar", "plan next month's content", "what should we post", "content plan", "editorial calendar", "schedule posts for the month", or wants a structured posting plan for LinkedIn, Twitter, email, or blog. Reads brand voice, ICP, and past learnings from knowledge/.
development
Write SEO-optimized long-form articles targeting specific keywords using the They Ask You Answer Big 5 framework (Marcus Sheridan). Articles are categorized by Big 5 type (Cost, Problems, Versus, Best/Reviews, How-To) and structured accordingly. The "answer first" rule applies to every article. Use when the user asks for an SEO article, blog post for ranking, "rank for keyword X", organic content, search-optimized post, pillar page, or content for organic traffic. Includes keyword targeting, search intent matching, internal linking suggestions, and meta tags.