Show HN: SlopGuard, a GitHub App that quarantines AI slop PRs and issues

blue-b1 pts0 comments

SlopGuard: AI slop PR/Issue guard for maintainers<br>You need SlopGuard if any of this sounds familiar<br>Fake PRs eat your time<br>They look plausible enough to open, then you realize a model made it. Thirty seconds each, a few dozen a week.

Triage never stops<br>Every issue and PR notification means deciding, again, real or slop, one by one.

But you can't just close them<br>Closing on pattern alone eventually burns a real first-time contributor. So you don't.

SlopGuard reads every one and flags the machine-made ones with the reasons, so you review the real ones in a single pass. The decision stays yours.

01live demo<br>You set the threshold<br>Drag the slider to move the slop-score line. PRs reclassify between quarantined and passed in real time.

Drag the thresholdthreshold 50 / 100

quarantined 2passed silently 3<br>PR #218Bump dependencies to latest16pass<br>PR #241Refactor the auth callback43pass<br>#312Feature request, clear repro28pass<br>PR #233Add 12 emoji-headed doc pages79quarantine<br>PR #239Rewrite README (machine-generated)93quarantine<br>At or above the threshold SlopGuard adds a label and a review comment. Below it, it stays silent. You set the line; a human always has the final word.

02what a maintainer sees<br>What a maintainer sees<br>Every contribution gets a 0 to 100 slop score, the reasons behind it, and a provenance trail. SlopGuard labels and comments. You decide.

pull_request #239score 96 / 10096/ 100<br>slopguard botlikely slop<br>Chat-assistant boilerplate phrases (3)<br>Leaked phrase “Certainly! Here is the updated code”<br>Generic auto-generated title, empty description<br>Provenance: prompt fingerprint b01706d4, machine-generated<br>slop-quarantineslop-clearedslopguard-feedback<br>maintainer replies /slop approve, /slop reject, or /slop false-positive

100%<br>precision (golden set)

92%<br>recall, heuristics-only

auto-closed PRs, ever

Source<br>self-host for your own use

03the definition<br>What is AI slop?<br>AI slop is low-effort, machine-generated content pushed to a repo with little or no human review: PRs and issues spun up by an LLM that look plausible but miss the context, add nothing, and mostly exist to farm activity or contribution stats.

# looks legit<br>Looks legit<br>Polished phrasing, a tidy title, a confident summary, and no real grasp of the codebase.<br>~ review time<br>Burns review time<br>A maintainer still has to read it, ask questions, and work out that it goes nowhere.<br>x10 repos<br>Arrives in bulk<br>One prompt becomes ten near-identical PRs across ten projects.

04measured<br>Measured, not hand-waved<br>Every commit re-scores SlopGuard against a hand-labelled golden set of 25 cases, 13 real slop and 12 legit contributions, at the default threshold of 50. Heuristics only, no LLM key. Here is exactly how it did.

Precision100%

Of everything it flagged, all of it was real slop. Zero false alarms.

Recall92%

It caught 12 of the 13 real slop cases.

F196%

Precision and recall combined into one score.

What happened to all 25 cases<br>slop caught 12<br>legit passed 12<br>missed 1<br>false alarm 0<br>24 of 25 correct. The single miss was real slop that slipped through, not a real contributor wrongly flagged. It never once punished a genuine PR.

05by design<br>Built for maintainers<br>Triage help that respects contributors and never goes nuclear.

$ gh app install<br>One-click GitHub App<br>Install on a repo or org in one click. No Action YAML, no CI config, no secrets to wire.

/slop approve<br>Human-in-the-loop<br>Quarantine label and a review comment only. Nothing is closed without an explicit maintainer command.

provenance:<br>Provenance tagging<br>Flags generator hints, a prompt fingerprint, and leaked assistant phrases like “As an AI model”.

SLOP_POLICY.yml<br>Policy-as-code<br>Thresholds, labels, allowlists, and comment templates live in your repo, reviewed like any other change.

if no LLM key:<br>Works without an LLM<br>Heuristics-only mode runs with zero API keys, and still hits 100% precision on the golden set.

db: null<br>No database<br>State lives in GitHub labels and issues. Self-host the entire thing for your own use; the source is available under the Commons Clause.

Filter the noise, keep the real work.<br>SlopGuard only labels and comments. Whether to close is always your call.<br>slopguardMIT licensed0 auto-closed PRs

© 2026 SlopGuardSource-available (Commons Clause). Self-host for your own use.

slop real slopguard review time maintainer

Related Articles