The em dash was never the problem. Here’s the half nobody fixes.
I opened our customer-facing docs last week and knew within four sentences that nobody had written them. Not „suspected.“ Knew. There was a heading called „Understanding the Landscape,“ a paragraph about how the feature „serves as a cornerstone,“ and three bullet points that were obviously three because three is what the model reaches for when it has two ideas.
That is public documentation. That is the thing a paying customer reads before deciding whether we’re serious. And it reads like a press release from a company that folded in 2019.
Everyone blames the em dash. If that were the whole game, the fix would be a regex and we could all go home. So strip every em dash out of a generated paragraph and read it again. Still obviously fake.
The em dash was never the tell. It’s a genuinely good piece of punctuation, and used well it’s elegant. The problem is that almost nobody knows when it earns its place, so the model, which has read every well-edited essay ever published, deploys it with no sense of budget. Eleven em dashes in a 600-word doc isn’t AI. It’s a person who never made a punctuation decision in their life.
That’s the tell. Not any single pattern. The absence of choices.
And here’s the part that took me longer to work out. Removing the patterns doesn’t fix it either. You end up with prose that’s clean, correct, and completely voiceless, which is its own kind of obvious.
what they actually handed me
The docs were just where I finally noticed. It had been creeping through everything for months. A colleague leaves a PR review that opens with „Great work on this implementation!“ and closes with „Let me know if you’d like me to elaborate on any of these points!“ and in between there are two actual observations wearing a costume made of six paragraphs. An architecture doc, the artifact that’s supposed to encode a decision somebody agonized over, explains for four paragraphs that microservices offer flexibility while introducing operational complexity. Thanks. Groundbreaking.
Then chat messages. That’s when I started losing it. If you’re going to run a Slack message through a model before sending it to me, at some point just give me the model’s phone number and cut out the middleman. I can talk to a chatbot directly. I don’t need a human proxy in the loop adding latency.
I sat with the anger for a while because it felt disproportionate. It’s just text. Who cares.
But I know what it is now. When someone hands me a generated doc, the message underneath is that they didn’t think about this and they’d like me to think about it for them. All the effort got moved. It’s now my job to read four paragraphs and extract the two sentences that were the actual point, work the writer skipped by pasting keywords into a box.
And I want to be careful here, because I’m not anti-AI-in-writing at all. I’m not a native English speaker. Half the sentences I write are structurally understandable and grammatically a little off, and having a model clean that up is genuinely great. That’s not slop. That’s editing. The thought was mine, the shape was mine, the model fixed my prepositions.
The line is whether a human formed the thought. Reformulating your thinking is fine. Generating thinking from three keywords is the thing we’re all calling slop, correctly.
„write like a person“ is a wish, not an instruction
So if the problem is a missing decision, can you just tell the model to make decisions?
For a long time that was my approach, yelling at the agent in my CLAUDE.md. Never use em dashes. Vary sentence length. Write like a person. Sound like these examples.
It sort of worked. The em dashes went away. Everything else stayed exactly as bland as before, because „write like a person“ is not an instruction, it’s a wish. The model has no idea what you mean. You may as well tell a compiler to be tasteful.
thirty-one rules, and why tedious is the feature
Then I found the unslop skill in Cursor’s pstack plugins. Thirty-one numbered rules. What makes it work is that it’s specific to the point of being tedious, and tedious is exactly what a model can execute.
Rule 8 kills the fancy ways to say „is“: serve as, stand as, boast, feature. Which means the sentence that started this whole article, the feature that „serves as a cornerstone of our platform,“ comes back as the feature „is the core of our platform.“ Same claim, four fewer words, and now it sounds like somebody chose it. That’s the entire mechanism, applied thirty-one times.
The rest goes after „not just X, but Y,“ the rule of three, chatbot residue, filler, hedging, title-case headings. None of it is Claude-specific; Gemini, GPT, and GLM all trained on the same pile of SEO posts and learned the same habits.
clean, correct, and nobody home
Here’s what I didn’t expect. Run that architecture doc through all thirty-one rules and it comes out the other side genuinely improved. No em dashes. No cornerstones. „Microservices offer flexibility while introducing operational complexity“ becomes „Microservices are flexible and harder to operate.“ Shorter, plainer, every rule satisfied.
It’s also still worthless. Nobody needed a sentence explaining that microservices have a tradeoff. The rules fixed how it was written and had nothing to say about whether it was worth writing.
That’s the half nobody fixes. The skill knows it, which is why it has a whole section about adding a soul. Have an opinion. React to the fact instead of listing it neutrally. Be specific, use a real number instead of a feeling. Let some mess in, because perfect structure looks machine-made.
Apply that to the same sentence and you get something like: we picked microservices, and the flexibility was real, but I now spend a third of my week on things that used to be a stack trace. That’s a decision somebody made and paid for. It’s the sentence the architecture doc was supposed to contain.
The difference isn’t grammar. The first version is what you write when you have nothing to say and need a paragraph anyway.
The timing is funny, because right now Reddit is full of people dragging Opus 5 for being verbose. Ask a yes-or-no question, get five paragraphs and a summary of the five paragraphs. Verbosity and slop are the same disease. Both come from a model with no editor and no sense of what to leave out. Explicit rules give it one.
the shape and the thing the shape is made of
The rules work. They strip the tells, and the soul section pushes the model toward the shape of a voice. A model can produce the shape. It cannot produce the thing the shape is made of, because that part is just whether somebody had something to say.
So the tooling now handles everything except the actual work. That isn’t a failure of the tooling. That’s the job description, and it always was. We just used to be able to hide behind bad grammar.
That part is still your job. Peace, nerds.