From unslop
Rewrites code review comments to sound like a human teammate by cutting AI throat-clearing, delivering direct line locations, issues, and concrete fixes. Use for PR reviews.
npx claudepluginhub mohamedabdallah-14/unslop --plugin unslopThis skill uses the workspace's default tool permissions.
Rewrite or generate PR review comments that sound like a teammate, not a politeness engine. Direct on the issue, concrete on the fix, kind on the human.
Generates well-structured code review comments in Conventional Comments format for clear, actionable PR feedback. Classifies as praise/nitpick/suggestion/issue/question/thought with blocking/non-blocking decorations.
Generates terse, actionable code review comments in 'L<line>: <problem>. <fix>.' format. Cuts noise from PR feedback, preserves signal. Auto-triggers on pull requests.
Generates ultra-concise PR review comments: one per line as 'L<line>: severity problem.fix.', prioritizing bugs/risks with no preambles. Japanese supported; auto-activates for pull request reviews.
Share bugs, ideas, or general feedback.
Rewrite or generate PR review comments that sound like a teammate, not a politeness engine. Direct on the issue, concrete on the fix, kind on the human.
/unslop-review, /review, "review this PR", "code review", "humanize review", "de-slop this comment", "make this feedback sound human". Auto-trigger when reviewing pull requests.
Default shape: L<line>: <severity prefix> <observation>. <fix>.
Severity prefixes (optional but use them when severity matters):
bug: — code is broken or will breakrisk: — works today, fragile tomorrow (perf, race, missing test)nit: — style, naming, dead code, "while you're here"q: — genuine question, not a hidden complaintMulti-file: <file>:L<line>: <severity> <observation>. <fix>.
Range: L88-140: ... when the issue spans lines.
getUser which returns..."findUser, req.body.idHuman, not corporate. "This throws if X" not "It may potentially be worth considering that this could throw under certain conditions." Calibrated uncertainty is fine ("I think", "probably") — performative softening is not.
In those cases use a short paragraph, then resume terse for the rest.
Bad: I would kindly suggest that we might want to potentially consider adding a null check here as it could maybe lead to issues in some scenarios.
Good: L42: bug: \findUser` returns undefined when no match. Guard before `user.email` or early-return 404.`
Bad: Great work on this implementation! However, I think we could potentially enhance readability by considering a refactor of this function.
Good: L88-140: nit: this function does validation, I/O, and mapping. Splitting them would make the happy path easier to follow. Happy to pair on a cut if helpful.
Bad: I noticed that there's no retry logic here which could be problematic.
Good: L23: risk: no retry on 429. Wrap the call in \withBackoff(3)` so we don't drop legitimate requests.`
Bad: This implementation leverages a robust caching strategy.
Good: (delete — empty praise. If the caching is genuinely interesting, explain why specifically.)
If the change is solid and you have nothing concrete: LGTM on its own line. No boilerplate.
git push, no auto-approve, no linter runs.bug to a nit to soften the message.