Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Optimize pull requests for quick approval and merging by ensuring clean diffs, comprehensive self-reviews, and structured documentation.
.claude/skills/sickn33-pr-merge-champion/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 85% | 31 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 70% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 31% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 25% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 18% | 0% |
A systematic playbook for preparing, reviewing, and documenting pull requests to ensure they are high-quality, free of common oversights, and optimized for instant maintainer approval and merging.
Before presenting your code to reviewers, clean up any workspace noise and ensure your branch is up to date:
main or master) to resolve conflicts early.Review your own diff line-by-line as if you were the reviewer. Look out for:
console.log, print, breakpoints, or custom debug flags).TODO comments that should be resolved or turned into tracked issues.Verify that all changes work as expected:
Write a high-signal, structured PR description. A great description tells the story of the changes:
markdown# Pull Request: Implement Rate Limiting on Authentication Endpoint ## Summary Introduces an IP-based rate limiter on the `/api/v1/auth/login` endpoint using Redis to prevent brute-force attacks. ## Why We identified a high volume of login attempts targeting single accounts. This rate limiting window slows down attackers while keeping the system responsive for genuine users. ## Verification - Ran unit tests: `npm run test tests/auth.test.js` (all green) - Manually verified using Postman: sending 15 requests in under 60 seconds returns `429 Too Many Requests`. ## Checklist - [x] Code follows the style guide - [x] Unit tests added/updated - [x] Documentation updated
Before committing, run these commands to inspect the diff for accidental additions:
bash# Check the names of files changed to ensure no unwanted files are staged git status --porcelain # Review the actual diff for any leftover print statements or debuggers git diff | grep -E "(console\.log|debugger|print\(|var_dump|binding\.pry)"
CONTRIBUTING.md and pull request templates, and adhere to them strictly.Solution: Always run the repository's local formatter (e.g., Prettier, ESLint, Black) before committing.
Solution: Pull the latest main branch and rebase or merge it into your branch daily.
@pr-writer - For Sentry-specific PR writing guidelines.@clean-code - To ensure code quality before submitting.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 8,134 | 8,686 | +7% | 1 | 1 | 0% | 1,727 | 2,942 | +70% | 0 | 0 | — |
case-02 | pass→pass | 15,549 | 13,033 | -16% | 1 | 1 | 0% | 2,910 | 3,812 | +31% | 0 | 0 | — |
case-03 | fail→pass | 11,806 | 11,212 | -5% | 1 | 1 | 0% | 2,229 | 3,157 | +42% | 0 | 0 | — |
case-04 | pass→pass | 9,628 | 6,490 | -33% | 1 | 1 | 0% | 1,758 | 2,204 | +25% | 0 | 0 | — |
case-05 | pass→pass | 9,728 | 6,141 | -37% | 1 | 1 | 0% | 1,833 | 2,165 | +18% | 0 | 0 | — |
case-06 | pass→pass | 11,396 | 4,833 | -58% | 1 | 1 | 0% | 2,000 | 1,931 | -3% | 0 | 0 | — |
case-07 | pass→pass | 8,797 | 4,088 | -54% | 1 | 1 | 0% | 1,517 | 1,755 | +16% | 0 | 0 | — |
case-08 | pass→pass | 7,498 | 3,857 | -49% | 1 | 1 | 0% | 1,182 | 1,839 | +56% | 0 | 0 | — |
case-09 | pass→pass | 11,088 | 5,471 | -51% | 1 | 1 | 0% | 2,038 | 2,049 | +1% | 0 | 0 | — |
case-10 | pass→pass | 11,252 | 6,907 | -39% | 1 | 1 | 0% | 1,863 | 2,316 | +24% | 0 | 0 | — |
case-11 | pass→pass | 10,302 | 6,480 | -37% | 1 | 1 | 0% | 1,830 | 2,313 | +26% | 0 | 0 | — |
case-12 | pass→pass | 8,878 | 4,975 | -44% | 1 | 1 | 0% | 1,593 | 1,984 | +25% | 0 | 0 | — |
case-13 | pass→pass | 8,201 | 5,169 | -37% | 1 | 1 | 0% | 1,447 | 1,993 | +38% | 0 | 0 | — |
case-14 | pass→pass | 9,705 | 6,044 | -38% | 1 | 1 | 0% | 1,556 | 2,039 | +31% | 0 | 0 | — |
case-15 | pass→pass | 8,094 | 4,410 | -46% | 1 | 1 | 0% | 1,368 | 1,960 | +43% | 0 | 0 | — |
case-16 | pass→pass | 5,282 | 4,073 | -23% | 1 | 1 | 0% | 912 | 1,803 | +98% | 0 | 0 | — |
case-17 | pass→pass | 10,546 | 6,924 | -34% | 1 | 1 | 0% | 1,709 | 2,324 | +36% | 0 | 0 | — |
case-18 | pass→pass | 10,666 | 8,066 | -24% | 1 | 1 | 0% | 1,713 | 2,532 | +48% | 0 | 0 | — |
case-19 | pass→pass | 9,370 | 4,621 | -51% | 1 | 1 | 0% | 1,494 | 1,814 | +21% | 0 | 0 | — |
case-20 | pass→pass | 10,041 | 5,882 | -41% | 1 | 1 | 0% | 1,851 | 2,188 | +18% | 0 | 0 | — |
case-21 | pass→pass | 10,021 | 5,513 | -45% | 1 | 1 | 0% | 1,811 | 2,059 | +14% | 0 | 0 | — |
case-22 | pass→pass | 9,746 | 7,752 | -20% | 1 | 1 | 0% | 1,648 | 2,362 | +43% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.