Rafe Blandford

Writing with AI, in my own voice

Explaining how I write with AI and the creation of voice and deslop skills.

Rafe Blandford
– 18 min read
A dictation waveform on the left; on the right, lines of text in the same rhythm, ending in a cursor.

Like many, I'm very much in two minds about what AI is doing to content. I'll happily admit to a sense of irritation when I realise something I'm reading is obviously written by AI and I've been on the receiving end of my share of slop grenades. At the same time, I've often used AI to help me with blank page syndrome or to get a start on drafting an email or an important message. I've also used it to help distil my thoughts by spending 10 or 15 minutes meandering on a topic, just letting my thoughts flow out, and then using AI to synthesise, reorder, and sometimes summarise. I've also deliberately been writing more on rafeblandford.com in an effort to share my thinking, showcase some of the work I've done, and have an outlet for ongoing tech, product and AI experiments.

I've written about provenance on this site before: every post here carries a label saying whether I wrote it, wrote it with AI, or whether AI wrote it. So I've been open about using AI to help me write, and the question that I've kept coming back to was how to do that well, or at least in a way that lets me understand how this might work.

To be clear, I'm not interested in one-shot slop. What I'm working out is where I can have AI help me and, as a secondary benefit, how to have AI sound more like me when I do use it for direct or collaborative generation across a whole range of use cases. I had two hypotheses. The first was that it's possible to have a fluid boundary between human and machine when drafting writing, if you set things up the right way. The second was that it's possible to encode the habits, the style, and principles of how I write, because those things can be measured, and use that in both collaborative and generative writing. What I don't want to hand over is the thinking or the judgement, so there are definitely some hard lines.

This essay is about how I tested and built on those hypotheses, and some of the things I learned along the way. At the heart of this are two skills I've built: voice and deslop, which have their own page with additional detail, since I'm publishing both as open, early versions for those who want to build on them.

0:00
/2:12
voice drafting a LinkedIn post from my rough notes, then deslop reviewing a draft, in Claude. 2 minutes, no sound.

Where the first version fell short

I'd already tried this once before. The first version was a voice profile, built in March this year by mining about eight years of my sent email; the version I ended up using drew on around 1,500 messages. It was a lightly edited AI synthesis describing how I wrote, which I then put into an easy-to-call skill as well as a standalone Markdown file. I used it for five or six months, and I'd say drafts, especially email, did sound more like me, but there were still very obvious AI tells in them, and it didn't work very well for long-form content, which I think is visible in some of the early RafeOS posts. In hindsight part of the reason is simple: the profile was built entirely from email, and I was using it to draft essays and other types of content. This did lead me to an important realisation that there were different registers (different types of content and use cases), and I had different levels of comfort with the human–machine mix for each of these. Messages and email is the register that is most suitable for a quick AI draft; important emails, short LinkedIn posts or quick articulations are something I care more about getting right; while long-form writing, like an essay, a talk or an important document, is where my thinking and voice are most important.

There's a definite consideration here around cognitive offloading, and it's something I didn't get right in the first version. I don't want to offload completely. Rather, I want a workflow that allows more seamless collaboration between human and machine, and I want assistance to help me write. Ultimately, the outcome I wanted was one that let me share some of my thinking in my own distinctive style, while being honest that I'm experimenting with how AI helps me do it. I was also conscious that I was increasingly using AI to help draft quick replies or articulate important points, so it had to work for the day-to-day as well as for essays. That meant I needed to think about it differently, and it's probably then that I realised it was two jobs rather than one: writing and de-slopping. Writing in my voice matters most for the pieces I care about most. De-slopping is more about the day-to-day, when I'm just doing a quick bit of generation for an email or a message and want the obvious AI tells gone.

Measuring first

Collecting the corpus

Before changing anything, I needed a broad and robust corpus I could use for foundational analysis and measurement. Small extraction scripts pulled my writing from six places: dictation, the prompts I type to Claude Code and to Codex, my LinkedIn posts going back to 2011, sent email, and the posts on this site. Each record was labelled with who wrote it and what it could be used for (an example of how I write, evidence of patterns only, a draft-and-published pair, or comparison only), and nothing counted until I'd reviewed it (in sampled batches rather than item by item) and moved it into an approved set. That came to 782,271 words, three-quarters of it dictation. The corpus stays private; only what's learned from it goes into the skills.

What's recognisably me

Some of what came out was uncomfortable. I did occasionally use "not X but Y" myself, and I also used em dashes, which has been rather distressing, given they've become some of the best-known AI tells. Part of the reason is the kind of writing I end up doing, where you explain something and then give the counterpoint. The em dashes turned out to depend on where I'm writing: fewer than one per 1,000 words in my LinkedIn posts, about two in my essays and longer emails, and around five in the prompts I type to coding agents.

There are other things that are recognisably me including, longer-than-average sentences, and a tendency to be slightly prolix (using more words than I need to); brackets for secondary clauses and hedging; and frequent use of the ellipsis.

I knew already that I'm prone to being prolix. This is somewhat an artefact of my dyslexia; other people have commented on it, and even AI has sometimes flagged when I've been repeating things or putting in too much padding (with no trace of irony). The measurements didn't change that view, and it's important to be aware of because AI tends to add filler too. My sentences in the essays average about 19 words; the models' ran from 11 to 15 in the test I describe below, and in all four models, paragraphs tended to close on a short line restating what they had just said.

Then and now

The measurements were also useful for separating the habits I've had for a long time from more recent ones. Comparing six pieces I wrote for All About Symbian between 2007 and 2012 with this year's essays, I found the long sentences and the impersonal openings were already there, while the ellipses are recent. So is "rather than", which some lists treat as a tell: almost absent then, and common now.

All About Symbian, 2007–12Essays, 2026Reading
Median sentence length, words2117long-standing
Clauses per sentence2.012.25long-standing
Sentences that are a single clause35%35%long-standing
Opening sentence, median words2722long-standing
Opens with "I" or "My"0 of 61 of 5long-standing
Closes on a question0 of 60 of 5long-standing
Ellipses, per 1,000 words0.22.5recent
"Rather than", per 1,000 words0.32.5recent
Semicolons, per 1,000 words1.33.0recent
Quoted phrases, per 1,000 words0.74.5recent

Six pieces I chose from 2007–12 against five essays from this year. Sentence lengths here are medians; the 19 words above is a mean.

Surface and structure

Per 1,000 wordsEssaysPostsEmailModel essaysAI posts
Em dashes2.00.41.72.911.4
Asides in brackets4.26.510.40.56.3
Ellipses2.52.40.700.2
Lists1.009.10.39.8
Closes on a question0 of 59 of 370 of 340 of 80 of 8

Habits on the surface. Five essays, 37 LinkedIn posts from 2026 and 34 long emails I wrote myself, against the eight model essays from the evals below (one brief, four models, no voice skill) and the eight posts on this site labelled as AI-authored. Small samples, so the differences between columns matter more than any single figure.

Those are surface features: words, punctuation and sentence length. A second pass measured how the writing is built: how many clauses a sentence carries, how claims are qualified and committed to, and how often the reader is addressed, drawing on research on syntactic complexity (Lu), on stance and engagement (Hyland) and on how features vary by register (Biber). The clearest result is that I build the reasoning inside the sentence: about two clauses a sentence in every register, the same in 2007 as now, with only a third of sentences a single clause. Model drafts without the skills split it up, with half their sentences a single clause. The posts I wrote with AI keep my depth (2.17 clauses a sentence), which suggests the editing puts it back.

Per 1,000 wordsEssaysPostsEmailModel essaysModel postsAI posts
Clauses per sentence2.252.212.221.811.561.59
Single-clause sentences35%36%35%50%56%58%
Contrast ("but", "however")8.47.57.64.23.310.2
Trade-offs ("in practice")2.31.11.51.000.8
Hedges ("I think", "probably")6.68.511.83.76.14.1
Boosters ("clearly", "in fact")3.33.65.22.90.51.8
Reader address ("you")5.810.719.315.713.25.3

How I build sentences. Clause counts come from a dependency parse (spaCy), approximating Lu's measure; the other rows are word lists after Hyland. Same samples as above (Essays, Posts and Email are mine), with the model drafts split into essays and posts; AI posts are the eight site posts labelled AI-authored. The AI-written posts use contrast words more than I do, so contrast is something I rely on rather than a signature on its own.

Two things surprised me. I hedge most in my emails and least in my essays, and I commit more in email too (boosters rise with hedges). And my registers sit further apart from each other than I maybe realised. That means "does this sound like me?" works within a register, which kind of validated my hypothesis about needing to distinguish between the different registers.

What the measurements changed

The measurements also went into the skills. The constants in my profile were at the core of the very first version, and they have been changed and tweaked since, on experience and on the measurements; there are now eight, the newest being that I'm grounded in the specific, with evidence that is my own or a named source. They don't all need to be measurable, because they're guidance a model applies in context; two can be checked (explicit reasoning, through clause depth, and pragmatism, through trade-off language, though only as whether it's present at all). In the same way, the rates became descriptions of how I write in each register, which the review uses as context for judging a passage, never as targets. The review treats a habit according to whether it is long-standing or recent: a long-standing one is protected, while a recent one that is also a known AI tell is raised as my call. And each rule the skills follow cites the piece or the measurement it came from, marked as established or weak, so when a recount changed a figure, as it did more than once, the rule changed with it.

None of this is absolute. The measurements are directional. They need to work as guides rather than rules.

A workflow and two skills

What came out of this is a workflow, and two skills that sit inside it. The workflow is how a piece gets from a first thought to being sent or published, and it changes from piece to piece; the skills do two specific jobs within it, drafting and reviewing, and keep a record as they go. The workflow looks like this:

My workflow in five stages, left to right, with who does what at each. 1 Start, we both gather: a dictated draft, often in parts, by section; a written draft, an outline or research; or a brief for a blank page. 2 Draft, AI drafts or we both do: voice drafts from my words, voice drafts from a brief, or a hybrid where voice drafts some and I write some. 3 Edit, I react (a gate): I react, rewrite and edit, and my reactions go back into voice for another draft; optionally on the revision page, with each change numbered. 4 Review, AI reviews and I decide (a gate): deslop reviews and I decide each flag, optionally on the decision page; another round goes back to editing. 5 Out, either of us sends, after my explicit approval (a gate): send, post, publish. Wider context, such as an outline, an email thread, a message, research or a whole AI session, feeds stages 1 to 4, and I ask questions against it too. The assistant runs throughout: the conversation around the piece, using other skills and connectors. The record is kept at every stage (sources and context, each draft and where each line came from, my reactions, every decision, the live text re-checked) and used to improve the skills.
AI assisted writing workflow, which lies within a wider AI harness session

The approach lets me turn a dial on how much or how little I use AI in a piece of writing, and it's important to say there are plenty of times when I don't use it at all. A longer piece (a post or an essay) starts from a written draft or a dictated draft (often in parts, because I tend to dictate section by section or react against an outline). Messages, email or any quick generative articulation are a bit different: there, like a lot of other people, I do tend to use the model to get past blank page syndrome: it writes the first version from a brief (anything from a few sentences to a couple of paragraphs), and I build from there.

There's also the benefit of wider context: an outline, the previous email in a thread, a message, some background research, or even a whole AI session. That context goes into drafting, and it can be useful for the review as well; when I'm reacting, I'm sometimes asking questions against it too. The drafting itself is sometimes a hybrid, where I get AI to do some of it and do some myself. And around all of it runs the wider interaction with the AI harness, which is able to draw on other skills (e.g. create diagrams) and connectors (e.g. wider tools and context) too. One of the really interesting things about writing with AI is that you can give it a much wider set of context than you would typically keep in your own head.

This post is an example of the essay route. It started as about 1,900 words of dictation reacting to an outline, and it has been through a number of drafts since, with my reactions in between, each saved word for word. Every draft is kept as it was produced, with a fingerprint of its exact text, the model that drafted it, and a record of where each line came from. Several independent reviews raised flags along the way, and my decision on each one is recorded. Once it's published, the live text is pulled back and compared after every pass I make in the editor. That record is what will show whether the workflow keeps more of my words over time, and it's what I'll use to improve the skills.

In a lot of cases, my dictation is a brain dump rather than a script, so most of the wording doesn't make it into the final piece. On the one essay I measured end to end, only 7.6% of the words I dictated reached the published text inside an exact eight-word run. Measured another way, 29% of the sentences in the first draft contained a six-word phrase I'd said, falling to 23% once I'd edited and published it. That's probably a reflection of the way I dictate, and of how much I rearrange sentences and phrasing in the editing. With short posts, a higher percentage of my dictated words survive, though at least some of this is down to a shorter editing process, or, put another way, how much care and effort I put into the output.

How much of my thinking survives is harder to measure. Subjectively, as I've refined this workflow, I'd say it has improved significantly, and the new tooling has more robust provenance built in, so I'll be able to see the effect of the updated workflow.

There are two skills, because drafting and reviewing are different stages of writing. voice drafts from my material; deslop reviews a draft before it goes out. How much the review matters depends on the dial between human and AI in a given piece: the more heavily I've leaned on the model, the more there is to find. And deslop has the wider use: it can review anything going out under my name, from a two-line reply to an essay, whether or not voice drafted it.

Both skills set their depth by tier. There are two ways in: your material goes to voice, which drafts and asks at gaps, and the draft is its text plus provenance; or any text source goes straight to deslop. deslop flags and proposes, you accept, keep or revise each flag, and the output is the text plus its record. voice drafts in the register at every tier and records provenance more strictly as the tier rises; deslop uses only a residue list at tier 1 and adds the tells list, the pack and a full claim check at higher tiers. The person's pack is built into both. At any tier there are optional review pages, which support the flow: the revision page shows what changed in a draft and its questions, and the decision page is where you decide on each flag.
voice and deslop skills flow and tiering

I wanted the core part of the skills to be generic, with configuration and references loaded or routed to as needed. This offers greater flexibility and efficiency in how the skills are used; it also makes them easier to maintain and customise.

Everything about me (my profile, my habits by register, the rules learned from my edits) lives in a separate voice pack, which is built into each skill when it's installed. Similarly the references for both skills are in files that can be updated individually. For example, deslop's tells.md is a list of common AI-phrasing by model (i.e. some of the more obvious AI slop giveaways). More details on the structure and composition of each of the skills are on the dedicated resources page.

The skills have deliberate human gates and judgement built in. When voice hits a gap in the argument, it asks rather than letting the model fill it, which pushes me to write or rewrite that part in my own words; it's a good way of flagging "don't let the AI do this". For an essay it also records which lines are mine and which are its own. When it revises, words I wrote are carried over as they are, and dictated words can be tidied but not swapped for generic phrasing. deslop doesn't rewrite unless I ask it to: it flags, proposes, and leaves a decision column for me. It always asks whether a reader might take something as AI; for anything beyond a quick email it also asks whether the argument is mine, and for an essay it checks every claim against what I actually said. A tell in my own words is my call rather than something it cuts. The idea is that automation doesn't remove human judgement, but instead aims to concentrate it on the things that matter most.

Both skills can also optionally deliver their output as a review artefact (an interactive HTML page): voice shows what changed from one draft to the next, numbered, with its questions in place, and deslop puts its flags beside the draft for me to decide on. I can make changes by talking directly to the assistant (voice dictation is great for this), or by copying and pasting the decisions recorded in the review artefact back into the relevant session.

The revision page for this essay, comparing two of its drafts: the draft on the left, with two table rows added and numbered as change 1, and the numbered changes on the right, each with a note box.
voice's change review artefact, additional examples here and here

Testing it with AI evals

I used AI evals to check the skills as I built them. One gave the same brief to Fable 5.1, Opus 5.5, Sonnet 5.5 and Haiku 4.5, with no voice guide, two essays and two short posts each, to see what the models do without help. The finding that mattered most to me was invented judgements: six of the eight essays, from all four models, put a personal opinion in my mouth that the brief didn't contain ("the most useful decision I made in a decade"), and so did one of the eight short posts. That matters far more to me than the tells: I want it to be my thinking. My narrative. That's not the bit I want to offload. The bit I want to offload is helping me write, quickly. The evals also showed the difference between drafting from a brief and drafting from my dictation (there isn't one way that you do writing).

Another eval ran the review automatically on four LinkedIn posts I'd already edited. It was important because I had an existing before and after, so I was really able to judge what came out of it: it agreed with my own edits on five of its six "act on this" flags, and sixteen of the seventeen passages it marked as mine had survived my editing untouched. (It says we're on the right track, but it should be noted that it had seen my final versions in the same file.)

A third ran the same brief again with the voice skill loaded, which showed what the skills already fix and what they don't:

Per 1,000 wordsMy essaysModel essaysWith voiceMy postsModel postsWith voice
Clauses per sentence2.251.812.442.211.562.01
Single-clause sentences35%50%36%36%56%39%
Reader address ("you")5.815.79.310.713.210.4
Imperatives0.52.91.00.81.91.4
Hedges6.63.75.38.56.14.2
Boosters3.32.92.03.60.51.9
Contrast8.44.25.57.53.33.3
Trade-offs2.31.00.91.100

The same brief and four models (Fable 5.1, Opus 5.5, Sonnet 5.5, Haiku 4.5), two essays and two posts each, run without the skills and then with the voice skill as it stands now.

With the skill, essays match my clause depth, imperatives fall by two-thirds and reader address by more than a third. The first time I ran it, qualification, commitment and short posts lagged, and that went back into the skills: an eighth constant, new checks in the review, and a note that short posts keep my depth and commitment. Running it again after those changes moved contrast in essays from 3.7 to 5.5 per 1,000 words, took short posts more than half the way to my clause depth, and brought boosters back into them. Trade-offs didn't move, and hedging held in essays but fell in short posts, which is where the next iteration starts.

What building it taught me

Building this made me think more broadly about how AI-assisted writing is read. The tells probably bother people more than they bother me in my own writing, because I've lived with the text for a while, but they still matter, because of people's perception and what they signal about quality.

AI can absolutely lower the friction for communicating and articulating ideas. Equally, it can be horribly misused. I think I've arrived at a reasonable balance here, but I'm still trying to work out what good looks like, something I feel is relevant beyond my own writing, because a lot more people are going to be working this way.

I also feel like I'm just scratching the surface here. I'm quite sure that in time, more people will have some kind of digital twin, or a profile, or a tuned model that further blurs the boundary between human and machine.

There are also the usual good product discipline reminders, primarily in this case, the importance of understanding the requirements better. The different use cases led to the different registers and the different tiers, which gives the skills flexibility and lets me tune the AI collaboration to what I'm working on. Separating the pieces and keeping the skills modular has absolutely made them easier to customise and maintain, with an added bonus that made them a bit more shareable with others too.

Measurement mattered in a loop, which is my loops-within-loops thesis in practice: what I measure in the writing changes the skills, and what the skills produce gets measured again. First, it gave me a foundation for the analysis and the rules (validating some of the writing styles and principles). Second, the skills are instrumented, so I can see how they perform in use, which will be really useful when I iterate on them: voice keeps the record of where each line came from, deslop leaves a Decision column for my call on every flag, and I keep the drafts and the published text alongside them, as the record behind this post shows. The AI evals and automated tests are part of the same discipline: before release, the review skill had to pass a locked set of test cases, run in both Claude and Codex, with Codex doing the scoring.

The review artefacts are good examples of what I'm starting to think about as ephemeral software: short-lived artefacts built for a specific purpose. They can be standalone or, as here, embedded into a workflow; while I was drafting this essay in Cowork, they showed up in the sidebar alongside the ongoing conversation with the assistant. They can also be thought of as primitive versions of adaptive user experiences, appearing on demand and shaped to what's needed at that moment. It's part of a wider mindset change that AI and the accompanying harnesses are bringing to the way we can think about software.

deslop's decision page reviewing r27 of this essay: the draft on the left with two flags highlighted where they sit, and fourteen flags on the right, the first touching three paragraphs, each with answers written for that question.
deslop's decision review artefact, additional example here

What comes next

Building these skills has proved some of my original hypotheses, at least in part: the habits and style of how I write can be measured, down to how I build a sentence, and the registers really do need treating differently.

I'm not sure how much time this workflow and these skills save, whether on essays or messages, because I often edit extensively. However, it does feel easier to write, and I'm confident that a combination of good context and human judgement can improve any AI outcome. I've definitely shifted more of my personal writing to use AI assistance.

I continue to be conscious of both a need and an ambition to keep more of my own words and to be able to experiment flexibly. This is a significant part of why I've built this workflow, but it's also why I want to continue to iterate, and why, at times, I'm going to deliberately choose not to write with AI.

A stronger conclusion will only come from using it: whether I keep more of my own words, whether the thinking survives better than it did, and whether it saves me any time. I'll report back. In the meantime the skills are published as open, early versions, and I'd love to hear how other people are approaching this.

New writing by email

Occasional pieces on product, technology and AI — and how they actually play out in practice.

Thanks — check your inbox to confirm.