Write without AI slop, and let a rule prove it

AI slop is writing with the shape of an answer and none of the content: an opener about the era we live in, a heading answered three sentences late, a figure with no owner. Each of those habits has a spelling or a grammar, which is why a deterministic rule can block a draft that carries one. Our own post passed every rule, and two findings a machine could not make were still waiting for a human: one vague phrase and a voice that changed halfway through.

Module 4 · 9 of 13 · 16 min

This course is independent. It has no affiliation with Anthropic or with AgriciDaniel, who writes claude-seo, and nobody on their side reviewed it. Run with claude-seo v2.4.1 on 2026-10-03.

What you will be able to do

  • Name the habits a deterministic rule can catch and the ones it cannot.
  • Read a rules verdict by severity and fix the findings that block the draft.
  • Run the two checks a human still owns: can the reader verify this, and is it one voice.

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.

Steps

  1. Step 1

    seodraft

    Read the verdict by severity

    The gate returns two layers in one list. The package rules measure shape: lengths, headings, internal links, placeholders, cannibalization. The editorial rules measure the standard: a 3-to-14-sentence intro, every H2 opening with its answer, a bilingual blacklist of 57 filler phrases, one contrastive negation per article, no generic closing heading. Errors block the article and advisories never do, so sort the list before you touch anything.

    Run run_gate on this draft and list every finding by rule and severity.

    What you should see

    Rules named one by one with the sentence each one found. Our post came back with `lastGateOk: true`, which is what let it reach `ready` and be delivered to the repository on 2026-09-28.

  2. Step 2

    claude-seo

    Ask a second tool the same question

    A second reader with different rules is the cheapest audit you can run on your own standard. This command scores the page and counts the tics on its own list, so agreement between the two tools means the habits with a spelling are gone, and a finding only one of them makes is the interesting one.

    /seo content https://your-site.com/blog/your-post

    What you should see

    Counts and a scope line. Ours reported no filler and no AI patterns on a post the gate had already passed, with a keyword density of 0.91. Its repetition flag came from the full HTML with the navigation included, which the report says in the same paragraph.

  3. Step 3

    claude-seo

    Hunt the sentences nobody can verify

    Vagueness has no spelling, so no blacklist reaches it. The question that does is whether a reader could disagree with the sentence using evidence. Run it over your own draft after the rules are green, because this is the finding the tools leave for you.

    List every sentence in this post a reader could not check: no number, no name, no date. Quote each one.

    What you should see

    A short list of quotes. Ours found the phrase "a fifth separate case" in a paragraph that counts five directories and names four reasons, and asked for the five names. The report also caught the article switching from "we" to the founder's name in the third person halfway down.

  4. Step 4

    seodraft

    Rewrite, save with the version, run again

    Every fix is a rewrite of one sentence, so work finding by finding. Delete the filler phrase and read the sentence again; if it collapses, delete the sentence. Give the vague phrase its names and numbers. Saving carries the version you read, so a stale write is rejected instead of overwriting somebody else's edit.

    Rewrite the sentences the findings named, save with upsert_post and the version you read, then run run_gate again.

    What you should see

    A shorter list on the second run, and the same verdict every time for the same text. The rules are deterministic, so a draft that passes today passes tomorrow, and two redrafts that still fail are a countable outcome.

Checklist

Tick every line and the lesson marks itself as completed.

Checkpoint

Your draft passes every rule and still reads like a machine wrote it. What did the rules miss?Show the answer

Meaning, which is where the rules stop by design. A deterministic rule reaches a habit that has a spelling, such as a phrase on a blacklist, or a grammar, such as an affirmation with a negated half stapled to it. Vagueness has neither: "a fifth separate case" is correctly spelled, correctly placed and empty. Voice has neither either, which is how an article can switch from the company to the founder's name in the third person halfway down and pass. Both findings on our post came from a reader asking what a sentence lets anybody check.

Does the standard ask you to delete every sentence built as an affirmation with a negated half?Show the answer

One per article is allowed, and the one you keep has to deny something a reader actually believes. The rule counts the shape across the prose, the title, the summary and the headings, in both languages and in both orders, including the version split over two sentences. Where it fires, the fix is to delete the negated half and read what is left: if the shorter sentence says the same thing, the half was decoration. Where a real belief is being corrected, name who holds it and the figure they would quote, which turns the contrast into information.

What this lesson said

  • A tic with a spelling gets a list, and a tic with a grammar gets a pattern: that is the whole reach of a deterministic rule.
  • The editorial rules block on a 3-to-14-sentence intro, answer-first H2s, 57 filler phrases, more than one contrastive negation and a generic closing heading.
  • Our post passed the rules, and a second tool read it the same way: no filler and no AI patterns.
  • The two findings left were a vague phrase and a voice that changed from the company to the founder's name halfway down.
  • Rhythm, paragraph length, hedging and bold-label lists only advise, so they never block a draft that earned its shape.

Questions

What is AI slop?
AI slop is text with the shape of an answer and none of the substance, produced by the habits a language model falls into when nobody gives it material. The recognisable ones are an opener that sets a scene instead of answering, a heading whose answer arrives three sentences late, an affirmation propped up by denying something nobody said, a bullet list where every item wears a bold label, and statistics with no owner. seodraft turns each into a rule, and /tools/ai-slop runs the same checks on any text you paste.
Can a rule tell whether a text was written by AI?
No, and the rules are built to answer a different question: whether this text carries habits that make it useless to a reader. A human in a hurry produces the same openers and the same ownerless figures, and a careful agent given a brief and an evidence bank produces neither. Our own post was drafted by an agent and came back with no filler and no AI patterns from an independent tool. Judge the text in front of you, because that is the only thing a reader will judge.
Which of these checks can I run without installing anything?
All the deterministic ones, from the browser, at /tools/ai-slop. The page documents each rule with its definition, the measurement behind it, the fix, and a sentence before and after, and it reads any text you paste against the same lists the gate uses. Two of the checks on that page read meaning with a classifier and only advise: whether a contrast denies a position anybody held, and whether the figures are first-hand. Advisories never block an article, by design.

Next lesson

Internal links and the calendar

Link a new article into the ones you already published, and put the next four weeks on a calendar you can keep.

The same lesson, as plain Markdown: /learn/claude-seo/write-without-ai-slop.md

Back to the course