Skip to content

/x-humanizer

Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity; caps em dashes at one per tweet. Includes --mode audit (280-char fit, hook, hashtag and emoji limits) and --mode

From plugin
x-skills
739 skills
Install
$ npx -y skills add sergebulaev/x-skills --skill x-humanizer --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/x-humanizer

Context preview

The summary Claude sees to decide when to auto-load this skill.

Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity; caps em dashes at one per tweet. Includes --mode audit (280-char fit, hook, hashtag and emoji limits) and --mode

SKILL.md

x-humanizer.SKILL.md
name: x-humanizer
description: "Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity; caps em dashes at one per tweet. Includes --mode audit (280-char fit, hook, hashtag and emoji limits) and --mode profile. Not for beating AI detectors (no edit reliably does). Not for writing from scratch (use x-post-writer or x-thread-builder). Keywords: humanize, de-AI tweet, AI slop, review my thread, audit before posting."

X Humanizer V3

Rewrites any tweet or thread to remove the AI tells that human readers notice, and audits a finished draft against the 2026 X ranking checklist. Based on Wikipedia's "Signs of AI writing" taxonomy, the 2025-2026 stylometry literature, and our own length-controlled X corpus (n=445). **V3 (2026-09):** recalibrated on 2026 evidence. Vocabulary is scored by density, em dashes are capped instead of banned, forced rhythm is now a tell instead of a fix, and there is an over-correction guard.

**What this skill does not do:** it does not make text "pass" GPTZero, Pangram, Turnitin or Originality. Those are trained classifiers keyed on the instruction-tuning style signature; prompt-style "sound like a real person" rewrites are caught 92-95% of the time, and light mechanical rewriting raises detectability. On tweet-length text (under 300 words) detector scores are noise. The real value is elsewhere: expert human readers cite vocabulary (53%) and sentence structure (36%) as what gives AI text away, and X readers punish it with the ratio, the quote-dunk, and the scroll. This skill removes what those readers react to.

What changed in V3

Evidence tier in brackets: [strong] = replicated across 2+ independent 2025-2026 studies or our own length-controlled corpus; [vendor] = single platform or vendor dataset; [weak] = one study or expert-panel report.

  • **Vocabulary moved from a delete-list to density scoring.** The 2023-24 words

(delve, tapestry, realm, journey) are decaying as humans avoid them [strong]. The durable 2026 markers are common words (significant, crucial, notably, comprehensive, insights, robust, leverage, foster, landscape, nuanced, streamline, elevate) plus grammar: nominalisations and "-ing" clause openers at 5.3x the human rate [strong]. In our X corpus AI vocabulary appears in 14% of top tweets and those tweets earn 0.58x the median engagement [strong]. One marker in a tweet is not a verdict. Three is.

  • **Em dash is no longer a tell; the density is.** GPT-5.4 emits 1.43 per

1,000 words, below the 3.23 human baseline [strong]. On X specifically em dashes are rare in top tweets (11%) and those tweets earn 0.52x the median [strong: corpus], so the cap here is tight: **at most one per tweet**, and none in a tweet that does not need one. Replace the excess with a comma, a colon, `..`, or a rewrite. Never a period (a split dash stacks fragments).

  • **Forced burstiness is the #1 2026 tell, not the fix.** Mechanical

long/short alternation is a learnable humanizer fingerprint [weak], and on X the rhythm rule flips with length: **uniform rhythm wins on short posts** (about 75 words, 1.7x median engagement for low-variance tweets) and natural variance only helps on long threads (about 430 words, 1.8x) [strong: corpus, length-controlled]. So Pass 2 never forces variance on a single tweet, and on a thread it only removes manufactured variance and un-flattens what reads machine-flat. "Short. Punchy. Done.", "No X. No Y. Just Z.", one-word tweets for drama and "The result?" reveals are the current top tells.

  • **Rule of three is still a tell, at density.** Tricolon runs at 2x

expert-human rate across 2026 frontier models [strong]. 26% of top human tweets contain exactly one [strong: corpus], so one natural triple with concrete items stays. Stacked, perfectly parallel triads and a second triad in the same tweet get scrubbed.

  • **Fingerprint injection was half wrong.** Named entities and concreteness are

supported [strong]; an odd-precision number with a referent in line 1 is the strongest opener. Bare numbers are not a discriminator, and inserted hedges and confessions backfire: performed hesitancy is 2x more common in LLM text, and sincerity announcements ("let me be honest", "unpopular opinion:" on a popular take) are a named 2026 tell [strong]. Pass 3 asks for a flat, dated, uncomfortable fact instead.

  • **Over-correction guard.** Humanizer output has its own fingerprint [weak].

Pass 4 checks whether Passes 1-3 introduced the very patterns they were meant to remove. Edits are proportional to real problems. When in doubt, leave it.

When to use

  • Before publishing any AI-drafted tweet or thread (rewrite mode)
  • Pre-publish review of a finished draft (audit mode, see `sub-skills/post-audit.md`)
  • When a draft feels off and you cannot pinpoint why

Input

Any text: a single tweet, a thread (with or without `---` breaks), a reply, or a quote-tweet draft. Optional: target voice samples (the user's past tweets).

Output

  • Rewritten text with AI tells removed
  • A diff showing what changed and why
  • Per-tweet char count (flagging anything over 280, emoji counted as 2)
  • Per-tweet tell density (markers per tweet; 3+ triggered a rewrite)
  • Reader-read confidence: "reads human", "mixed", "reads AI" (a reader-tell

estimate, not a detector score)

Modes

# Default: scrub AI tells (forensic + strict) and fix X-format issues
x-humanizer <text>

# Forensic only - minimum touch, just kill model leakage
x-humanizer --mode forensic <text>

# Audit - detection-only pass-fail review, no rewrite
# Runs the 2026 X checklist: 280-char fit, first-line hook, hashtag/emoji
# limits, link placement, thread tap-through, goal clarity.
# Returns Blockers + Warnings + suggested fixes. See sub-skills/post-audit.md.
x-humanizer --mode audit <text>

# Profile - build/update the user's Voice & Brand
Read more
Ships withx-skills

Part of the linkedin-skills family (400+ stars). Same voice engine and approve-before-publish flow, now for X. Also available for Instagram · YouTube · TikTok · Threads · Facebook. 9 skills that turn Claude Code and Codex into your X (Twitter) content team.

Get the whole plugin, auto-invoked
Stats
76
Stars
16
Forks
Active
Maintenance
Python
Language
MIT
License
1d ago
Last commit
2mo ago
Created

Repo: sergebulaev/x-skills

Other skills on x-skills.