My copy passed every check. It still read cold.
I have a script that checks my copy for clichés. Another for clarity. One for spam words, one for CTA strength, one for compliance claims. By August there were six.
Every draft shipped passed all six.
Then I read one of my own articles back and felt nothing.
It was correct. It was clear. It scored well. And it read like a memo from a company, not a message from a person. I could not say what was wrong with it. That is the part that bothered me.
The belief I had to lose
Here is the sentence I had been operating on for months.
If it passes the checks, it is good.
That belief is why cold copy kept going out. The checks measured hygiene. Jargon. Spam triggers. Reading grade. Banned claims. Not one of them measured whether a piece sounded like a person talking to you.
I tried the usual fixes. Read it aloud. Sleep on it, read it again in the morning. Send it to someone and ask if it sounds like me. Every one of those gives you an opinion. Opinions do not survive contact with a deadline.
What I found when I finally measured it
In August I was writing a launch article for another skill. The draft was fine. I was reasonably happy with it.
Before publishing, I did something new. I counted.
Four numbers, on the draft about to ship:
17 em-dashes
16.8 first-person words per thousand
11.1 second-person words per thousand
13.4 words per sentence
Then the same material, rewritten as a story:
0 em-dashes
39.8 first-person words per thousand
26.8 second-person words per thousand
9.9 words per sentence
Same facts. Same product. Same author. The second one is the one people finished.

That is the epiphany. It fits in a line.
A story and an explainer are two different registers. The difference between them is measurable.
For years "does this move me" felt like a taste question. It is a counting question.
The vehicle
So I built the counter myself. It ships in @di-atomic/copy-engine 0.6.0 as verify-narrative-voice. It is the seventh script in the skill.
It reads a draft. It strips the code blocks first, so your examples do not pollute the measurement. Then it prints four bars, each with a PASS or a FAIL.
It runs in two modes, because an explainer is allowed to be an explainer. Story mode wants zero em-dashes. Thirty to fifty first-person per thousand. Fifteen to thirty second-person. Sentences between eight and eleven words.
Those bars are not my taste. They come from a corpus of 83 high-performing LinkedIn posts, and from the measured targets already sitting in my brand voice file.
The method behind the numbers
A gate that says your draft is cold is half a tool. You also need to know what to write instead.
That part I did not invent.
Russell Brunson's Epiphany Bridge Script is five phases and fourteen questions. It is in Expert Secrets, pages 213 to 222. It now ships in copy-engine as an installable registry item, questions intact, page numbers attached.

Next to it sits the Hero's Two Journeys, from Michael Hauge and Christopher Vogler. Same book, pages 197 to 211. It explains why the last two questions are two questions and not one.
Question thirteen asks what you achieved. Question fourteen asks who you became.

Almost every launch post stops at thirteen. That is why they read like brags.
Three questions do most of the work. The internal struggle you would rather not admit. The villain, which is nearly always a false belief and not a person. And the vehicle, which you have to explain rather than tease.
One rule made it into the recipe. Never invent the results. If you cannot give a real number for what the framework did, write the piece without that section and say it is missing. A reader who checks one number and finds it hollow will not check a second.
What you get
Ask copy-engine for your founder story, your launch article, or the piece that has to make somebody feel something before it explains anything.
You get the fourteen questions, put to you in your own words. A draft built on the five phases. And four numbers telling you whether what came out reads like a story or like a memo.
You also get the honest gaps. Any question left unanswered comes back listed, not filled in.
The skill is guidance-only. No API to call. No service to go down. Your agent reads it and does the work, and the scripts keep it honest.
What actually changed
A year ago this piece would end with a line about how much better my copy is now.
That is not what changed.
What changed is that I stopped trusting my ear. The first draft still gets written by feel, the way it always did. Then four numbers run over it. Roughly half the time they catch something my ear missed completely.
Drafts I was ready to bin got kept. Drafts I was proud of got rewritten. I run the numbers on everything now, before anything ships.
I am a worse judge of my own writing than I thought. Finding that out was worth more than the script.
Get @di-atomic/copy-engine free on the OPVS marketplace.