Skip to content
AI Content Systems

Why your AI content sounds generic (and the voice-spec fix)

Generic AI output is a missing-spec problem, not a prompting one. Why aesthetics are useless to a model, what a real voice spec encodes, and how to maintain it. For B2B founders and lean teams.

By Justin DeMarchiJune 8, 20266 min read
In this article· 6 sections
Why your AI content sounds generic (and the voice-spec fix)

Ask any general-purpose model to write a LinkedIn post in your voice, and it gives you something fluent, competent, and completely interchangeable with what it would write for the founder three companies over. Same rhythm. Same tidy three-part structure. Same faint smell of nobody.

You did everything the prompt guides said. You described your tone. You asked for "confident but approachable." You even pasted in a post you liked. It still came back generic. So the question isn't whether AI can sound like you. It's why it keeps refusing to, no matter how you phrase the request.

The reason is mechanical, and once you see it the fix stops looking like a prompting trick and starts looking like an engineering one.

Generic is a missing-spec problem, not a prompting one

Here's the working model I run on, from doing this on real client content every week: a language model with no instructions about how you write defaults to the average of everything it has read. Call it the default register. It's the smoothed-out, median voice of the entire internet, and it's what you get whenever the model has nothing more specific to aim at.

That default is the enemy. It's not bad writing exactly. It's writing with every edge filed off, because an average has no edges. Your prompt didn't fail because it was badly worded. It failed because "confident but approachable" gives the model nothing to deviate toward. It just confirms the average.

So you're not trying to coax a better sentence out of a better prompt. You're trying to give the model enough of your actual patterns that it has somewhere to go other than the middle.

Aesthetics are useless to a model. Patterns aren't.

A brand-voice document describes a feeling. "Direct but never blunt." "Data-driven, with a human edge." "Warm and confident."

A senior writer who's been on your team a year can act on that. The model can't. It has no prior on what "warm but direct" means for you, specifically. It has billions of priors for what those words mean in general, which is exactly the problem. Feed it a general description, get a general result.

A voice spec is different because it documents patterns, not adjectives. It tells the model: paragraphs run two to four sentences, never six. Open with an observation, not a preamble. Close on a stance, not a question. Never use these twelve words. Use first person when describing direct experience.

The model can act on every one of those. They're testable. A sentence is either under six words or it isn't; it either uses a banned word or it doesn't. That's the gap between a marketing artifact and an engineering input. Same word, "voice," two completely different jobs.

The three things a real voice spec encodes

Most of the lift comes from three layers. Get these documented with examples and the output stops sounding like the average.

  • Sentence rhythm. Average length, the variance between short and long, where you stack short sentences for emphasis and where you let one breathe. This is the hardest layer to fake and the first one generic output breaks. The default register has a flat, even rhythm. Yours doesn't.
  • Vocabulary you use and never use. The words that show up disproportionately in your writing, paired with the ones you avoid by reflex. "Specific" but never "leverage." "Operator" but never "ninja." The negative list is what stops the model's defaults from leaking back in.
  • Argument structure. How you build a case. Some founders open with the conclusion and back-fill the evidence. Some lay groundwork and land the point last. Some reason from named examples, some from numbers, some from analogy. This stays consistent across a person's writing, and it's invisible to a prompt that only describes tone.

There's a fourth layer underneath those three: reference points. The domains a person reaches into for analogies. A founder with a politics background pulls different references than one who came up in engineering, and that reference shelf is half of why their writing reads as theirs. The model can't guess your shelf. It will default to the most common analogies on the internet, which is another way of saying the average.

Each section gets rules at the top and three to five examples from the person's own work underneath. The examples are what make it usable. A rule without an example is a wish, and the wish is where generic creeps back in.

Why "humanize" buttons and banned-word lists don't get there

The two popular fixes both stop short, for the same reason.

A "humanize" button rewrites toward a generic human register. You've just swapped the model's default for a slightly folksier one. It reads less robotic and still sounds like nobody in particular.

A banned-words list is better, and it's real work. Strip out "delve," "tapestry," "robust," and the obvious AI tells, and the output improves. But a banned list only tells the model what not to do. It removes the worst of the average without supplying any of you. You can pass every banned-word check and still produce something flawlessly generic.

The fix needs both halves. The negative space (banned words, banned structures, the rhetorical-question opener you'd never write) and the positive space (your real rhythm, your argument shape, examples of you at your sharpest). Rules alone drift. Examples alone can't be enforced. You need the pair.

This is also where the human stays in the loop. A spec gets you to a faithful baseline. It can't capture a reaction to news that broke yesterday or a fresh frustration forming in real time. That's why every draft still goes through a human review gate before it ships. The spec handles the pattern. The person handles the present tense.

Maintain it like code, because it is code

A voice spec lives in a file. We call ours voice.md, and it sits in the repo next to everything else, version-controlled, with a commit history.

That placement isn't cosmetic. It means the file loads as system prompt input on every AI step that touches the person's voice: drafting, rewriting, summarizing, headline writing. Change the file once and the change flows to every workflow on the next run. No copy-pasting a brand-voice doc between five prompt fields. No drift between platforms.

It also means the thing gets maintained. A voice doc that's six months stale is a minor problem. A voice spec that's six months stale is producing content that drifts further from the founder every week, because a person's thinking shifts, new reference points enter, old ones fade. So you refresh it on a cadence, every three to four months or any time the positioning moves.

That maintenance is the part competitors skip. It's easy to generate one good post. It's the upkeep that makes the system keep sounding like you on post two hundred. For founders, this is the engine under a done-for-you founder LinkedIn system: the founder supplies the raw thinking and the approval, the spec carries the voice, and the founder's monthly time stays around two to three hours.

The Upshot

If your AI content sounds generic, stop rewriting the prompt. The prompt was never the problem, and "confident, conversational" was never going to work, because a model can't act on a feeling. It can only act on patterns.

What you actually need is a documented spec: how you build sentences, the words you'd never use, the shape of your arguments, with real examples attached. Build that once, keep it in the repo, refresh it on a cadence, and the model finally has somewhere to go other than the average.

The sharper point is that "generic" was never a flaw in the AI. It's a sign the system has no spec to work from. You don't prompt your way out of generic. You spec your way out, and then you maintain the spec like the production input it is.

For where this fits in the full picture, see the AI content systems guide.

Frequently asked

Common questions.

  • Why does my AI content sound generic?

    Because the model has no instructions on how you specifically write, so it falls back to its default register: the smoothed-out average of everything it has read. Brand-voice descriptions like 'confident and conversational' don't fix this. They describe a feeling, and the model already has billions of examples of that feeling in general. What changes the output is a documented spec of patterns: sentence rhythm, vocabulary you use and never use, how you build an argument. Give it patterns to deviate toward and the default register stops winning.

  • What is a voice spec (voice.md)?

    voice.md is a structured markdown file that documents how one person writes: sentence rhythm, vocabulary, argument structure, dos and don'ts, reference points. It loads as system prompt input on every AI step that touches that person's voice. It is not a brand-voice document, not a tone-of-voice guideline, and not an audio voice clone. It is an engineering artifact: version-controlled, paired with examples, maintained on a cadence.

  • Does a 'humanize' button or banned-words list fix generic AI content?

    Only at the surface. A humanize button rewrites toward a generic 'human' register, which is still an average, just a different one. A banned-words list removes the obvious tells (no more 'delve' or 'tapestry') but it only tells the model what not to do. Neither encodes how you actually write. You need both the negative list (what to avoid) and the positive patterns (your real sentence rhythm and argument shape), with examples.

  • How do you keep a voice spec from going stale?

    Treat it like code, not a document. It lives in the repo, has a commit history, and gets refreshed every three to four months or whenever the founder's positioning meaningfully shifts. A brand-voice doc that's six months stale is a minor problem. A voice spec that's six months stale is producing content that drifts further from the founder every week, so the maintenance cadence isn't optional.

Justin DeMarchi
Written by

Justin DeMarchi

B2B Content Operator and founder of DUO. Eight-plus years running marketing and content systems for brands in tech, SaaS, and AI.

More in AI Content Systems