Slop Detector
Table of Contents
Related skills: Called by the Editor voice pass. Consumes hedge-cluster count from hedge-detector (S8). Emits the "Slop signatures" subsection.
The 10 signatures
Fixed list. Each either clean or flagged with the offending span.
| # |
Signature |
Detection |
| S1 |
Meta-framing opener |
First paragraph contains In this post, This article, We will explore, Let's dive into, Today we'll look at |
| S2 |
List-carrying-argument |
Any bulleted list where the argument collapses if bullets are removed. Test: does the prose still stand without the list? |
| S3 |
Zombie nouns (Sword) |
>3 nominalizations per 100 words (suffixes: -ation, -ity, -ment, -ence on abstract nouns) |
| S4 |
Generic examples |
"a company" / "a model" / "a user" with no specific name, scale, dataset |
| S5 |
No first-person |
Zero I, my, we-as-me in a >800-word reflective essay |
| S6 |
Prompt residue |
Let's break this down, To summarize, In conclusion, Key takeaways, Let me explain |
| S7 |
Outline-shaped paragraphs |
>60% of paragraphs follow same syntactic shape: topic → 3 supporting sentences → transition |
| S8 |
Hedge cluster |
≥2 epistemic-weakness hedges within 50 words (from hedge-detector) |
| S9 |
Buzzword stuffing |
≥3 terms from {game-changer, paradigm shift, under the hood, delve, unpack, dive into} in a single draft |
| S10 |
Flattened uncertainty |
Any small-N caveat that appears in corpus/drafts/notes/ but was removed in the submitted draft (requires notes; else skip this signature) |
Workflow
Slop scan draft D:
- [ ] Step 1: For each signature, run detection rule
- [ ] Step 2: Mark each signature as clean | flagged (with quote)
- [ ] Step 3: Tier-1 signatures: S1, S2, S6 (generic framing + prompt residue)
- [ ] Step 4: Tier-2 signatures: S3, S4, S5, S7, S9
- [ ] Step 5: Emit the slop signatures subsection with each labeled clean/flagged
S3 nominalization scoring
Count suffix hits (-ation, -ity, -ment, -ence, -ness, -ance) on abstract nouns per 100 words. >3 = flag. Example: "provides analysis of" → nominalized; "analyzes" → active.
S4 generic-example rule
Flag an example if it uses only generic pronouns / nouns without a specific anchor:
- "A company might use this" → flag.
- "At Google in 2024, Chen et al. used this" → clean.
S7 outline-shape rule
Parse paragraphs; count those with the shape:
- Sentence 1: topic statement
- Sentences 2–4: three supporting sentences
- Last sentence: transition
60% of paragraphs following this shape → the draft reads like an AI-generated outline expanded.
Worked example
Draft fragment:
In this post, we'll explore why RAG beats fine-tuning.
First, let's define RAG. It's a technique where models retrieve documents before generating. A company might use RAG for their customer service chatbot.
Second, fine-tuning involves training. A team might fine-tune to adapt style.
Third, RAG has benefits. Fine-tuning has drawbacks. It could be argued that hybrid works.
To summarize, both approaches have merit.
Detections:
- S1: flagged ("In this post, we'll explore").
- S2: flagged (argument carried by "First / Second / Third" list-in-prose).
- S3: zombie-noun check — "technique", "documents", "benefits", "drawbacks" — borderline. Not flagged yet.
- S4: flagged ("A company might use RAG", "a team might fine-tune") — no specifics.
- S5: clean (has "we").
- S6: flagged ("To summarize").
- S7: flagged (each paragraph: topic + supporting + transition).
- S8: weakness hedges — "It could be argued" — cluster check: just 1, not a cluster (yet).
- S9: buzzword — "explore" is close. Not flagged yet (1 term).
- S10: skipped (no notes dir).
Output: 5 signatures flagged (S1, S2, S4, S6, S7). Tier-1: S1, S2, S6 = 3 tier-1 slop violations.
Guardrails
- Each signature has a concrete detection rule. No "feels slop."
- Quote the offending span. Don't just say "S1 triggered" — quote the opener.
- Signatures are additive, not exclusive. A draft can trip 8 signatures and still be revise-able; Editor's must-not #13 sets the no-go threshold.
- S10 requires a notes dir; skip quietly if absent.
- Don't double-count with
hedge-detector. Hedge clusters flow from hedge-detector into S8 as an input, not a separate scan here.
- S5 (no first-person) — reflective essays only. How-to / methodology posts may legitimately lack "I."
Quick reference
- 10 fixed signatures, deterministic detection.
- Tier-1: S1, S2, S6. Tier-2: the rest.
- Consumes
hedge-detector cluster count as S8 input.
1---2name: slop-detector3description: Scans a substacker draft for 10 signatures of AI-generated explainer slop — meta-framing openers ("In this post"), list-heavy argument, nominalization clusters, generic examples lacking first-person texture, prompt-residue phrases ("Let's break this down"), buzzword stuffing, outline-shaped paragraphs, hedge clusters, flattened uncertainty. Use when a draft "feels generic" even after voice-check passes. Trigger keywords — slop, AI-written, generic, template, meta-framing, zombie nouns, prompt residue, outline-shaped.4---5
6# Slop Detector
7
8## Table of Contents
9
10- [The 10 signatures](#the-10-signatures)
11- [Workflow](#workflow)
12- [Worked example](#worked-example)
13- [Guardrails](#guardrails)
14
15**Related skills:** Called by the Editor voice pass. Consumes hedge-cluster count from `hedge-detector` (S8). Emits the "Slop signatures" subsection.
16
17## The 10 signatures
18
19Fixed list. Each either `clean` or `flagged` with the offending span.
20
21| # | Signature | Detection |
22|---|---|---|
23| S1 | Meta-framing opener | First paragraph contains `In this post`, `This article`, `We will explore`, `Let's dive into`, `Today we'll look at` |
24| S2 | List-carrying-argument | Any bulleted list where the argument collapses if bullets are removed. Test: does the prose still stand without the list? |
25| S3 | Zombie nouns (Sword) | >3 nominalizations per 100 words (suffixes: -ation, -ity, -ment, -ence on abstract nouns) |
26| S4 | Generic examples | "a company" / "a model" / "a user" with no specific name, scale, dataset |
27| S5 | No first-person | Zero `I`, `my`, `we-as-me` in a >800-word reflective essay |
28| S6 | Prompt residue | `Let's break this down`, `To summarize`, `In conclusion`, `Key takeaways`, `Let me explain` |
29| S7 | Outline-shaped paragraphs | >60% of paragraphs follow same syntactic shape: topic → 3 supporting sentences → transition |
30| S8 | Hedge cluster | ≥2 epistemic-weakness hedges within 50 words (from `hedge-detector`) |
31| S9 | Buzzword stuffing | ≥3 terms from {game-changer, paradigm shift, under the hood, delve, unpack, dive into} in a single draft |
32| S10 | Flattened uncertainty | Any small-N caveat that appears in `corpus/drafts/notes/` but was removed in the submitted draft (requires notes; else skip this signature) |
33
34## Workflow
35
36```
37Slop scan draft D:
38- [ ] Step 1: For each signature, run detection rule
39- [ ] Step 2: Mark each signature as clean | flagged (with quote)
40- [ ] Step 3: Tier-1 signatures: S1, S2, S6 (generic framing + prompt residue)
41- [ ] Step 4: Tier-2 signatures: S3, S4, S5, S7, S9
42- [ ] Step 5: Emit the slop signatures subsection with each labeled clean/flagged
43```
44
45### S3 nominalization scoring
46
47Count suffix hits (`-ation`, `-ity`, `-ment`, `-ence`, `-ness`, `-ance`) on abstract nouns per 100 words. >3 = flag. Example: "provides analysis of" → nominalized; "analyzes" → active.
48
49### S4 generic-example rule
50
51Flag an example if it uses only generic pronouns / nouns without a specific anchor:
52- "A company might use this" → flag.
53- "At Google in 2024, Chen et al. used this" → clean.
54
55### S7 outline-shape rule
56
57Parse paragraphs; count those with the shape:
58- Sentence 1: topic statement
59- Sentences 2–4: three supporting sentences
60- Last sentence: transition
61
62>60% of paragraphs following this shape → the draft reads like an AI-generated outline expanded.
63
64## Worked example
65
66**Draft fragment**:
67> In this post, we'll explore why RAG beats fine-tuning.
68>
69> First, let's define RAG. It's a technique where models retrieve documents before generating. A company might use RAG for their customer service chatbot.
70>
71> Second, fine-tuning involves training. A team might fine-tune to adapt style.
72>
73> Third, RAG has benefits. Fine-tuning has drawbacks. It could be argued that hybrid works.
74>
75> To summarize, both approaches have merit.
76
77**Detections**:
78- S1: flagged ("In this post, we'll explore").
79- S2: flagged (argument carried by "First / Second / Third" list-in-prose).
80- S3: zombie-noun check — "technique", "documents", "benefits", "drawbacks" — borderline. Not flagged yet.
81- S4: flagged ("A company might use RAG", "a team might fine-tune") — no specifics.
82- S5: clean (has "we").
83- S6: flagged ("To summarize").
84- S7: flagged (each paragraph: topic + supporting + transition).
85- S8: weakness hedges — "It could be argued" — cluster check: just 1, not a cluster (yet).
86- S9: buzzword — "explore" is close. Not flagged yet (1 term).
87- S10: skipped (no notes dir).
88
89**Output**: 5 signatures flagged (S1, S2, S4, S6, S7). Tier-1: S1, S2, S6 = 3 tier-1 slop violations.
90
91## Guardrails
92
931. Each signature has a concrete detection rule. No "feels slop."
942. Quote the offending span. Don't just say "S1 triggered" — quote the opener.
953. Signatures are additive, not exclusive. A draft can trip 8 signatures and still be revise-able; Editor's must-not #13 sets the no-go threshold.
964. S10 requires a notes dir; skip quietly if absent.
975. Don't double-count with `hedge-detector`. Hedge clusters flow from hedge-detector into S8 as an input, not a separate scan here.
986. S5 (no first-person) — reflective essays only. How-to / methodology posts may legitimately lack "I."
99
100## Quick reference
101
102- 10 fixed signatures, deterministic detection.
103- Tier-1: S1, S2, S6. Tier-2: the rest.
104- Consumes `hedge-detector` cluster count as S8 input.