| name | slop-detection | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| description | Full Slop Detection Criteria v2.0: 24-criteria scoring system for detecting AI-generated long-form content. | ||||||||||
| version | 2.0.0 | ||||||||||
| author | User | ||||||||||
| license | private | ||||||||||
| metadata |
|
Complete 24-criteria system for detecting AI-generated content. Use for long-form articles. For short quotes, use the quote-specific 10-criteria version if available.
Max score: 126 pts (criteria 1-24) Threshold: ≥50 pts = probable slop
- 0: Clear thesis, personal opinion, stake
- 3: Has position but vague
- 6: "About everything and nothing", no conflict
- 0: Emotions, humor, doubts, anger
- 2: Some liveliness
- 4: Corporate memo without soul
- 0: "My stack", "my mistake", "I would do"
- 2: Hints at personal experience
- 4: Abstract advice without ownership
- 0: Diverse structure
- 3: Partially templated
- 5: Every section = intro → bullets → conclusion
- 0: Lists on point, unique items
- 2: Some items interchangeable
- 4: "10 ways..." where all items are filler
- 0: Focus on specific aspect
- 3: Broad but has depth
- 5: "Covers topic completely" like textbook summary
- 0: Numbers, examples, links
- 3: Some specifics but few
- 6: "Important", "key", "effective" without proof
- 0: Dates, versions, PR, issue, commit, configs
- 4: Partially verifiable
- 7: No dates, names, versions, reproduction steps
- 0: What broke, where stuck, surprises
- 3: Some process details
- 5: Everything smooth, no problems
- 0: Exceptions, nuances, "but if..."
- 3: Some caveats
- 5: Only "universal advice"
- 0: RFC, PR, issue, commit, specific guides
- 3: Mix of useful and basic links
- 5: Wikipedia, general guides, nothing specific
- 0: "Depends on...", "in context X..."
- 3: Some caveats but few
- 5: "Always do X" without context
- 0: Real cases with implementation details
- 3: Examples exist but no how
- 5: "Company X increased by 300%" - source?
- 0: "We did A → got B → because of C"
- 3: Some connections but not everywhere
- 6: "Because it's important" without explanation
- 0: Diverse language
- 2: Some repetition
- 4: "Ultimately", "it's worth noting" constantly
- 0: Metaphors explain
- 2: Some decoration
- 3: "Like an orchestra", "like a bridge" - empty
- 0: Terms on point
- 3: Sometimes decorative
- 5: Terms as decoration, not by meaning
- 0: Smooth progression
- 2: Some jumps
- 4: Kindergarten then advanced without connection
- 0: Has doubts, "I was wrong", opinion change
- 2: Mostly linear
- 4: No contradictions, perfect logic
- 0: Specific actionable conclusions
- 2: Partially useful
- 4: "Use best practices and be consistent"
- 0: No product mentions, no CTAs
- 4: Subtle product mention
- 8: Heavy self-promotion, signup CTAs
- -3: Links to primary sources (bonus)
- 0: Normal attribution
- +7: No sources, claims without backing
- -7: Clear personal experience ("I built", "my project") — BONUS
- 0: Neutral
- +3: Pretends to personal experience without specifics
Formula: Density = (entities + numbers + dates + citations) / words × 1000
| Density | Score |
|---|---|
| ≥15 | 0 (many facts) |
| 10-14 | 1 |
| 5-9 | 2 |
| 2-4 | 3 |
| <2 | 4 (pure filler) |
Additional penalties (up to +2):
- Water words ("basically", "essentially"): +0.5 per 5
- Code ratio <10% in tech articles: +1
- Idea repetition 3+ times: +1
| Score | Verdict | Weight Modifier |
|---|---|---|
| 0-20 | clean | 1.0 |
| 21-35 | good | 1.0 |
| 36-50 | acceptable | 0.7 |
| 51-70 | probable_slop | 0.3 |
| 71+ | obvious_slop | 0.1 |
Red flags (3+ = probable slop):
- No author name or personal details
- Structure: intro → bullets → conclusion everywhere
- "10 ways/5 reasons/7 steps"
- No dates, versions, specific links
- "Important to understand", "key point" without proof
- Perfect logic without "but", "although", "however"
- Ending: "in conclusion, use best practices"
"essentially" "it's important to note" "in conclusion" "at the end of the day" "a myriad of" "navigate the landscape" "unlock the potential" "in today's fast-paced world" "game-changer" "deep dive" "leverage" "synergy" "holistic approach"
"в конечном итоге" "стоит отметить" "на самом деле" (overused) "важно понимать" "ключевой момент" "безусловно" "в целом и общем" "не лишним будет" "нельзя не отметить" "это позволяет" "данный подход" "магический" / "магия" when used as a vague explainer word, e.g. "магический датасет" — AI slop unless the topic is literally magic/fantasy.
- Explaining basic terms the user did not ask to define after they signal familiarity (e.g. defining LLM/lemma/Lean when the question is about paper insight).
- Dumping niche technical terms before the reader has the problem frame; if the term needs paragraphs of setup, it is probably the wrong point for a short answer.
- Answering “what did the authors find interesting?” with the assistant's own generalized taxonomy instead of author-highlighted claims.
- Apology + long rewrite after a “too much slop” correction. The fix is a shorter answer from scratch, not meta-commentary.
- During iterative editing, rewriting the whole draft or adding new concepts when the user requested a narrow sentence/paragraph change is slop. Preserve the current draft and patch only the requested span.
- Removing necessary grounding while simplifying is slop: e.g., keeping “score/rating” but deleting the sentence that says Gemini Flash raters produced the score.
- Apology + long rewrite after a “too much slop” correction. The fix is a shorter answer from scratch, not meta-commentary.
- Full-post rewrites after the user asked for a local edit. If the user says “replace this paragraph,” “remove this sentence,” or “rewrite only this,” changing surrounding accepted text is slop.
- Mechanical punctuation substitutions after style feedback. Example: replacing em-dashes with commas without repairing sentence structure.
The contrast template не X, а Y / не ..., а ... is a high-strength slop signal in polished explanatory posts and publishable drafts for Алексей. It is often a tidy AI-scaffolding move rather than the author's real phrasing. Treat it as a rewrite trigger unless the user explicitly wrote that construction or the contrast is technically unavoidable and corrects a real, already-salient misconception.
Unmotivated negative framing: do not start an explanation with не X if X is not a real baseline for the reader. Negation works only when the reader could actually expect X: standard practice, common misconception, or an explicitly discussed alternative. Otherwise it reads as artificial contrast. Check: before не X, ask “is this a standard method, common expectation, or already discussed alternative?” If not, write the positive action directly.
Examples:
- Bad:
Они не сделали сложную систему правил.Better:Они использовали один скоринг и порог. - Bad:
Модель не просто запоминала ответы.Better:Авторы проверили contamination через n-gram overlap. - OK:
Они не обучали модель на случайном web-corpus, а взяли task-formatted датасеты.This is OK only when the surrounding context makes raw web pretraining a real expected baseline, so the negation corrects a likely reader expectation rather than inventing a contrast.
Arrow-chain schemes like idea → formalization → error → retry are also a medium-strength slop signal in prose posts. They often replace actual explanation with cave-wall diagramming. Use normal sentences unless the user explicitly asks for a diagram, flowchart, or compact process notation.
Compact technical schemas like instruction → response, audio → ASR → LLM, or X-to-Y pipeline are also slop in Алексей's publishable posts unless he explicitly asks for a schema. Write the mechanism in prose instead.
Label-colon paragraph openings are a high-strength slop signal in Russian publishable prose: do not start paragraphs with X: <explanation> or Label: sentence, especially when several paragraphs repeat this pattern. This is not natural embedded Russian prose; it reads like an AI-generated outline converted into paragraphs. Treat it as a rewrite trigger unless the user explicitly asks for notes, a checklist, or labeled fields. Write the sentence normally instead.
Bad examples from a failed FrontierCode draft:
Новизна в проверке. В SWE-Bench обычно смотрят...Better:Главная новизна FrontierCode — способ проверки решения.Базовые проверки стандартные: тесты, build, lint, typecheck, style-checks.Better:Сначала запускались стандартные проверки: тесты, build, lint, typecheck и style-checks.Пример: в jsonschema надо было заменить warning-вывод...Better:В задаче из jsonschema агент должен был заменить warning-вывод на общий LOG_WARNING().
Summary-tail slop: do not end a post with an artificial one-line conclusion such as получается важный сдвиг, главная мысль, короче, итог, or это значит, что... when the sentence only restates the post. A publishable ending can be a concrete fact, consequence, or author position, but not a school-summary tail. Bad: Получается важный сдвиг: pretrain теперь доступен маленьким командам. Better: Несколько лет назад такой эксперимент выглядел бы как проект лаборатории, а сейчас это бюджет пары арендованных серверов.
| Content Type | Criteria Set | Max Score |
|---|---|---|
| Short quotes (1-5 sentences) | 10 quote criteria (SKILL.md) | 38 |
| Long-form articles, blog posts | Full 24 criteria | 126 |
| Product descriptions | Full criteria, emphasize #21 | 126 |
| Technical docs | Full criteria, lower #3/#20 weight | 126 |