How to build an AI writing system that sounds like you
I can read my LinkedIn posts from the last year and exactly plot my AI journey by who wrote the first draft. Some of the posts do sound like me, but many of them sound like a cleaned-up version of me. Once I noticed it, I couldn't stop noticing it everywhere: in my own drafts, in my feed, in a friend's AI-drafted talking points she sent me last week. AI generated content has a good structure and clear points, but they all use the same frame. You end up building off of the average of all writing, not the average of YOUR writing.
The problem wasn't that I was using AI to write. It was using AI to write without giving it anything specific to work from. Every session I started from scratch. I'd explain my topic, drop in some context, and then spend the back half of the conversation correcting for voice. Correcting the same phrases. Correcting the same general-to-specific arc that I've never personally used.
At some point I stopped trying to fix the outputs and started building better inputs.
The setup
I have six files that load at the start of every writing session. They're not prompts, they're the context that makes prompting actually work.
system-prompt.md is the startup file. It tells the assistant what to read before we do anything, how to approach a new session, and what to do at the end of one. It's the instructions that make the other five files work together.
voice-rules.md is the voice document. It exists because "write in my voice" is not an instruction. It's a request for a result the model can't produce without specifics. This file is those specifics: tone, format, the things that are non-negotiable for how I write.
avoid-patterns.md is the list of everything that makes my writing sound like it wasn't written by me. Phrases I'd never say. Structural patterns I'd never use. The list grew out of frustration; I kept correcting the same things across sessions. At some point it made more sense to document them once than to catch them every time.
writing-samples.md is existing writing that I am happy with. The model needs real writing samples to reference. Without them, it defaults to the average of everything it's been trained on. That average has a recognizable voice. It's not my voice, and it’s probably not yours.
content-calendar.md tracks what's been published, what's coming, and how things performed. This is an optional file and you can probably skip it if you aren’t trying to measure engagement. If you are, the calendar tracks your engagement (you add manually or use a paid GPT to scrape your LinkedIn) and can help inform what works well.
drafts.md is a holding space for posts in development. It keeps in-progress work inside the system instead of scattered across documents.
The template
I built a version of this system you can use as a starting point. Every file has instructions baked in: what it's for, what to fill in, and why the specificity matters. You HAVE to make these your own if you want this to work. The System Prompt has [PLACEHOLDER] fields you replace with your name, your platform, and your workflow preferences.
There's no single right way to build something like this. I designed this one to be approachable. You can be completely new to AI and still have it running in an afternoon. Take what fits how you write, adapt what doesn't, and skip what doesn't apply to you.
Start with these two files.
Writing Samples
Find three to six pieces of your own writing that you created WITHOUT AI that you want to use as reference. They don’t have to be like-for-like (if you’re posting on linkedin, you don’t have to use linkedin posts for reference), but they should be work that you are proud of. Add a note to each explaining what it demonstrates. Not "this is a good post" but "this is my everyday register, direct and observation-led." That note is what helps the model calibrate rather than guess.
Voice Rules
Fill it in the way you'd explain your writing to someone who has never read it. "Conversational" is a starting point. "Write like you’re my weirdly smart but still helpful colleague explaining something new to me" is an instruction the model can act on.
Those two files alone will change your output. Add the others as you notice what's missing.
What's not in the template (yet)
A few things I've considered adding that aren't in the template:
An inspiration file: links or excerpts from writing I admire that isn't mine. Not for imitation, but for a reference for what sharp, specific, human writing looks like from people whose work I respect.
A full content archive: not just samples, but every post I've published, tagged and organized. This will become more useful as the sample set grows or if you plan on reference older work.
A running ideas file: half-formed observations, lines from conversations, things that didn't fit somewhere but might later.
I left these out because whether you need them depends on what you notice is missing from your own sessions. The system is designed to tell you what it needs as you use it.
How it grows
The End of Session step in the prompt asks: based on what happened today, should anything be added to Voice Rules or Avoid Patterns? Add specific observations, not general ones. Are you a lover (or hater) of semi colons? Do you enjoy ending something with a series of questions? Name the pattern that you keep seeing and propose the exact language to add.
The system I have now took a few months to develop. Not because it's complicated, but because I built it by noticing what was missing.
Tools will keep changing, but the habit of building context rather than just prompting won't.
That's how this grows. Build your writing system and add what makes you uniquely you.