Skip to content
Agentmart
Submit a tool

linkedin-humanizer

Remove AI tells from LinkedIn posts/comments: 2026 vocabulary density, reveal bridges, staccato fragments, stacked triads, performed sincerity.

Skill by sergebulaev

IndexedMIT★ 5,140
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/sergebulaev-linkedin-humanizer

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Remove AI tells from LinkedIn posts/comments: 2026 vocabulary density, reveal bridges, staccato fragments, stacked triads, performed sincerity. Tiered rewriter plus `--mode audit` LinkedIn post auditor and `--mode profile` voice builder. Not for drafting from scratch (use linkedin-post-writer) or beating AI detectors. Keywords: humanize, de-AI, post audit, post auditor, audit before posting.

Use cases: security, writing-editing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/linkedin-humanizer

What's inside

Skill name
linkedin-humanizer
Description
Remove AI tells from LinkedIn posts/comments: 2026 vocabulary density, reveal bridges, staccato fragments, stacked triads, performed sincerity. Tiered rewriter plus `--mode audit` LinkedIn post auditor and `--mode profile` voice builder. Not for drafting from scratch (use linkedin-post-writer) or beating AI detectors. Keywords: humanize, de-AI, post audit, post auditor, audit before posting.
License
MIT
Instructions
172 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (19)

  • SKILL.md
  • audit-ai-tells.md · references/
  • audit-checklist.md · references/
  • audit-examples.md · references/
  • detector-list.md · references/
  • emoji-patterns.md · references/
  • examples.md · references/
  • rules-explainer.md · references/
  • scrub-rules.md · references/
  • tier-rationale.md · references/
  • voice-fingerprint.md · references/
  • detectors.env.example · scripts/
  • test_detectors.py · scripts/
  • detector-tester.md · sub-skills/
  • emoji-detector.md · sub-skills/
  • illustration.md · sub-skills/
  • post-audit.md · sub-skills/
  • rules-explainer.md · sub-skills/
  • voice-profile.md · sub-skills/

SKILL.md (first lines)

# LinkedIn Humanizer V3

Rewrites any text to remove the AI tells that human readers notice and that LinkedIn's "AI slop" filter reacts to. Based on Wikipedia's "Signs of AI writing" taxonomy, the 2025-2026 stylometry literature, and our own length-controlled corpus. **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 (VUB IJEI 2026, Russell 2025), and light mechanical rewriting raises detectability (arXiv 2603.17522). No post-hoc edit reliably beats a Pangram-class detector, and detector scores on LinkedIn-length text (100-300 words) are noise. The real value is elsewhere: expert human readers cite vocabulary (53%) and sentence structure (36%) as what gives AI text away, and LinkedIn's July 2026 slop-report button costs a flagged post roughly 40% of its views. This skill removes what those readers and that filter 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: Geng & Trotta 2025]. 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 human rate [strong: Kobak Sci Adv 2025; Wu et al 2026; PNAS 2025]. AI vocabulary is also the one marker consistently reach-negative on LinkedIn in our own corpus (0.74-0.84 author-relative) [strong]. One marker in a paragraph is not a verdict. Three or more is.
- **Em dash is no longer a tell.** GPT-5.4 emits 1.43 per 1,000 words, below the 3.23 human baseline; 29% of human captions and 23% of top-creator LinkedIn posts in our corpus use one (author-relative ratio 1.09) [strong]. Zero em dashes is now its own tell (the writer is trying to look human). New rule: cap at about 1 per 100 words, replace excess with comma, colon, parentheses or a rewrite. Never a period.
- **Forced burstiness is the #1 2026 tell, not the fix.** LLM sentence-length variance is half of human [strong], but detectors do not score it, mechanical long/short alternation is a learnable humanizer fingerprint [weak: DAMAGE 2025], and on LinkedIn sentence-length variance is not an engagement lever in either direction (our corpus, n=397, within-creator: null to slightly negative) [strong]. "Short. Punchy. Done.", "No X. No Y. Just Z.", one-word paragraphs and "The result?" reveals are the current top tells. Pass 2 is now RHYTHM, not BREAK: fix machine-flat rhythm, never manufacture variance.
- **Rule of three is still a tell, at density.** Tricolon runs at 2x expert-human rate across 2026 frontier models [strong: arXiv 2604.19768]. Stacked, perfectly parallel triads and 3+ per post get scrubbed. One natural triple stays (26% of top human tweets have one).
- **Fingerprint injection was half wrong.** Named entities and concreteness are supported [strong: lower entity density in LLM text across 3 studies]; an odd-precision number with a referent in line 1 lifts likes 34% [vendor]. Bare numbers are not a discriminator, and inserted hedges and confessions backfire: performed hesitancy is 2x more common in LLM text than expert human text, and sincerity announcements ("let me be honest") are a named 2026 tell [strong: tropes.fyi false vulnerability; Schilke & Reimann 2025]. Pass 3 now asks for a flat, dated, uncomfortable fact instead.
- **Over-correction guard.** Humanizer output has its own fingerprint; "writing slightly worse on purpose" now reads as a tell [weak: DAMAGE 2025; slopotron]. 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.

See `sub-skills/rules-explainer.md` for per-rule justification, defenses, and citations, and `references/tier-rationale.md` §V3 for the evidence.

## When to use

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

## Input

Any text (post, comment, reply, DM). Optional: target voice samples (past human posts by the user).

## Output

- Rewritten text with AI tells removed
- Diff showing what changed and why
- Per-paragraph tell density (markers per paragraph; 3+ triggered a rewrite)
- Reader-read confidence: "reads human", "mixed", "reads AI" (this is a reader-tell estimate, not a detector score)
- Tier applied (which mode was used)

## Modes

```bash
# Default: forensic + strict (recommended for LinkedIn)
linkedin-humanizer <text>

# Forensic only: minimum-touch, just kill the leakage
linkedin-humanizer --mode forensic <text>

# Strict: forensic + density-scored 2026 vocabulary, reveal bridges, staccato (the LinkedIn-default config)
linkedin-humanizer --mode strict <text>

# Aesthetic: strict + style rules (single natural triads, passive voice, defendable vocab)
# Use when target audience is Wikipedia editors / academic readers / AI-tell hunters
linkedin-humanizer --mode aesthetic <text>

# All: every rule. Maximum scrub. Will flatten literary writing and trip the Pass 4 guard.
linkedin-humanizer --mode all <text>

# Audit: detection-only pass-fail review. No rewrite.
# Runs the 2026 algorithm checklist: length, hook, CTA, structure, AI tells.
# Returns Blockers + Warnings + suggested fixes. See sub-skills/post-audit.md.
linkedin-humanizer --mode audit <text>

# Profile: build/update the user's Voice & Brand Profile so every writing
# skill drafts in their real voice. Learns from 3-6 pasted posts (portable, no
# token) or, if APIFY_TOKEN is set, from pulled activity. Writes
# ../../references/voice-profile.md. See sub-skills/voice-profile.md.
linkedin-humanizer --mode profile
```

## The four passes

### Pass 1: SCRUB (score, then delete or replace)

The scrub pass applies tiered catalogs to delete or replace AI tells. The unit of judgement is the **paragraph, not the word**: count markers per paragraph, rewrite the paragraph at 3+, leave a single marker alone unless it is a reveal bridge or forensic leakage. Full regex source, replacement maps, and detection functions live in `references/scrub-rules.md`; load that file when actually executing the scrub.

**FORENSIC tier** (always on): real model leakage no human produces. Covers AI tool markers (oaicite, contentReference, turn0search0, attached_file, grok_card), knowledge-cutoff disclaimers ("As of my last update..."), phrasal templates ([Your Name], 2025-XX-XX), em dash density above 1 per 100 words, and outline-formula closers ("Despite its X... Looking ahead...").

**STRICT tier** (default on): what readers and the slop filter react to. Covers punctuation normalization (curly to straight quotes, `--` to a comma or rewrite; excess em dashes to comma, colon or parentheses, never a period), the durable 2026 vocabulary set scored by density (significant, crucial, notably, particularly, comprehensive, insights, robust, leverage, foster, landscape, nuanced, multifaceted, holistic, streamline, elevate, empower), grammatical markers (nominalisations, sentence-opening "-ing" clauses), the 2026 LinkedIn layer (quietly, matters, compound, signal, "the work", "built different", load-bearing, "doing the heavy lifting", "let that sink in", "that's the real story"), reveal bridges measured reach-negative ("The result?" -4.8%, "It's not X, it's Y" -4.9%, "Stop X, start Y" -6.7%, "Here's what/how" -4.3%), all 6 forms of negative parallelism, stacked or perfectly parallel triads and any 3rd triad in a post, and cliché closer tells ("What do you think?", "Tag someone who needs this").

**AESTHETIC tier** (opt-in only, will flatten literary writing): patterns AI uses but humans use legitimately. Covers the one remaining natural triad, decaying 2023-24 vocabulary that is now mostly harmless (delve, tapestry, realm, intricate, journey, paradigm), defendable normal English (cultivate, vibrant, garner, showcase, underscore), and passive voice (academic-writing defense ignored).

### Pass 2: RHYTHM (restore natural variance)

Detectors do not score burstiness, and on LinkedIn sentence-length variance is not an engagement lever in either direction. What readers do notice is the mechanical-uniformity tell (every sentence the same length, machine-flat; structure is 36% of expert judgments) and, worse, the staged variance that second-generation humanizers add. So Pass 2 has two jobs: fix rhythm only where it reads machine-flat, and remove manufactured variance everywhere. It never adds variance as a tactic.

- Per paragraph: one genuinely long sentence (25+ words, with a subordinate clause that does real work) next to a short one is fine and is what human variance looks like. Two or three mid-length sentences in a row are also fine. Edit only when every sentence in the paragraph runs the same length and reads flat, and then edit one sentence, not the paragraph.
- Standalone fragments: at most 2 per post, total. "Worth it." once is a voice quirk. Three in a post is a pattern.
- Banned outright (rewrite as full sentences): "The X? Y." reveals; "No X. No Y. Just Z."; "All the X. None of the Y."; "Simple. Effective. Easy." adjective stacks; one-word paragraphs ("Still." "Mostly." "Exactly."); pseudo-Socratic Q&A ("Why? Because..."); "Short. Punchy. Done." staccato runs. Fragment runs are the tell.
- Layout is not rhythm. One or two sentences per paragraph with blank lines between them is mobile-native LinkedIn formatting and stays (our corpus shows a mild uniform-rhythm advantage for that one-idea-per-line format at 112-204 words). Fragment-for-drama inside those paragraphs is the tell. Keep the layout, fix the sentences.
- Length note: on LinkedIn our corpus (n=397, author-normalised) shows sentence-length variance is not an engagement lever (null to slightly negative within-creator, no length-dependent flip). The short-form "don't force variance" rule applies to sibling platforms (Threads, short X); here it applies at every length.
- Break perfect parallel structures with one asymmetric sentence, once. Never alternate long/short/long/short across a post; that seesaw is the humanizer fingerprint.

Target: Flesch reading ease >55. No sentence-length variance target. The check is "does any paragraph read machine-flat, and did I add a staccato pattern," not a number.

### Pass 3: ADD (human fingerprints)

Require at least:
- One odd-precision number WITH a named referent: who, what, when, or what it cost ("$4,730 in Vercel overages, March invoice", not "$5k" and not "significant costs"). A bare number is not a fingerprint; LLM news copy uses more numbers than humans do. The referent is what carries the signal.
- One named entity (real person, company, date, city, tool)
- One first-person sensory detail
- One contradiction or self-correction, stated as a fact ("I predicted 3 months. It took 11."), not framed
- One specific, dated, uncomfortable fact stated flat, with no framing sentence before or after it. Not "I'll be honest, this hurt: we lost the client." Just "We lost Carta as a client on 14 Feb." The fact carries the vulnerability. A framing sentence converts it into performed sincerity, which readers now read as the tell.

Forbidden as openers or pivots (sincerity announcements, a named 2026 tell): "let me be honest", "I'll be real", "honestly?", "to be direct", "the honest version is", "honest caveat", "real talk", "I'll say the quiet part", "can I be vulnerable for a second", "unpopular opinion:" as a preface to a popular one. Also forbidden as insertions: hedges the author did not write ("perhaps", "I might be wrong but", "it seems"). Performed hesitancy is 2x more common in LLM text than in expert human text; adding it makes the draft read more AI, not less.

Varied sentence length is Pass 2's job. Do not add rhythm here.

If the input lacks these, ask the user for a specific number, name, or moment to plug in. Don't fabricate.

### Pass 4: SELF-CHECK (over-correction guard)

Humanizer output has its own fingerprint. Before returning, re-read the result once and answer three questions:

(a) Did Pass 2 create staccato stacks, "The result?" reveal bridges, one-word paragraphs, or a long/short/long/short seesaw? If yes, merge fragments back into full sentences.
(b) Did Pass 3 add a framed confession, a sincerity announcement, or a hedge the author never wrote? If yes, strip the frame and keep only the flat fact, or remove the insertion.
(c) Did scrubbing flatten the author's voice: uniform tone, no reaction, no concrete detail left, every em dash gone, every triad gone, every long sentence chopped? If yes, restore what the author had. Zero em dashes and zero triads is a tell in its own right.

If any answer is yes, dial back rather than scrub harder. Edits must be proportional to real problems: a clean draft gets two or three touches, not a fixed quota. When in doubt whether a pattern is the author or the model, leave it.

## Non-negotiable rules

From sergebulaev/linkedin-skills, MIT.

More from sergebulaev/linkedin-skills

Compare and alternatives

Signals

Stars
5,140
Forks
845
Open issues
0
Last commit (this folder)
Oct 7, 2026 (21 days ago)
Last release
Oct 22, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from sergebulaev

Cite this page

linkedin-humanizer skill. Agent Mart. https://agentmart.dev/skills/sergebulaev-linkedin-humanizer (last updated 2026-10-24)