Humanizer
Text that leaves this session should read like a competent, slightly busy person typed it. The reader deletes anything that smells like a bot. This is not about beating detector software, it is about not making a person wince.
Why the obvious approach fails
A list of banned phrases can only tell you what not to write. It cannot tell you how to write. Follow one and you produce ordinary machine prose, scrub the fingerprints off it, and hand over something clean, smooth and dead. That is what most people mean by cringe: nothing wrong on the checklist, nothing right in the voice.
So the ban list is not the method. It runs last, as a scan, and it is a floor rather than evidence that anything is good. A draft that passes every check and still does not sound like the sender has failed.
Method
- Find the sender's own writing first. Look for a voice bank: a
voice-<sender>.mdin this skill'sreferences/, or a companion voice-bank skill installed in the environment. If one exists, read it before drafting anything. Real samples from the sender outrank every rule in this file, including the rules below. If there is no voice bank, ask for two or three things the sender has actually written and sent. Only if nothing exists do you write from the rules alone, and you say so when handing the draft over. - Pick the channel and its ceiling before writing a word. See the channel contracts below. A message that is correct and clean still fails if it is the wrong size for where it lands.
- Draft from the closest sample's rhythm. Not its topics, not its phrases. Its rhythm.
- Scan for tells. Read references/tells.md, fix what it catches, then check the final text for em dashes one more time.
- Read it aloud. Would this person actually type this sentence? If any sentence is a fragment, or an identity arrives as a stack of commas instead of a real verb, rewrite it.
A rewrite may NEVER add facts. No new names, numbers, dates, claims, or enthusiasm that were not in the source or the conversation. If you cannot quote where a fact came from, it does not go in.
The three rules that carry most of the weight
These came out of a blind test: four anonymous drafts per task, scored by a reader who did not know how any of them were produced. The drafts that won and the drafts that lost carried identical facts. These are what separated them.
1. Every fact arrives with an ordinary, slightly unflattering reason
The single biggest separator, named independently by judges on two different tasks. A fact with no reason attached reads as a line from a resume. The same fact with a mundane cause attached reads as something that happened to a person.
Won: "instead of paying for a stack", "nobody asked for it, I just needed it to exist", "most of it got built in the gaps while campaigns were already running", "which I built because I kept catching it in my own drafts".
Lost: the identical achievements listed with every reason stripped out, so each clause landed as a qualification.
2. The last sentence is the flattest thing in the piece
Nothing quotable at the end. No draft should finish on the line a reader would screenshot. Anything genuinely impressive belongs mid-text, where it gets passed over rather than presented. A closing aphorism, a tidy summary, a personality tagline, or a call to action all read as assembly.
The rule holds even when the sender's own best material is available. In the test, the losing drafts took the sender's strongest phrase and moved it to the end, which forced the surrounding sentences to even out in length, which produced exactly the cadence he rejects.
3. The samples set rhythm, not vocabulary
Never recycle the sender's signature phrases back at him. Do not open with a line lifted from his bio, do not close by stitching his most quotable phrases into a self-description. A blind reader spots this instantly, and it scores worse than plain, slightly stiff writing, because the only thing detectable is that the text came from somewhere else.
The corollary: you earn the voice by attaching plain reasons to facts, not by quoting the person back to himself.
Channel contracts
Rules that are right for one channel are wrong for another. This section exists because a draft that applied bio rules to a DM lost a blind test to a draft that did not.
| Channel | Ceiling | Shape |
|---|---|---|
| Chat (Slack, Google Chat, SMS) | 25 to 40 words | One short paragraph. No blank line, no second paragraph, no bullets. If it needs structure, it is not a chat message. |
| LinkedIn connect note or DM | one short paragraph | Follow the sender's DM sample exactly, including its contraction habits, which may be the opposite of the bio. One comma chain. Ends flat. |
| Cold or first-touch email | under 100 words | The point is that it gets read. |
| Reply inside a live thread | match the other person's length | Mirror them. |
| Bio or profile copy | as the sample runs | Evidence carries the compliment. Ends on a value, not a pitch. |
| Free-text application answer | 120 to 180 words | One outcome number is the ceiling. Inventory counts belong in the resume. |
| Document or brief | as long as the content earns | Only here do headings and bullets belong. |
Two habits are genuinely channel-dependent, so check the sample rather than assuming:
- Contractions. A sender can be full of them in profile copy and use none in a DM.
- Endings. Profile copy can land on a value. A DM lands on the least impressive clause.
What good looks like
Concrete numbers, names and dates kept exactly. Opinions allowed. Mixed feelings allowed. Sentences starting with But, And, So allowed. An aside or a self-correction is human. Sentence lengths that swing hard, because uniform length is the strongest statistical tell there is. Internet-native slang and vibes-numbers survive the edit rather than being upgraded into professional phrasing.
End on a fact, a plain observation, or a real question.