A reader recognises machine-written prose before they can explain why, and the habits behind that reaction can be written down. Some of them have a spelling, so a list of strings finds them every time. Others have a grammar, so a pattern finds them instead. seodraft turns both kinds into rules that block a draft, and on 2026-09-28 one of our posts passed all of them and was delivered to the repository. Five days later a second tool read the same page and agreed, with no filler and no AI patterns in its count, and still handed back two findings no rule could have made.
What a reader recognises in three seconds
The tics are few and they repeat, which is what makes them catchable. An opener that describes the era we live in before answering anything. A heading whose answer arrives three sentences below it. An affirmation propped up by denying a position nobody held. A bullet list where every item wears a bold label and a colon. A statistic with no owner, offered as proof.
Each one is a way of occupying space that an answer would have filled. That is the working definition this course uses, and it says nothing about who typed the text: a tired human produces the same shapes, and an agent working from a brief and an evidence bank produces none of them.
A tic with a spelling gets a list
The filler rule holds 57 fixed expressions, 27 in Spanish and 30 in English, and a single hit fails the draft in either language. Every entry is a phrase that occupies a sentence without adding a fact, and because each one has an exact spelling, a string comparison finds it with no judgement involved.
The fix is mechanical. Delete the phrase and read the sentence again; if it still stands, you are done, and if it collapses, the sentence was the phrase. The free checker at tools/ai-slop lists the rule with its own before-and-after example, which is the safest place to read the expressions themselves.
A tic with a grammar gets a pattern
Contrastive negation is the most recognisable machine sentence there is, and it has no spelling: it is an affirmation with a negated half stapled on for relief. The rule matches the shape in both languages and in both orders, counts it across the prose, the title, the summary and the headings, and allows one per article. It also catches the version split over two sentences, because an agent told to keep one contrast per article will find the period.
The threshold came from measurement. Across the eleven articles published from this repository the shape appeared between 0 and 5 times each, and eight of the eleven carried two or more. Keeping one is the allowance for the case where it earns its place: a reader who actually believes the negated half, named along with the figure they would quote.
The heading is a promise and the first sentence pays it
Answer-first means the opening sentence under every H2 answers that heading on its own: at least six words, never a question, and never one of the 43 openers that postpone. The six-word floor is what stops a one-word answer from passing, and the blocked openers are the ones that announce a delay instead of delivering.
This rule does double duty. It is the discipline that keeps a section on topic three hours into writing it, and it produces the passage an answer engine can lift out of the page intact. Lesson 12 comes back to the second half of that.
The intro has a job with four parts
An intro runs between 3 and 14 sentences and does four things: previews the answer, proves it with one number or case, previews the structure, then hands over to the first heading. Three is the smallest count those four fit into, and fourteen is where an introduction becomes an article of its own.
The rule reads every prose sentence before the first H2, so a one-line opener fails and a page-long preamble fails too. Writing the answer in the first sentence is also the cheapest fix available for the reader who leaves after four seconds.
What the rules only advise
Four checks observe without blocking: hedging above 8 phrases per 1,000 words, sentence length that barely moves, any paragraph past four sentences, and a bullet list where more than 70% of items wear a bold label. Thin prose under 900 words advises as well. An advisory never changes the verdict, which is deliberate: these are editorial opinions and the writer owns them.
Two more read meaning with a classifier and also advise. One asks whether a contrast denies a position anybody held, and one asks whether the article's figures are first-hand. A draft engineered to pass every deterministic rule on invented statistics scored 0.04 on that second question, where this repository's reference article scores 0.90, which is the gap no string comparison can see.
Our post passed, and two findings were left over
The post went through the rules clean, reached ready, and landed in the blog's repository on 2026-09-28. On 2026-10-03 the claude-seo content command read the published page and counted no filler and no AI patterns, with a keyword density of 0.91, and said in the same breath that its repetition flag came from the full HTML with the navigation included.
Its two real findings were about meaning. The post describes five directories that stopped the team at signup, names four reasons and calls the last one "a fifth separate case", which is correctly written and tells the reader nothing. And the voice changes partway down: the article speaks as "we" and then describes the founder by name in the third person, in a sentence about rewriting 37 tool descriptions.
We acted on the first finding on 2026-10-03. The paragraph now lists the four reasons it can describe, and the empty fifth is gone.
Read it twice before you publish
Run the rules first and fix only what blocks, because the advisories are opinions and the errors are the standard. Then read the draft yourself with two questions in hand: could a reader check this sentence against something, and is this the same person speaking as three paragraphs ago. Those two cover the ground the rules leave open, and they take one pass.
Your next step is the draft you have open: paste it into tools/ai-slop, fix what it names, then read it aloud once for the two questions above. The lesson after this one takes the same post and asks a different question of it, which is where its links point and when the next article is due.