A prompt that says "write like my brand" usually returns a paragraph that sounds fine and a page that any SaaS could have signed. The tone starts right; the facts take longer to show up.
If you're trying to keep an AI brand voice consistent across posts, you need three pieces the agent can reread: a profile with the voice fixed in place, accepted evidence only you have, and a check that scores tone and facts apart from each other.
We measured the gap. A rigged draft scored 1.89 out of 2 on brand voice and 0.04 on first-hand facts, against 1.91 and 0.63 for the real draft. The voice score barely moved; what was missing was data and lived experience.
Below you'll build the profile as fields, load evidence before the body, fix the brief, and read the scores before you export. The decision to publish stays yours at the end.
- The profile a model can reread
- First-hand evidence before you ask for a body
- The brief that carries voice into the body
- The score that separates tone from facts
- What to publish when the voice sounds right
The profile a model can reread
A brand voice holds up once it lives in fields the agent rereads with every draft.
At seodraft it lives in voice ("Direct, plain, no filler"), language, articleStyle, and globalInstructions carrying the CTA. The agent pulls those with get_profile before it writes. If the voice only lives in your head, the next draft improvises the register again.
A usable profile answers concrete questions: first person or not? which phrases are banned? how long before a sentence is stretched? With those answers the model stops filling in the average of the internet and writes in the register you fixed.
It's also worth noting two or three short sentences you've already published and liked. The agent uses them as an anchor for rhythm and word choice when it opens the next draft.
The same idea sits behind making AI writing sound less generic: once the profile gives the agent the business context, the draft stops sounding like any other SaaS, as explained in how to make AI writing sound human. The voice stays saved as reusable state the agent rereads. The profile and its evidence bank are also what survived the rebuild described in why seodraft killed most of its web UI.
First-hand evidence before you ask for a body
Three accepted pieces from the bank are enough to anchor tone in first-hand facts.
Voice tells you how the text sounds. Evidence tells you what to say. A number with a unit and a period, a quote you actually said, a mistake made connecting a tool: an LLM fills those in badly, and the gap shows up in the first serious paragraph.
The classifier scored that pair at 0.97, and seodraft's own reference article scored 0.90 on first-hand facts. That 0.90 means the text leans on something measurable, with figures and experience from this business.
Ask the agent to cite only accepted evidence. If fewer than three pieces arrive without inventing, stop and ask. The bank grows with what you accept in the profile; pending items stay out of the brief.
A practical flow: open the profile, add a dated measurement, a quote you said, and a nameable case, then ask for the body. The tone arrives already backed by material a competitor doesn't have in their prompt.
The brief that carries voice into the body
The brief fixes angle, evidence, and the opening sentence of every section before the body drifts off-brand.
Write intent, template, angle, the evidence pieces with the text as it will appear, the outline with the opening sentence of each H2, and the image slots. Save it with upsert_post. Only then ask for the body. With that order the agent keeps the same angle between runs while the profile's tone holds.
Chorch sums it up this way, an idea covered at more length in the founder's personal agent: the goal is building good processes, fast and cheap, so agents work better. The brief is that process on one page. It keeps the voice steady once a draft passes a thousand words.
If the outline can't be filled with evidence, change the outline now. Fixing it after 1,200 words costs more and tends to leave paragraphs that sound on-brand with little that's actually first-hand.
The score that separates tone from facts
A score that measures voice and facts separately shows when tone is high and first-hand facts are too.
The rigged draft scored 1.89 out of 2 on brand voice and 0.04 on first-hand facts, against 1.91 and 0.63 for the real draft. Anyone approving on "sounds like us" alone lets the first one through: 1.89 on tone with facts at 0.04.
At seodraft that check is deterministic: lengths, answer-first openings, evidence actually used in the body, real links, banned phrases. It evaluates rules you can observe. You approve after those rules pass, using the same E-E-A-T evidence the profile collects.
For how AI-written drafts drift into generic phrasing and what that looks like on the page, see signs of AI writing to fix before you publish. Here the decision rule is concrete: export when voice and first-hand facts are both high at once.
What to publish when the voice sounds right
Export when the profile, the evidence, and the score line up with what a founder's ear would accept.
The next step is one move: open the profile, write three voice rules that today only live in your head, and load at least three pieces of accepted evidence before the next draft. If the score shows voice near 1.89 and facts near 0.04, ask for more evidence or narrow the angle until the text says something measurable about your product.
In this product your agent writes, the rules decide, and you approve. seodraft keeps the process and stops a draft that fails observable rules; the final call stays yours.