How I Used Codex + Empirical to Lock In My Writing Voice
I used Empirical with Codex to stop tone drift and define a repeatable voice path through guided questions and live rewrites.
I was getting tone drift
Some posts sounded reflective. Others sounded like release notes. Nothing felt consistent. I needed one clear standard I could reuse across everything I write with AI.
What’s the point
AI writing breaks when your context gets bloated or vague.
Most setups try to fix this by stuffing more into a single file like AGENTS.md. It works at first, then it slows down, drifts, and becomes hard to manage.
You can try a different approach with Empirical.
I keep my AGENTS.md lean and Empirical pulls in only the context you actually need.
The result is consistent output without dragging around a bloated context window.
Voice quality improves when you store both what to do and what to avoid.
How I built my voice tone memory graph with Codex
I used Empirical context plus a Codex question loop to map one clear writing path.
No complex framework. Just direct prompts, yes/no feedback, and iterative rewrites until the tone was obvious.
If you are setting this up from scratch:
Then I kicked it off with this:
Prompt used
Let's create a memory graph in Empirical of a writing style that you should write content in for me every time you write content.
You're going to ask me questions that are yes / no.
The questions will be content and I am answering if I like the content or not.
After we are done you will build the neural graph memory path links and store them in Empirical.This forced real decisions instead of vague prompts like “write like me.”
Just as important, it also defined rejection patterns, including conversational filler and reflective first-person summaries that sounded off-brand for product updates.
That’s where most setups fall apart. They define what sounds good, but not what to avoid.
Watch the example live
Why it mattered
Before this, every post was a reset. I’d write something decent, then spend time rewriting tone by feel. It was inconsistent and slow.
After this, I had a pass/fail system. Each draft either matched the profile or didn’t. Fixes became obvious.
What changed in day-to-day writing
The output wasn’t a tool or a file. It was a contract. A repeatable standard I check against before publishing.
How I keep it consistent without bloat
I don’t pack everything into AGENTS.md. That’s how it gets bloated and starts breaking. I keep the agent file lean on purpose. The heavy stuff doesn’t live there.
At runtime, it retrieves only the most relevant context and injects it into the request. That same context isn’t locked to one tool. You can refine it anywhere, even quickly in ChatGPT on your phone, and those updates carry forward.
Later, when you’re back at your desk, that refined voice, tone, or pattern is already available inside your coding CLI. That means no bloated agent files and no wasted context window.
Where this actually pays off
If you’re writing one post, this is overkill.
If you’re writing repeatedly with AI, this compounds fast.
- Less rewriting
- Less tone drift
- Faster output
- More consistency across tools
The same voice now follows me across ChatGPT, Codex, and anything else I use.
Final thought
Most people try to fix AI writing by adding more instructions.
That’s the wrong move.
The win is keeping your base lean and pulling in the right context at the right time.
That’s what actually holds the line on quality.
Run this in less than 10 minutes
You’ll feel the difference quickly.