Rafe Blandford

Voice and deslop

Open Agent Skills · Writing

Write with AI without handing over the argument.

voice and deslop are two Agent Skills for writing that goes out under your own name. voice drafts from your material (dictation, notes, a brief) in your voice and your argument. deslop reviews a draft before it goes out, flagging what isn't yours and what a reader might take as AI, and leaves every decision to you. Both can produce a review artefact so it's easier to see what's changed or to make decisions.

The habits and style of how you write can be measured and learned, and that can be used to steer a model using a voice pack; the thinking and the judgement stay yours, and the skills are built to keep it that way.

Current release: v0.2.3 · Early version · Released: 11th October · Apache-2.0

Two skills, one workflow

Drafting and reviewing are different jobs, so they are different skills. voice sits in the drafting stage; deslop sits in review, and can review anything going out under your name, from a two-line reply to an essay, whether or not voice drafted it. Both set their depth by a tier: how much it matters that the piece sounds like you.

TierTypical piecesvoicedeslop
1Quick email, repliesDrafts in your registerAI residue only; no pack needed
2Short public posts, internal documentsEvery claim traced to youAdds the tells list and your pack
3Essays, talks, anything read closelyRecords where every line came fromChecks every claim against your source
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.

What each one does

voice drafts from what you give it and keeps the argument yours. Where a step in the reasoning is missing, it asks rather than inventing one. At tier 3 it writes a provenance record beside the draft: for each paragraph, whether it came from your source, from you directly, or from the drafter, and whether you've approved it. Words you wrote are carried over as they are; dictated words can be tidied but not swapped for generic phrasing.

0:00
/1:32
voice in Claude: rough notes to a first draft, the page showing whose argument each paragraph carries, then the second draft's numbered changes. 1½ minutes, no sound.

deslop never rewrites unless you ask. It returns located flags, each with one proposed edit or a question, and ends with a Decision column for you: accept, keep the original, or revise differently. It asks two separate questions:

  • Is the argument yours? Every claim traces to your material or your approval, or it becomes a question.
  • Might a reader take this as AI? Constructions on the current editorial lists of AI tells, raised as candidates, never as verdicts.
0:00
/1:17
deslop in Claude: a review, the decision page, and the decisions copied back. 1¼ minutes, no sound.

Review artefacts

Both skills can turn what they produce into a single page you open in a browser: an ephemeral reviewing artefact. I really like having the original text and the decisions alongside each other, each scrolling separately, rather than working down a list underneath the draft.

voice shows a draft and what changed in it. A first draft shows where each paragraph came from (when drafting at tier 3); after that, the page compares a draft with the one before and numbers every change, so you can see quickly what changed rather than hunting for it.

voice's revision page: what changed from the first draft to the second, each change numbered, with the new wording in green and the old struck through.

deslop puts the draft on one side and its flags on the other. Each flag is highlighted where it sits in the text: pick a flag and the draft scrolls to it, click the text and its flag comes up. Accepting a proposed edit shows the new wording in place.

deslop's decision page: the draft on the left with each flag highlighted where it sits, the flags on the right with an answer for each.

Using them

There are three ways to begin:

  • Draft from your own material. Talk through what you want to say, or start from notes, session context, a brief or something you've already written, then ask voice for a draft as you. Expect questions where the reasoning has gaps.
  • Review something before it goes out. Ask deslop for a review at the tier the piece deserves, whether you wrote it, voice drafted it or it came from somewhere else. Work through the flags in the Decision column, or on the decision page, and paste your decisions back.
  • Start without a pack. Useful for trying the skills out, and some of deslop works without one (the AI residue and tells), but neither skill can write or review as you until you build a pack from your own writing.

Working with the review artefacts

The review pages don't appear on their own: ask for one ("show me the decision page", "show me what changed"), or say yes when the assistant offers, and it builds the page and gives it to you. You don't edit on the page itself. Make your decisions there, or jot a note against a change, then use Copy as Markdown and paste the result back into the assistant, which makes the changes. With voice, I generally just talk or dictate the changes I want, and the numbers mean I can say "on change 3…" and it knows which edit I mean.

Each page is a single file that works offline, built by a small script that ships with the skill. The voice one is really running a diff more than anything else, but it does also give you a way to read a rendered version of the text being created or reviewed.

There are worked examples you can open in your browser: a voice first draft, the voice revision page and a deslop decision page. The files behind them are on GitHub, for voice and deslop, if you want to try them yourself.

Your voice pack

The skills are a generic instrument. Everything about you lives in a separate voice pack that's built into each skill when it's installed:

  • profile.md — who is writing, and a handful of constants, each paired with the failure that looks like the virtue
  • craft.md — how your pieces are built: openings, evidence, closings, sentence construction, and which habits are long-standing
  • registers/ — examples of your writing for each kind you do
  • rules.md — lessons from past pieces, each citing where it was observed
  • edits.md — what you change when you edit a draft
voice is one SKILL.md plus the pack: profile and craft always, the register file for the register in use, rules and edits at tiers 2 and 3, and a script that builds the review page. At tier 3 it writes a provenance record; on request, a review page showing the draft or what changed, numbered.

deslop also carries its own reference files. These are generic, the same for everyone, and separate from your pack:

  • residue.md — list of common AI residue
  • tells.md — lists of AI tells, drawn from community sources
  • comparative-read.md — for passages the lists can't settle
  • upstream/ — pinned copies of the humanizer and stop-slop material, with their licences, kept for comparison
deslop is one SKILL.md plus four generic references and a script: residue at every tier, tells at tiers 2 and 3, the comparative read at tier 3, and pinned upstream lists never read in a review. The pack is read at tiers 2 and 3, its register files at tier 3. It writes a review with a Decision column and, on request, a decision page.

Each skill ships with a fictional example pack (a civil engineer writing about infrastructure) at references/pack/, to show the shape. It's nobody's voice: both skills say so and work generically until you replace it. The pack's README.md is a short guide to building your own from your writing, measured rather than guessed, and kept private.

You can create your own voice pack by editing or following the pattern of the example pack. I'd recommend it using AI to assist you in this process, but do make sure to use your own judgement here too.

I found AI useful for assembling a corpus of writing to draw on for both analysis and registers/, and then making suggestions for the constants in profile.md and craft.md. I'd strongly recommend taking care in selecting the examples of your writing for each register, because these act as foundational references.

You can point your agent at this page, the accompanying essay and the repo, and it will be able to give you a list to work through. You might also want to change the voice pack structure for your use cases, or customise the skills to use multiple voice packs.

What's behind it

The skills come out of a few months of building, measuring and testing, written up in writing with AI, in my own voice. Other useful notes include:

  • the voice pack was built through multiple iterations from a measured corpus of my own writing (emails, posts, messages, essays, documents), on surface features (punctuation, sentence length, vocabulary) and on construction (clauses per sentence, how claims are qualified and committed to), drawing on published work by Lu, Hyland and Biber;
  • the tells.md draws on community lists (referenced in upstream/) and was checked against a small controlled test across four Claude models;
  • deslop passed a locked set of ownership test cases, run in two model families (OpenAI and Anthropic), before release.

Open and inspectable

The skills are plain files you can read. The skills and supporting material are available on GitHub under a Apache-2.0 open source license.

deslop draws on, and credits, humanizer and stop-slop (pinned copies, MIT, with their licences), no-ai-slop (MIT), Wikipedia's Signs of AI writing (paraphrased and credited; CC BY-SA 4.0), and the Vale rule packs voices, vale-ai-tells and deslop. One paragraph quotes Anthropic's Prompting Claude Fable 5.1 guidance, attributed, and isn't covered by the licence.

Where it works, and its limits

  • Early version. v0.2.3. The evidence behind the defaults comes largely from my own writing, and the controlled tests are small (one brief, a handful of drafts per model). Treat the tells as editorial heuristics, not measurements of readers.
  • Not an AI detector. deslop never asks whether text "reads human". Statistical detectors misfire on human writing: one 2025 study found 10–75% of human texts flagged after only very light AI polishing (Saha & Feizi); this asks whether the argument is yours and whether a construction is one readers notice.
  • It can't judge what you say. It can check that claims trace to you and that the writing is built like yours. Whether the argument is good is still your job.
  • Reviews vary run to run. In testing, single reviews occasionally slipped on an existing rule. Every proposal lands in the Decision column, so nothing changes without you.
  • Any Agent Skills client. They're plain folders in the open Agent Skills format, released on GitHub rather than through a marketplace. Tested in Claude Code, Codex and Claude Cowork.

Changelog

  • v0.2.3 · 11 October 2026 · Copying from the review pages works in the Claude app's side panel. On the decision page, a note on a flag left undecided counts as a revision; on the revision page, a version number counts as one change. Each skill has its own README, and one plugin installs both in the Claude app.
  • v0.2.2 · 10 October 2026 · The review pages show links in the text as links.
  • v0.2.1 · 10 October 2026 · Each voice draft file now holds only the piece, with notes kept elsewhere. Both skills offer their review page when they hand back. A paragraph that moved and was reworded shows as one change. Tested in Claude Code, Codex and Claude Cowork.
  • v0.2.0 · 10 October 2026 · The review pages: deslop's decision page, and voice's draft and revision page. Every deslop review now ends with a flags block a tool can read, and voice puts its questions in the draft, where the answers go.
  • v0.1.0 · 6 October 2026 · First public release.

Full release notes are on GitHub.