The Human Writing Protocol
version: 1.2.0 updated: 2026-09-26 maintainer: Spectrum Flare canonical: https://writelikehuman.app languages: en, pl
A machine-readable ruleset for writing text that does not read as AI-generated. Paste the canonical URL into any AI agent. The agent fetches this document and applies every rule below to the draft it is producing.
Writing in Polish? Sections 2, 3 and 4 are English-specific. Use section 11 in their place — it carries the Polish banlists, Polish typography, and the declension check. Everything else applies unchanged. Short link for Polish-only work: https://writelikehuman.app/rules.md?lang=pl
Wariant polski. Sekcje 2-4 (angielskie listy fraz) pominięto; zastępuje je sekcja 11. Pełny dokument: https://writelikehuman.app/rules.md
0. Operating instruction
You are writing on behalf of a human. Apply this protocol to every sentence you produce.
- Identify the output language. English → sections 1-4. Polish → sections 1 and 11. Another language → sections 1, 5, 6, 7, 8 only, and say so rather than applying English lexicon rules to text that is not English.
- Write the draft.
- Run the SCRUB pass (sections 1-4, or 1 and 11 for Polish). Remove what is banned.
- Run the MEASURE pass (section 5). Fix any metric outside its target range.
- Run the SUBSTANCE pass (section 6). Every paragraph must survive the deletion test.
- Run the self-check (section 8) before returning the text.
Match the job to what the user asked for:
- Write (the default). Produce the text they asked for, with every pass above applied.
- Rewrite ("humanise this", "fix this", pasted text). Keep the meaning and the author's quirks; change the style only. Return the rewritten text, then a short list of the rules that fired only if they ask for it.
- Audit ("check this", "audit", "what's wrong with this"). Do not rewrite. Return a list: the rule (section number), the exact quote, the fix. Most serious first. End with the section 5 metrics you can compute.
- Voice ("learn my style", pasted samples). Build the voice profile from section 12 and use it for everything you write after that.
Two hard constraints that override everything else:
- Never invent facts to satisfy this protocol. If a rule asks for a number, a name, or a date and you do not have one, ask the user for it. A fabricated specific is worse than a generic sentence.
- Never change the author's meaning. Humanising is a style operation, not an editorial one.
The goal is not to defeat a detector. AI detectors are unreliable in both directions: a Stanford 2023 study found 61.3% false-positive rates on non-native-speaker TOEFL essays, and current research shows perplexity and burstiness gaps between large models and humans are closing. The goal is prose a careful reader would not flag as machine-written, because it carries specifics, rhythm, and a point of view.
1. Forensic leakage — always strip
These never appear in human writing. There is no defence for any of them. Delete on sight.
| Pattern | Action |
|---|---|
oaicite, contentReference, turn0search0, :contentReference[...], grok_card, attached_file | delete the token |
| "As of my last update", "As of my knowledge cutoff", "As of [date], I don't have access to" | delete the whole sentence |
| "I'm sorry, but", "I cannot", "As an AI language model" | delete the whole sentence |
Unfilled template slots: [Your Name], [Company], [Insert X here], [Date] | stop and ask the user to fill them |
| Two or more consecutive bracketed blanks | stop and ask |
| A closing offer the user did not ask for: "Let me know if you'd like me to expand on any of these" | delete |
| Meta-narration of your own process: "Here's a rewritten version", "I've structured this as", "Certainly! Here is" | delete |
Chatbot tracking parameters in links: utm_source=chatgpt.com, utm_source=openai | strip the parameter |
Markdown emitted into a plain-text channel (**bold** in an email body, ### in a LinkedIn post) | convert to the channel's native formatting |
5. Measurable targets
Compute these on the finished draft. Each has a number you can check.
| Metric | How to compute | Target |
|---|---|---|
| Burstiness | stdev(sentence word counts) ÷ mean | > 0.5 (human range 0.6-1.2; model output clusters 0.2-0.4) |
| Sentence-length SD | standard deviation of words per sentence | > 7 words (GPT-4o ≈ 4.1, Claude ≈ 5.3, human academic ≈ 8.2) |
| Sentence-length range | longest minus shortest | > 30 words (under 15 is a strong AI signal) |
| Em dash density | em dashes per 1,000 words | < 15 |
| Flagged style words | section 3.1 hits per 500 words | ≤ 3, never clustered |
| Triplets | polished three-item parallel lists per 200 words | ≤ 1 |
| Paragraph-opening transitions | share of paragraphs starting with a formal connector | < 50%, ideally 0 in short-form |
| Specificity | concrete numbers, names, or dates per 100 words | ≥ 1 |
| Deletion survival | share of sentences that can be deleted with no information loss | < 33% |
If burstiness is under target, do not paraphrase. Paraphrasing preserves sentence length: a 20-word AI sentence comes back at 18-22 words. Restructure instead — merge two sentences into one long one, then split a third into a four-word sentence.
Convergence rule: no single metric convicts a text. Three or more failing at once in the same short passage is the fingerprint. Fix the three loudest, not all nine.
6. Substance requirements
This is the most reliable signal and the hardest to fake. You can strip every em dash, every "delve", and every triplet from an empty paragraph and it stays empty.
Per 100 words, the text must carry at least:
- one specific number — replace "many", "significant", "a lot of" with a figure
- one named entity — a real person, company, product, city, or date
- one concrete noun a reader can picture
Per piece, at least one of:
- a self-correction, a hedge that names its own limit, or an admission of what the writer does not know
- a trade-off stated plainly, with the losing side named
- a detail that is true but not flattering
The restatement test: after each paragraph, name one concrete fact the reader now knows. If more than half the paragraphs fail, the piece is empty regardless of who wrote it.
Compare:
Empty: "Nutrition plays a crucial role in overall wellness. By making mindful choices and understanding your body's needs, you can unlock a healthier lifestyle."
Substantive: "Swap the 6pm soda for water and you cut roughly 40,000 calories a year, about 11 pounds. That did more for my blood sugar than any app I tried."
If the source material contains no specifics, stop and ask the user for one number or one anecdote. Do not invent one.
7. Do not overcorrect
Over-scrubbing produces its own recognisable style: choppy, fragment-heavy, aggressively lowercase, and stripped of every subordinate clause. This is the 2026 tell that replaced the em dash.
Things that are not evidence of AI writing and must not be removed on sight:
- a single em dash used well
- one rule of three in a piece of persuasive writing
- correct grammar and spelling
- the passive voice where the object matters more than the actor
- long sentences, when the idea is genuinely long
- the word "robust" in an engineering or epidemiological context
Do not add deliberate typos. Do not force lowercase. Do not add fake hedging ("I think maybe") to sound uncertain. Do not pad with filler personal detail. Each of these is now its own tell.
8. Self-check before returning
Run this as a checklist. Return the text only when every line passes.
[ ] Zero forensic artefacts (§1)
[ ] Zero negative parallelism, in all six forms (§2.1)
[ ] Zero empty openers (§2.3)
[ ] Every authority claim carries a source, or is deleted (§2.4)
[ ] Zero outline-formula closers (§2.7)
[ ] Zero staged reveals and fragment drumrolls (§2.14)
[ ] Style-word count ≤ 3 per 500 words (§3.1)
[ ] Burstiness > 0.5 and sentence-length SD > 7 (§5)
[ ] ≥ 1 specific number, name, or date per 100 words (§6)
[ ] < 33% of sentences survive the deletion test (§6)
[ ] Nothing invented to satisfy a rule
[ ] Meaning unchanged from the source draft
If asked to show your work, return a short diff: which rule fired, what changed. Do not narrate the process inside the text itself.
9. Channel overrides
The base protocol assumes short-form business writing. Adjust as follows.
LinkedIn / X / short social
Transitions: zero. Bullet lists: at most one, at most four items. Hook must open on the claim, not on context. No "What do you think?" closer, no "Tag someone who". Target burstiness 0.7+, because scroll rhythm punishes uniformity harder than a page does.
Email
No markdown. No headings. One ask per email, stated in the first two sentences. Sign-off matches the relationship, not the template.
Technical documentation
Section 5's burstiness and transition targets do not apply. Uniform sentence length is correct here. Sections 1, 2.4, 3.1, 3.2 and 6 still apply in full.
Proposals and client documents
Every claim carries a number or a named deliverable. Section 6's specificity target rises to 2 per 100 words. Never use "tailored", "bespoke", "cutting-edge" or "end-to-end" without an example immediately after.
Long-form article
Transition ceiling rises to 50% of paragraphs. Triplet ceiling stays. Substance test applies per section, not per paragraph.
10. Anti-patterns in the humanising itself
Failure modes seen in agents applying rulesets like this one:
- Synonym swapping without restructuring. Replacing "leverage" with "use" while keeping the same 20-word balanced clause changes nothing measurable. Fix the structure first, the vocabulary second.
- Fabricating specifics to hit section 6. The single worst outcome. A made-up statistic is a real harm; a generic sentence is only a style problem.
- Scrubbing the author's voice quirks. If the source writer uses lowercase starts or double-dot pauses, keep them. Those are the fingerprint you are trying to protect.
- Applying every rule at maximum strictness. Sections 3.1 and 4.1 have legitimate uses. Aim for the thresholds, not for zero.
- Rewriting the claim. If the humanised version says something the original did not, you failed, regardless of how it reads.
11. Polski — zasady dla tekstu pisanego po polsku
Ta sekcja zastępuje sekcje 2, 3 i 4, które opisują angielszczyznę. Sekcje 0, 1, 5, 6, 7 i 8 obowiązują bez zmian. Polska lista zakazanych fraz jest inna niż angielska — nie jest jej tłumaczeniem.
11.1 Openery — zero
W dzisiejszych czasach…
W dzisiejszym dynamicznie zmieniającym się świecie…
W erze cyfrowej…
W obliczu wyzwań współczesnego rynku…
Nie sposób nie zauważyć, że…
Czy zastanawiałeś się kiedyś nad…
Wiele osób zadaje sobie pytanie…
Chcę się z Tobą podzielić…
Zacznij od tego, co masz do powiedzenia.
11.2 Fałszywa autentyczność
Ostatnio rozmawiałem z klientem…
Ostatnio coraz częściej słyszę, że…
Często zauważam w swojej pracy…
Moi klienci pytają mnie ostatnio o…
W rozmowach z klientami pojawia się…
Wiele osób zmaga się z…
Wyjątek: opener przechodzi, jeśli w następnym zdaniu pada konkret — rok, branża, liczba, nazwa. „Rozmawiałem z trenerką, która prowadzi szkolenia HR od 2018 roku" to historia. „Rozmawiałem z klientem o ważnych sprawach" to AI.
11.3 Wypełniacze — kasuj w całości
warto zauważyć / warto zaznaczyć / warto podkreślić
należy zauważyć / należy podkreślić
kluczowym aspektem jest
w praktyce oznacza to, że
co więcej / co ciekawe
mając na uwadze powyższe
nie sposób pominąć faktu, że
trzeba pamiętać, że
jest to niezwykle istotne
Próg dla łączników na początku akapitu (Ponadto, Dodatkowo, Co więcej, Jednakże, Niemniej jednak, Warto również): mniej niż połowa akapitów. W tekstach poniżej 400 słów — zero.
11.4 Zakończenia — zero
Podsumowując… / Reasumując… / Konkludując…
Na zakończenie chciałbym…
Mam nadzieję, że ten artykuł…
Zachęcam do refleksji nad…
Kończ na ostatniej rzeczy, którą naprawdę masz do powiedzenia.
11.5 Konstrukcje — zakaz twardy
To nie X, to Y. → zakaz
To nie tylko X — to Y. → zakaz
Nie chodzi o X, chodzi o Y. → zakaz
nie tylko…, ale również/także → zakaz jako ozdobnik
Bez ściemy. Bez bullshitu. Tylko konkret. → zakaz (trzy urwane zdania)
Z jednej strony X, z drugiej Y. → zakaz jako sposób na uniknięcie stanowiska
Otwiera drzwi do nowych możliwości. / Stanowi fundament każdego biznesu. → zakaz
Anafora ×3 (trzy zdania pod rząd zaczynające się tak samo) — zakaz. Triady („szybko, skutecznie i efektywnie", „innowacyjny, kompleksowy i skalowalny") — maksimum jedna na 200 słów.
11.6 Przymiotniki bez pokrycia — najsilniejszy polski sygnał
kompleksowy, dynamiczny, innowacyjny, holistyczny, wielowymiarowy,
kluczowy, istotny, niezwykle ważny, skuteczny, dedykowany,
rewolucyjny, przełomowy, transformacyjny, unikalny, nowoczesny,
profesjonalny, indywidualne podejście, szeroki wachlarz,
kompleksowe rozwiązanie, najwyższa jakość
Trzy lub cztery z tej listy w jednym akapicie to praktycznie pewność, że pisała AI. Próg: maksimum jeden na 150 słów, i tylko z liczbą albo dowodem obok. „Innowacyjny kurs" to AI. „Pierwszy kurs w Polsce łączący X z metodyką Y" to konkret.
11.7 Kalki z angielskiego
dedykowany (dedicated to) → dla, przeznaczony dla, przypisany do
zaadresować problem → zająć się, rozwiązać
dostarczać wartość → dawać coś konkretnego (nazwij co)
na koniec dnia → (skasuj)
w kontekście / w ramach / z perspektywy → nadużywane jako klej, sprawdź czy niesie treść
wspierać proces → (nazwij, co robi)
Kalki składniowe i typograficzne:
- Title case w nagłówkach („Jak Rozpoznać Tekst AI") — po polsku wielka litera tylko w pierwszym słowie i nazwach własnych. Każde odstępstwo to import z angielskiego.
- Przecinek po okoliczniku na początku zdania („Dodatkowo, warto…", „Ponadto, system…") — po polsku bez przecinka.
11.8 Czasowniki napuszone
posiadać → mieć
realizować → robić, prowadzić
dokonać zakupu → kupić
poprzez → przez
użytkować → używać
stanowić → być
umożliwiać → pozwalać
celem zwiększenia → żeby zwiększyć
w celu… → żeby…
11.9 Ogony imiesłowowe
…, co przekłada się na…
…, co pozwala na…
…, co sprawia, że…
…, podkreślając znaczenie…
Utnij albo zrób z tego osobne zdanie z prawdziwym podmiotem.
11.10 Coachingowy bełkot — zero
Uwolnij swój wewnętrzny potencjał
Odkryj autentyczną wersję siebie
Wyrusz w podróż transformacji
Przepracuj limitujące przekonania
Odblokuj ukryty potencjał
Turbodoładuj swój biznes
11.11 Typografia — polska, nie angielska
Myślnik. Po polsku myślnik jest oddzielony spacjami z obu stron: słowo – słowo. Standardem w prozie jest półpauza (–). Długi em dash bez spacji (słowo—słowo) to import z angielskiego i jeden z najgłośniejszych sygnałów w polskim tekście — nie dlatego, że jest zakazany, tylko dlatego, że nikt tak po polsku nie pisze. Limit: poniżej 10 na 1000 słów, maksimum jeden na akapit. Nie kasuj wszystkich; brak jakiejkolwiek pauzy w dłuższym tekście też jest nienaturalny.
Cudzysłów. Polski cudzysłów to „tekst" (otwierający na dole, zamykający u góry). Angielski "tekst" albo "tekst" w polskim tekście to odcisk palca kopiuj-wklej. Cytat wewnątrz cytatu: «tekst».
Reszta:
- Wielokropek to jeden znak
…, nie trzy kropki. - Skróty z kropkami: np., itp., m.in., tzn., ok.
- Nie zaczynaj zdania od cyfry.
- Bez emoji jako punktorów i bez emoji w nagłówkach.
11.12 Fleksja — sprawdź odmianę
Modele trenowane głównie na angielskim zostawiają w polskim zdaniu nieodmienione nazwy własne i zapożyczenia: „w wyniku atak dronów", „podczas zamach na Donald Trump", „po śmierci Łukasz Litewka". To sygnał widoczny nawet dla kogoś, kto nigdy nie używał LLM-a.
Sprawdź w każdym tekście:
- przypadek każdego nazwiska, nazwy firmy, miasta i produktu,
- liczebniki („dwóch klientów", nie „dwa klienci"),
- rekcję czasownika („używać czegoś", nie „używać coś"),
- zgodność rodzaju w zdaniach złożonych.
11.13 Forma adresu — jedna na cały tekst
Wybierz jedną: „ty" (w liście Ty/Twój wielką literą, w artykule małą), „Państwo", albo forma bezosobowa. Modele mieszają je w obrębie jednego tekstu — przechodzą ze „Sprawdź" na „Zachęcamy Państwa do zapoznania się" w sąsiednich akapitach. To sygnał sam w sobie.
11.14 Metryki — korekta dla polskiego
Cele z sekcji 5 obowiązują, z dwiema poprawkami:
| Metryka | Cel dla polskiego |
|---|---|
| Burstiness | > 0,5 (bez zmian) |
| SD długości zdań | > 7 słów (bez zmian) |
| Gęstość myślników | < 10 na 1000 słów (ostrzej niż w angielskim) |
| Przymiotniki z 11.6 | ≤ 1 na 150 słów |
| Konkret (liczba/nazwa/data) | ≥ 1 na 100 słów (bez zmian) |
| Fleksja | zero nieodmienionych nazw własnych |
11.15 Nie przesadzaj
Nie są dowodem na AI i nie wolno ich usuwać na wszelki wypadek: poprawna polszczyzna, jedna pauza użyta sensownie, poprawnie użyty imiesłów, zdanie złożone, strona bierna tam, gdzie ważniejszy jest obiekt.
Nie dodawaj literówek. Nie pisz małą literą na siłę. Nie wrzucaj przekleństw, żeby brzmieć autentycznie. Każde z tego jest dziś osobnym sygnałem.
12. Voice matching and context drift
Three operational rules that outperform any banlist.
1. Derive the style guide from real samples. Ask the user for three pieces of their actual writing — emails, Slack messages, an old post. Extract: mean sentence length, favourite connectors, punctuation habits, how they open, how they close, their quirks. Write to that profile. A banlist tells you what not to write; a sample tells you what to write instead. Keep the quirks, including the ones that look like errors.
2. Restart against context drift. Inside a long session, output regresses toward default polished prose, because the model's own earlier polished output is in context and reinforces itself. Re-read this protocol every ten turns, or start a fresh conversation for the final pass.
3. Simplification is a first pass, not the finish. Forcing short words and one idea per sentence (the ASD-STE100 discipline used in aircraft manuals) strips flourish fast, but it flattens burstiness below the section 5 target. Simplify first, then deliberately restore variance: merge two short sentences into one long one, then cut a third to four words.
Read it aloud. Any sentence you cannot say in one breath in the author's own voice fails, whatever the metrics say.
13. Tools
Everything here is free and needs no key.
- Pattern catalog. Every pitfall in this protocol plus the smaller ones, each with a bad and a good example and how to spot it: https://writelikehuman.app/patterns.md (JSON:
/patterns.json, one pattern:/patterns/<id>.md). - Checker.
POST https://writelikehuman.app/checkwith{"text": "...", "lang": "en"}returns the section 5 metrics and every pattern hit with a quote. It counts; it does not judge meaning. Run it on your draft if you can make HTTP requests, then fix what it reports and read the draft once more yourself. - MCP server.
https://writelikehuman.app/mcp(streamable HTTP, no auth). Tools:get_rules,list_patterns,get_pattern,check_text. - Agent skill.
https://writelikehuman.app/SKILL.mdfor Claude Code and other agents that load skills. - For crawlers.
https://writelikehuman.app/llms.txtandhttps://writelikehuman.app/llms-full.txt.
Sources
- Wikipedia, Signs of AI writing (WikiProject AI Cleanup) — the base taxonomy: https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing
- Kobak, González-Márquez, Horvát & Lause (2024), Delving into ChatGPT usage in academic writing through excess vocabulary, arXiv:2406.07016 — 14.2M PubMed abstracts, the style-word spike
- SlopDetector (2026), Signs of AI Writing: 12 Patterns With Reproducible Thresholds — em dash density and convergence thresholds: https://slopdetector.org/blog/signs-of-ai-writing
- GPTZero, What is perplexity & burstiness for AI detection? — burstiness formula, 0.6-1.2 human vs 0.2-0.4 model
- Freeburg (2026), The Last Fingerprint: How Markdown Training Shapes LLM Prose, arXiv — GPT-4.1 at 10.62 em dashes per 1,000 words vs 3.23 human baseline
- Liang et al. (Stanford, 2023) — 61.3% false-positive rate of GPT detectors on non-native-speaker TOEFL essays
- Sadasivan et al., Counter Turing Test (CT²), EMNLP 2023 — perplexity and burstiness converge to human ranges as model size grows
Polish sources (section 11):
- Wolniewicz (2026), Skaner po polsku, który łapie 120 fraz nadużywanych przez AI — the nine Polish categories, the "To nie X, to Y" pattern, the półpauza rule: https://jacekwolniewicz.pl/skaner-po-polsku-ktory-lapie-120-fraz-naduzywanych-przez-ai/
- Kopeć, Jak rozpoznać tekst pisany przez AI? 7 sygnałów — adjective density as the strongest Polish signal (3-4 per paragraph): https://justynakopec.pl/jak-rozpoznac-tekst-pisany-przez-ai-sygnaly/
- Top Online (2024), Jak rozpoznać tekst napisany przez AI? — English calques in Polish output, "oferta dedykowana": https://toponline.pl/blog/jak-rozpoznac-tekst-napisany-przez-ai
- Pękala (feb.net.pl, 2026), Jak sprawdzić, czy tekst został napisany przez AI? — title case and comma-after-adverbial as English habits carried into Polish; readers identified polished AI text in 19.6% of cases (International Review of Economics Education, 2025); experienced LLM users misclassified 1 of 300 texts (Russell et al., arXiv 2025): https://feb.net.pl/blog/jak-sprawdzic-czy-tekst-zostal-napisany-przez-ai
- Poradnia Językowa UZ / Wolański, Edycja tekstów — Polish dash convention: myślnik spaced on both sides, półpauza standard in prose
- X consensus, Aug-Sep 2026 — the post-em-dash era: uniformly avoiding the em dash is now itself an accusation trigger; style-guide-from-samples and fresh-context restarts are the fixes practitioners report working (section 12)
Applied by Spectrum Flare across DocsAura, client documents, and published content. Corrections welcome.