The first draft of nearly everything I publish comes back with the same three tells. A sentence that sets up a false choice, "it's not X, it's Y," as if the piece needed a magic trick to make its point. A closing line on every section that lands like a punch, until six punches in a row start to feel like nothing landed at all. And somewhere in the middle, a triplet: three short clauses in a row, "it was hard, it was real, it was earned," dressed up as insight and actually just rhythm borrowed from a thousand other drafts that did the same thing.
None of that is a flaw in the tool. It's the tool doing exactly what it was trained to do: reach for the shape that shows up most often in its training data, which is also, unhelpfully, the shape every other AI-assisted post reaches for. The problem was never that the writing was bad. The problem was that it was generic in a specific, nameable way, and I was catching the same specific, nameable problems every single time I opened a draft.
The fight you keep having is a fight you already won once
For a while I did what most people do: I noticed a tell, I told the AI to fix it, it fixed it, and then the same tell showed up in the next draft anyway, because I'd corrected the output and not the instructions. Every session started from zero. I was relitigating the same argument about em-dashes I'd already had a week earlier, and losing a little patience with the whole exercise each time.
The fix wasn't a better prompt. It was refusing to have the argument twice. I sat down once, with a stack of my own drafts and the specific lines I'd cut out of them, and wrote down every tell by name: not "make it sound more human," which means nothing to a model, but the actual phrases, the actual structural habits, listed the way you'd list building code violations. Then I saved it as a standing document my AI reads before it writes anything for me, not something I retype into a chat box every time.
That's the whole trick. Not a smarter prompt. A memory the fight doesn't need to happen inside of anymore.
You don't beat a pattern by asking nicely once. You beat it by writing down the rule so the next draft never gets the chance to break it.
What actually goes on the list
A vague instruction produces a vague correction. "Avoid AI clichés" tells a model nothing it can act on, because from the inside, an AI cliché doesn't look like a cliché. It looks like the most probable next words. The list has to name specifics, or it does nothing.
My list has three sections, and I'll give you the real content of each, because a checklist you can't see is just a claim.
Openers I never allow. "In today's fast-paced world." "Whether you're a beginner or a seasoned pro." "Picture this." "Let's dive in." "Here's the thing." Every one of these is a throat-clear, a sentence that exists to signal that writing is about to happen, rather than to say anything. Cut the throat-clear and the piece has to start with an actual sentence, which is a higher bar than it sounds like.
Phrases I never allow, anywhere in the body. The false-choice construction, "it's not X, it's Y," because it manufactures a conflict that usually wasn't there to begin with. "Game-changer," "level up," "unlock," "the secret to," "the truth is." "At the end of the day." "It is what it is." Words like "resilience," "synergy," and "leverage" used as filler rather than as a real claim about a real mechanism. None of these are wrong in isolation. They're wrong because they're the default, and the default is what every reader has already read a hundred times this month from a hundred other accounts.
Structural habits I watch for, which are harder to name and easier to miss. Every section ending on the same one-line "punch," which reads as rhythm on the first section and as a tic by the fourth. Bolding words mid-sentence for emphasis instead of writing a sentence that doesn't need the crutch. Listicle titles, "7 Ways To," "5 Things You Need," standing in for an actual argument. Em-dashes stacked more than roughly once every couple hundred words, since a device that's genuinely useful in moderation reads as a nervous tic in excess. And the triplet: three short parallel clauses in a row, which lands exactly once per piece and reads as pattern-matching every time after that.
Say that list out loud to a model before it writes a single word, and you've done something a generic "write like a human" instruction can't do: you've given it a set of concrete violations to check its own output against, the same way a building inspector checks a specific list of code sections instead of eyeballing whether a house "feels sturdy."
One sentence, before and after
Abstractions are cheap, so here's an actual sentence a draft handed me before I had the list, and what came out the other side once I ran it through.
Before: "It's not about working harder, it's about building systems that give you real freedom, and honestly, that changes everything." That sentence has three tells in a row: the false-choice construction, "honestly" doing no work, and a closing claim so large it means nothing. It could sit at the bottom of ten thousand other posts unchanged.
After running it through the list, cutting the false choice, cutting the filler, replacing the empty claim with the actual mechanism: "A checklist a cleaner runs before every turnover catches what memory misses on a busy Saturday. That's the whole reason it's worth the ten minutes to write one." Same underlying point. No tells. It only says something because it names a real thing, a cleaner, a turnover, a Saturday, instead of gesturing at "freedom" and hoping the reader fills in the rest.
That's the difference the list is actually chasing. Not smoother sentences. Sentences that commit to something specific enough that a stranger who wasn't there could still picture it.
It isn't only for blog posts
I built the list for daltongoodyear.com first, because that's where the tells bothered me most. A personal brand that reads like everyone else's personal brand has failed at the one job it had. But the same document catches the same problems in an owner email, a proposal, a caption. The tells don't know the difference between a blog post and a text message; they show up wherever a model is filling in the most probable next words instead of your actual ones. Once the list exists, there's no reason to keep it fenced off to one format.
The list is necessary and it is not sufficient
Here's the part that surprised me, because it's the opposite of what I expected going in. A perfectly clean draft, zero forbidden phrases, zero banned openers, not a single stacked em-dash, can still read like nothing. The list catches what's wrong. It does nothing to put in what's right, and what's right is the harder half of the problem.
What's right is specificity that couldn't have come from anywhere else. Not "a tough week," but the actual thing that made it hard, named precisely enough that it couldn't have happened to anyone else's business. Not "I learned resilience," but the actual, unglamorous thing you changed about how you operate afterward. A generic sentence with the AI tells surgically removed is still a generic sentence. It just fools the detector.
So the second half of the system isn't a rule. It's a question I ask about every paragraph before it ships: could this sentence have been written by anyone, about anything, or does it require having actually been the person standing in the weather? If the answer is "anyone," the fix isn't better phrasing. It's a real detail, pulled from an actual memory, because a real detail is the one thing a model can't invent on your behalf without you supplying it first.
That's also, not incidentally, the same test search engines have started running. Google's scaled-content enforcement in 2026 doesn't ask whether a page is well-written. It asks whether the page contains something a hundred other pages on the same topic don't already contain, genuine synthesis, not just clean assembly. A checklist that only strips tells produces clean assembly. A checklist paired with a real detail produces the thing that survives the sweep.
Running the draft through the list, in order
In practice this isn't a single pass. It's a short sequence, and the order matters more than it looks like it should.
First, the model drafts against the full voice document: the list of banned phrases and structures, plus the positive rules about sentence-length variation and where a real detail needs to sit. This is the only step where the model is generating rather than checking, and it produces a draft that's already cleaner than an unguided one, because the rules were front-loaded instead of applied as an afterthought.
Second, a re-read specifically for the structural habits, which are the ones that hide best because no single sentence is wrong. It's the pattern across sentences that's wrong. Read every section ending in isolation, back to back, and ask whether they're all doing the same trick. Count the em-dashes. Look for a word that opens three paragraphs in a row.
Third, the harder pass: the "could anyone have written this" question, section by section, replacing anything that fails with a detail specific enough that it couldn't have come from a different life. This is the step people skip, because it takes longer and it can't be automated away. It requires actually knowing the true version of the thing you're writing about.
One draft, one real iteration against the list, and ship it. Not six versions chasing a feeling. The list exists precisely so you don't have to chase a feeling: you check specific, nameable things, fix what fails, and stop.
Why writing the rules down beats prompting well
The distinction that actually matters isn't AI-assisted versus not. Almost everything worth reading right now involves a tool somewhere in the process, and pretending otherwise is its own kind of dishonesty. The distinction is whether a real editorial standard existed before the model touched the draft, or whether the standard is whatever the model produced on the first try.
A good prompt, typed fresh each time, is a request. A written standard, saved once and applied every time, is closer to an actual style guide, the kind a publication hands a new writer on day one, except this one gets checked automatically instead of relying on an editor's memory. The output looks similar either way, right up until the tenth post, when the prompted version has drifted back toward the model's defaults and the standard-based version hasn't moved, because the standard was never sitting in short-term memory to begin with.
This is also, unglamorously, the same principle behind every other system I run. A pricing decision made once and encoded into a rule beats reasoning through it fresh every week. A checklist a cleaner runs before every turnover beats trusting memory on a busy Saturday. Writing quality isn't a special case that only responds to talent and vibes. It responds to the same thing everything else responds to: a standard you write down once, so you stop spending willpower re-deciding it.
What this doesn't solve
I want to be straight about the edges of this, because a checklist that claims to solve everything is itself exactly the kind of overclaim the list is designed to strip out. A clean list produces clean prose. It does not produce a good argument, a real insight, or a reason for the piece to exist in the first place. That part is still entirely on you, and it should be, because that's the part actually worth reading for.
It also isn't a permanent fix. Models change. The defaults that felt fresh a year ago read as tired now, and the list needs a real editor's ear checking it every few months against what's actually gone stale, not a one-time document you write and forget. Treat it the way you'd treat any standing procedure: built once, revisited on a schedule, not bolted on and abandoned.
None of this required a better model or a cleverer prompt. It required sitting down once with my own bad drafts, writing down exactly what was wrong with them in language specific enough to act on, and refusing to have the same argument twice. The list doesn't make the writing good. It just gets the noise out of the way so the actual thing, the real detail, the earned conclusion, the sentence that could only have come from having lived it, has room to be the part anyone notices.
If you're rebuilding this same list from scratch every time you open a chat window, you're doing the hardest part of the work over and over for no reason. I put the full version into the Voice Guardrails Pack: the complete phrase list, the structural checklist, aitell.py — the scanner that scores a draft against these exact tells instead of just checking for banned words — and a worked example showing a raw AI draft next to the same piece after running the list against it. Checkout isn't live yet. Leave your email below and I'll send the link the day it is.
Anything here about money or results describes my own companies. It isn't typical and isn't a promise of yours. See the earnings disclaimer.
DG
Dalton Goodyear
Operator, writer and speaker in Sheridan, Wyoming. Hosting short-term rentals since 2017. Licensed Wyoming real estate broker and founder of Wyo Stays.