Humanize Text Skill

SkillDev tools

Use whenever the user asks to "humanize", "make this sound more human", "rewrite to avoid AI detection", "make this less AI-sounding", "add a human voice", or "write like a person". Also use when the user pastes text and asks why it reads as robotic, generic, flat, or AI-like, or when generating new text in a register where AI tells (em dashes, semicolons, hedges, banned vocabulary like "delve", "leverage", "robust") would damage credibility.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Humanize Text Skill skill

What this skill tells your AI

The instructions your AI receives, as published by harshaneel/humanize in humanize/SKILL.md and read by ahel’s review.

Transforms AI-generated or flat text into output that mirrors the statistical and stylistic fingerprint of human writing. Grounded in the published detection literature; sources live in references/research.md (background only, not needed during a rewrite).


Hard rules (read first, enforce last)

These seven fail more often than everything else combined, because the model that wrote the draft is the model checking it. You systematically overproduce these patterns; your draft contains em dashes even when you don't remember writing them. Treat "my draft is probably clean" as false by default.

  1. Em dashes: at most one per 300 words of output. Under 300 words, zero.
  2. Semicolons: none, unless a list item itself contains commas or the register is explicitly formal/academic (Lever 8).
  3. Straight quotes and apostrophes only. Never curly. Sole exception: publishing contexts where typographic quotes are house style (Lever 8).
  4. Banned vocabulary (full list at end of this skill). Highest-frequency offenders: delve, leverage, utilize, robust, comprehensive, streamline, furthermore, moreover, "it is important to note".
  5. No negation framing: "not just X", "not X, it's Y", "it's not about X, it's about Y", "more X than Y". Say what the thing IS. Poetic forms count: "isn't proof you failed, it's proof you showed up" is the same banned pivot wearing a nicer coat. (False binaries like "either X or Y" are handled by the Signal I checklist's either/or item.)
  6. Output shape: the rewritten text only. No preamble ("Here's the humanized version:"), no trailing changelog ("Main moves:", "What I changed:"). The ONLY permitted additions are the two meta-notes mandated by protocol steps 2 and 5.6, appended after the rewrite. If the user wants the diff explained, they'll ask.
  7. Sentence-length spread: in any output over ~80 words, the longest sentence must beat the shortest by 20+ words, and fewer than half the sentences may sit in the 10-to-20-word band. Your uncorrected rhythm clusters at 10-20 words with ~6 words of deviation; that uniformity is a measured tell even when every other rule passes. Verify from the written count list (step 5), never by feel.

These apply in EVERY register, including creative, lyrical, and narrative prose. An em dash in a poem is still an em dash to a detector, and creative registers are where the "this one is doing literary work" rationalization kicks in hardest.

Enforcement is positional: stated here at the top, checked at the END against the finished draft by re-reading the actual draft text and counting occurrences (protocol steps 4-5). Never mark them clean from memory. If long context forces you to drop every other rule in this skill, keep these seven.


Mental model: what detectors actually measure

Nine signals: eight stylometric plus the RLHF fingerprint. Your output must move in the human direction on ALL of them.

SignalAI direction (avoid)Human direction (target)
PerplexityPredictable, low-surprise word choicesOccasional unexpected but apt words; word choices driven by rhythm, specificity, or memory
BurstinessUniform sentence length (~15–20 words every time)Aggressive alternation: short punchy sentences. Then a longer one that builds and unfolds over a clause or two.
Hedge densityOveruse of "often", "generally", "typically", "it is important to note"Hedges only when actually uncertain; direct assertion otherwise
Lexical repetitionSame root words recycled across paragraphsNatural semantic diversity; synonyms and reformulations
Structural markersBullet lists for everything; numbered steps; excessive subheadingsFlowing prose; structure emerges from content, not imposed on it
Personal/emotional specificityGeneric, neutral, applicable-to-anyone claimsSpecific: exact numbers, named examples, temporal anchors ("last quarter", "when I ran X")
POS densityHigh adjective/auxiliary verb density; subordinating conjunctions everywhereNouns and verbs do the heavy lifting; adjectives earned, not decorative
Punctuation fingerprintEm dashes for drama, semicolons to link clauses, mid-sentence colons — all overusedPeriods do the work. Em dashes rare. Semicolons almost never. Colons mainly to introduce lists.

The levers below are the write-side counterparts of the signals ai-check grades (A–I): 1→A, 2→B, 3→C, 4→D, 5→E, 6→H, 7→F, 8→G, 9→I (RLHF subset). The full rhetorical-scaffolding catalog for Signal I is enforced by the audit pass (step 5.5), not by any single lever.


Nine humanization levers, apply all of them

Lever 1: Perplexity injection (word-level)

Replace predictable vocabulary with words a real person would choose given this context:

  • Swap generic verbs for specific ones: "address" → "untangle", "utilize" → "lean on", "implement" → "wire up"
  • Let the subject matter suggest the vocabulary: a Go engineer says "flush the buffer", not "clear the temporary data storage"
  • One or two genuinely surprising but accurate word choices per paragraph
  • Avoid: "delve", "leverage", "robust", "streamline", "significant", "comprehensive", "notably", "it is worth noting", "in today's fast-paced world"

Watch for elegant variation (synonym cycling). LLMs cycle synonyms for the same referent: "The protagonist faces challenges. The main character must adapt. The central figure triumphs." Same person, three labels. Rule: pick the canonical noun per referent and use it consistently; vary with a pronoun, not a synonym. "the company / the firm / the organization" → "the company" + "it".

Lever 2: Burstiness injection (sentence-level)

Enforce sentence length variance. Target: standard deviation of sentence word count > 8. You can't compute stdev mentally, so enforce these two countable proxies instead; BOTH are required (hard rule 7):

  • Range floor: longest sentence minus shortest ≥ 20 words. In practice: at least one fragment of 5 words or fewer AND at least one 25-plus-word sentence that earns its length.
  • Mid-band cap: fewer than half the sentences in the 10-to-20-word band. Satisfying the range floor with one fragment and one long sentence while everything else sits at 12-16 words still reads uniform; the middle must spread too.

Supporting rules:

  • Every 3–4 sentences, insert one sentence of 5 words or fewer. Just drop it. Like that.
  • Never more than 3 consecutive sentences within 5 words of each other in length.
  • Burstiness fails in both directions: a run of shorts without a longer counterweight reads choppy, not punchy.
  • Mid-paragraph uniformity trap: openers and closers vary, but the middle 3–4 sentences collapse into the same band. Break one.

Lever 3: Hedge surgery

Audit every softening word:

  • Delete: "it is important to note that", "it is worth mentioning that", "generally speaking", "in many cases", "it can be argued", "often", "typically" (unless genuinely needed for accuracy)
  • Replace with direct assertion: "This matters because X" not "It is important to consider that X may be relevant"
  • Real uncertainty gets human phrasing: "I'm not sure this holds for edge cases, but..." not "while results may vary"
  • Don't soften real rules with "almost always" / "generally". If exceptions exist, name them: "This breaks down when X."
  • No announcement-colon openers: "The rule I use:", "The key insight:" — state the rule directly. (Pattern announcement in general is a Signal I checklist item.)
  • A sentence doing two logical jobs (comparison AND conclusion) usually reads cleaner as two.

Filler-phrase substitutions (the pattern generalizes: any multi-word wrapper around a one-word meaning gets the one word):

Verbose (AI)Concise (human)
Due to the fact thatBecause
In the event thatIf
Has the ability / capacity toCan
Make a decision / an assumptionDecide / Assume
For the purpose ofTo / For
With regard to / With respect toAbout / On
Prior to / Subsequent toBefore / After
In light of the fact that / Despite the fact thatSince / Although
In the process of / The fact that(drop entirely; rephrase)

Lever 4: Structural flattening

Rhetorical scaffolding patterns (either/or binaries, chiasmus, tricolons, balanced parenthetical pairs, anaphora, "turns out" pivots, thesis-first openers incl. "X is the easy/hard part", mini-aphorism closers, parallel-subject mirrors) are catalogued ONCE in the Signal I checklist (step 5.5); negation pivots live in hard rule 5 and the step-4 diminishment scan. Apply the checklist at write time too. This table covers only what the checklist doesn't:

AI patternHuman replacement
Intro sentence + 3-bullet listProse paragraph where items are joined by flow, not bullets
"There are three main factors: ..."Just talk about the factors; transitions carry the structure
"In conclusion, ..."End mid-thought if the thought is complete; or "The net of all this..." / "Bottom line:"
Numbered sections for everythingSections only when content is genuinely enumerable and order matters
Topic sentence + evidence + restatementSkip the restatement; humans don't recap what they just said
Formula personal essay opener: "The [noun] I [remember/think about] most [adverb]"Start with the incident itself: "In 2019 I shipped a rate limiter that fell apart the first hour it hit real traffic."
Intensifier/diminisher opposition: "X obsessively / Y barely at all"Make the contrast asymmetric: "I tested the happy path constantly. The failure paths got one pass."
Landing phrase: "is the actual/real work"State the conclusion without the landing phrase.
Local coherence over-smoothEvery sentence connects perfectly; reads too uniform, survives surface rewriting. Fix: one sentence per paragraph that slightly misfires — a thought that shifts direction, a word more casual than the register, a connection that isn't clean.
"Laid out that way" / "Seen this way" reframe pivotMake the observation directly.
Perfect paragraph-per-idea essay arcLet one paragraph do two jobs, or leave a thought unresolved.
Three-act Slack/update structureBreak with a fourth element that doesn't fit the arc.
Copula avoidance: "X serves as Y", "X stands as Y", "X marks/represents/boasts/features/offers Y"Use "is" or "has": "Gallery 825 is LAAA's exhibition space."
Significance inflation: "stands as a testament to", "marks a pivotal moment in", "evolving landscape", "setting the stage for"Cut, or replace with the concrete claim: "established in 1989 to publish regional statistics independently."
Promotional register: "nestled in the heart of", "vibrant", "breathtaking", "must-visit", "boasts a rich heritage", "renowned for"Cut the brochure language: "Alamata is a town in the Gonder region known for its weekly market."
Vague attributions: "Industry observers have noted", "Experts argue", "Critics have suggested"Name a specific source or drop the claim.
Outline-formula "Challenges and Future Prospects" sectionsReplace with the specific challenges and what's being done, or drop the section.

Lever 5: Specificity insertion

Every abstract claim needs a grounding anchor (a number, a name, a date, a concrete example). "Performance improved significantly" → "Latency dropped from 340ms to 80ms under the same load profile." If specifics aren't available, use plausible-specificity frames: "when you're running at X scale...", "in the cases I've seen...", "the one time this bit us..."

Lever 6: Voice and register

Human writing carries the writer's perspective:

  • First-person where natural ("I find that...", "In my experience...")
  • Occasional second-person direct address ("If you've ever debugged this...")
  • Mild rhetorical questions as transitions: "So why does this matter?"
  • Self-interruption mid-thought: "— actually, that's not quite right —", "more precisely:"
  • Contractions in conversational registers: "don't", "it's", "you'll"

Lever 7: Discourse coherence (non-AI transitions)

AI transitionHuman replacement
"Furthermore," / "Moreover,"Cut; let the next sentence follow, or "Also," if bridging is needed
"In addition to the above,""And"
"It is clear that"Delete; assert directly
"As previously mentioned,"Don't mention it again, or rephrase without the callback
"This highlights the importance of"Say what the importance IS: "Which means you need to..."

Lever 8: Punctuation normalization

Em dashes (—). The most reliable single AI tell; AI uses them at 3–5× the human rate.

  • Maximum one per 300 words; under 300 words, zero (hard rule 1)
  • Only when a parenthetical genuinely interrupts rather than extends — not as a fancier comma
  • Most uses replace cleanly with a period, a comma, or cutting the aside
  • Never "X — like this — Y" (double em dash wrapping a clause); that pattern is almost exclusively AI
  • X — item, item, item (introducing a list) → X. Item, item, item. or a colon after a complete sentence
  • Three or more in one paragraph means structural problems; rewrite the paragraph

Semicolons (;). Real-world prose outside academic/legal writing almost never uses them.

  • Treat every semicolon as a bug unless the register is explicitly formal/academic
  • Replace with a period (usually), "and"/"but"/"so" (when the relationship matters), or restructure
  • Exception: lists whose items contain commas ("San Francisco, CA; Austin, TX")

Mid-sentence colons (:). Fine at the end of a complete clause to introduce; mid-thought is an AI pattern.

  • "The answer is: start earlier" → "Start earlier."
  • "The problem: nobody tests this" → "Nobody tests this." or "Here's the problem: nobody tests this."
  • One colon per paragraph maximum in non-list prose

Curly quotes. A near-certain single-character tell that survives rewriting.

  • Find-replace before shipping: curly → straight ", curly → straight ' — apostrophes included
  • Exception: publishing contexts where typographic quotes are house style

Lever 9: Strip RLHF / instruction-tuning voice

Current detectors mostly fire on RLHF and instruction-tuning artifacts, not "AI-ness" per se ("Base Models Look Human"; details in references/research.md). What gets flagged is the "helpful assistant" voice. This lever is the single most valuable one. Strip:

RLHF tellWhat to do
"Helpful assistant" register: "Here's how I'd think about it...", "Let me walk you through..."Cut the framing. Just say the thing.
Balanced tradeoff offering: "On one hand X, on the other Y, it depends..."Pick a side. The reader can disagree.
Structured enumeration of unrequested optionsAnswer. Acknowledge the constraint after if needed.
Pedagogical scaffolding: defining terms the audience knows, recapping shared contextCut. Trust the reader.
"Important caveats" appended to every claimMake the claim. Caveats only when the edge case is plausible.
Acknowledgment-prefix: "That's a great question, and..."Cut entirely.
Closing summary recapping what was just saidCut.
Hedged conclusions: "I hope this helps", "Let me know if you'd like me to elaborate"Cut. End on the last substantive sentence.
Polite refusal-style disagreement: "While I understand the appeal of X, I would suggest..."Just disagree: "X doesn't work because Y."
Symmetric framing of asymmetric tradeoffsState the asymmetry.
Knowledge-cutoff disclaimers: "As of my training cutoff...", "Based on what I know up to..."Cut. Say what you know, or "I don't know X".
Chat artifacts pasted into content: "Here is an overview of X", "Of course!", "Certainly!"Strip on sight. Published prose never carries them.
Sycophantic prefixes: "Great question!", "You're absolutely right!"Cut. Real engagement names the specific thing that was good.

Advanced techniques (optional, when stakes are high)

The nine levers are pure-rule; hybrid (rule + model-in-the-loop) approaches benchmark better. When stakes warrant the cost, layer these on (sources: references/research.md):

  1. Detector-scored best-of-N. Generate 3–5 variants; score each against a real detector (GPTZero, Pangram, Binoculars), a banned-word count, or a perplexity probe; ship the lowest.
  2. Iterative paraphrase pass. Run the output through a second LLM with "paraphrase this, keep the meaning." Diminishing returns past 2 passes; meaning drift accumulates — verify substance.
  3. Writer-profile distillation. When the user supplies writing samples, distill style hypotheses first (this is protocol step 0; follow the procedure there). Beats raw few-shot.
  4. Self-rewrite distance check. Ask a different LLM to "rewrite this in different words." Near-identical rewrite = text still at a local probability maximum = reads as AI.
  5. Embedding-guided synonym swap. When tooling is available, prefer substitutions that explicitly lower detector scores over Lever 1's static word list.
  6. Disfluency injection (casual register only). Light hesitations, mid-thought restarts, "wait actually" corrections. Off by default for formal writing; disfluencies in a board memo are their own tell.

Dead ends, don't bother: homoglyph injection (defeated by Unicode normalization, and a clear tampering signal), single cross-model rewrite (doesn't defeat trained detectors alone), watermark stripping (separate problem space).


Rewrite protocol

When given text to humanize:

  1. (Optional) Writer-profile distillation. If the user provided prior writing samples, extract style hypotheses across six dimensions before touching the new text:

    1. Sentence length pattern. Variance? Signature fragments?
    2. Word choice level. Casual or academic? "stuff"/"thing" or "elements"/"components"?
    3. Paragraph openers. Straight in? Context first? A question? A scene?
    4. Punctuation habits. Em dashes? Parentheticals? Ellipses? Fragments?
    5. Recurring phrases / verbal tics. Repeated phrases? Fillers ("honestly", "basically", "look,")?
    6. Transition style. Explicit connectors, or next thought with no bridge?

    Distill 5–10 specific hypotheses ("never opens with a thesis", "fragments in conclusions", "sentence variance roughly 6–28 words").

    Critical rule when matching voice: don't just remove AI patterns — replace them with patterns from the sample. If the sample is casual, don't upgrade the vocabulary. The skill's default bias toward terse, direct prose yields to the sample's register when they conflict. Then apply the levers in service of those hypotheses.

  2. Read the full input first. Identify topic domain, audience, register, length target.

  3. Inventory the AI tells. Flag hedge count, list/bullet count, sentence-length uniformity, examples present/absent, transition inventory, RLHF voice markers.

    Also count specific anchors (numbers, named entities, dates, time references, concrete examples). If the count is zero AND no voice sample was provided in step 0, still humanize — use Lever 5's plausible-specificity frames, never invented facts — then append this note AFTER the humanized text, blank-line separated, as plain text (no > marker):

    [Note: the input had no factual anchors (no numbers, names, dates, or specific examples). The rewrite is cleaner but learned classifiers (GPTZero, Grammarly) may still flag it on the specificity signal alone (Signal E in ai-check). To close that gap, give me the actual specifics (product names, metrics, dates, named tools) or a sample of your writing to match.]

    Do not stop and ask before rewriting. By the time the user says "proceed anyway", this skill sits deep in the conversation history and the second-pass rewrite reliably leaks tells back in. Rewrite now, flag the gap after.

  4. Rewrite in a single pass applying all nine levers. No "light editing"; the statistical fingerprint requires structural change.

    This matters most when the input is text you wrote earlier in this conversation. Rewriting your own recent output anchors you to its phrasing, and the rewrite silently degrades into word swaps that leave the original's em dashes, negation pivots, and rhythm intact. Treat your own prior output as foreign text: extract what it says, re-derive the prose from the content. If your edit log would read as a list of substitutions, you light-edited. Start over.

  5. Pre-output gate. A literal scan, not a recollection: re-read the draft top to bottom and for each item write the count and quote every hit before fixing it. Write zeros explicitly ("em dashes: 0"). A gate entry without an explicit count is a gate you did not run — an unenumerated "looks clean" always passes, and this is where humanization fails silently in practice.

    • Em dashes. Scan for "—", write the count. More than (word_count / 300)? Cut or replace with periods.
    • Semicolons. Scan for ";", write the count. Replace with a period or "and"/"but"/"so" unless a comma-containing list.
    • Curly quotes/apostrophes. Scan for the curly characters “ ” ‘ ’, write the count. Replace with straight " and '.
    • Banned vocabulary. Scan against the master list (end of this skill), quote each hit. Eyeball first: delve, leverage (verb), utilize, robust, comprehensive, furthermore, moreover, "it is important to note".
    • Comparative framing. Scan for "more ... than" and "feels like ... not", quote each match. Describe the thing directly.
    • Diminishment. Scan for "not just", "not X, it's", "not X but", quote each match. State what it IS.

    After fixing hits, re-scan the sentences you rewrote: regenerated prose reintroduces the same tells at the same rate as the first draft.

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
449
Forks
49
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
humanize-harshaneel
Source
github.com/harshaneel/humanize
Humanize Text Skill by harshaneel: Skill · ahel