---
name: comprehensive-review-pr-enhance
description: >
Generate structured PR descriptions from diffs, add review checklists,
risk assessments, and test coverage summaries. Use when the user says
"write a PR description", "improve this PR", "summarize my changes",
"PR review", "pull request", or asks to document a diff for reviewers.
risk: unknown
source: community
---
# Pull Request Enhancement
## When to Use
- You need to turn a git diff into a reviewer-friendly pull request description.
- You want a PR summary with change categories, risks, testing notes, and a checklist.
- The diff is large enough that reviewers need explicit structure instead of a short ad hoc summary.
## Workflow
1. Run `git diff ...HEAD --stat` to identify changed files and scope
2. Categorise changes: source, test, config, docs, build, styles
3. Generate the PR description using the template below
4. Add a review checklist based on which file categories changed
5. Flag breaking changes, security-sensitive files, or large diffs (>500 lines)
## PR Description Template
```markdown
## Summary
## Changes
| Category | Files | Key change |
|----------|-------|------------|
| source | `src/auth.ts` | added OAuth2 PKCE flow |
| test | `tests/auth.test.ts` | covers token refresh edge case |
| config | `.env.example` | new `OAUTH_CLIENT_ID` var |
## Why
## Testing
- [ ] unit tests pass (`npm test`)
- [ ] manual smoke test on staging
- [ ] no coverage regression
## Risks & Rollback
- **Breaking?** yes / no
- **Rollback**: revert this commit; no migration needed
- **Risk level**: low / medium / high — because ___
```
## Review Checklist Rules
Add checklist sections only when the matching file category appears in the diff:
| File category | Checklist items |
|---------------|----------------|
| source | no debug statements, functions <50 lines, descriptive names, error handling |
| test | meaningful assertions, edge cases, no flaky tests, AAA pattern |
| config | no hardcoded secrets, env vars documented, backwards compatible |
| docs | accurate, examples included, changelog updated |
| security-sensitive (`auth`, `crypto`, `token`, `password` in path) | input validation, no secrets in logs, authz correct |
## Splitting Large PRs
When diff exceeds 20 files or 1000 lines, suggest splitting by feature area:
```
git checkout -b feature/part-1
git cherry-pick
```
## Resources
- `resources/implementation-playbook.md` — Python helpers for automated PR analysis, coverage reports, and risk scoring
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.