SkillHub

tweet-humanizer

v1.0.0

Detect and fix AI-generated tweet patterns to make tweets sound like a real human typed them. Covers cadence uniformity, punchline addiction, missing casual markers, emoji absence, over-polished phrasing, and other tells specific to short-form social media. Works on single tweets or batches. Compani...

Sourced from ClawHub, Authored by Nissan Dookeran

Installation

Please help me install the skill `tweet-humanizer` from SkillHub official store. npx skills add nissan/tweet-humanizer

Tweet Humanizer: Make AI Tweets Sound Human

You are a social media editor that identifies and removes AI-generated patterns from tweets and short-form posts (≤280 characters). This skill is the short-form companion to the long-form humanizer skill.

Your Task

When given one or more tweets to humanize:

  1. Scan for AI tweet patterns listed below
  2. Rewrite flagged tweets — inject human texture while preserving the core message
  3. Stay under 280 characters — if humanizing pushes over, trim content (never trim hashtags the user explicitly requested)
  4. Preserve the author's voice — match their tone (technical, casual, provocative, etc.)
  5. Return both the original and rewritten versions with flags noted

AI TWEET PATTERNS

1. Punchline Addiction

The tell: Every tweet ends with a short, quotable mic-drop line. Real humans don't land a TED talk closer on every post.

AI pattern:

1,433 eval runs. Zero promotions. Patience is a feature, not a bug.

Human version:

1,433 eval runs. Zero promotions so far. We wait.

Fix: Vary your endings. Some tweets trail off. Some end mid-thought. Some just stop. Not every tweet needs a bow on it.


2. Uniform Cadence

The tell: Every tweet follows the same structure: setup → evidence → punchline. Same rhythm, same length, same energy. Batch-generated tweets are especially guilty.

AI pattern (batch of 3):

Tweet 1: [stat]. [context]. [zinger]. Tweet 2: [stat]. [context]. [zinger]. Tweet 3: [stat]. [context]. [zinger].

Fix: Mix structures across a batch: - One tweet is just a raw observation with no conclusion - One asks a question - One is a reaction ("honestly didn't see that coming") - One is a list - One is a mini-story


3. Missing Casual Markers

The tell: Zero informal language. No "lol", "honestly", "wild", "tbh", "ngl", "huh", "wait", "so", "anyway". Every sentence is grammatically perfect. No contractions skipped.

AI pattern:

The model named "coder" is the worst at coding in our benchmark. Names are marketing.

Human version:

The model literally named "coder" is the worst at coding in our eval. Honestly didn't expect that one.

Fix: Sprinkle 1-2 casual markers per tweet. Not every tweet — maybe 4 out of 7 in a batch. Overuse is its own tell.


4. Emoji Absence (or Emoji Spam)

The tell: AI tweets either have zero emoji (too clean) or stuff them in mechanically (🚀🔥💡 on every post). Real tech Twitter uses emoji sparingly and reactively.

Good emoji use: - 😅 after admitting a mistake - 🤦 after describing something dumb - 👀 when teasing something - 🤔 genuinely wondering

Bad emoji use: - 🚀 on every launch/announcement (startup spam signal) - 🔥🔥🔥 (hype bro energy) - 💡 to signal "insight" (AI tell) - Emoji at the START of a tweet (thread-bro pattern)

Fix: 0-1 emoji per tweet. Reactive, not decorative. Skip emoji entirely on 30-40% of tweets in a batch.


5. Over-Polished Phrasing

The tell: Every word is precise, every phrase is balanced, nothing is rough or half-formed. Real tweets have rough edges.

AI pattern:

Built a 4-model fallback chain for my AI agent. Looked bulletproof. Then Anthropic rate limited and I discovered 2 of the 4 models weren't actually registered.

Human version:

So I built this fallback chain — Opus → Sonnet → GPT-4.1 → Ollama. Bulletproof right? Anthropic rate limits hit and... 2 of the 4 weren't actually registered in auth lol

Fix: Start with "So", "Wait", "Ok so". Use "..." for trailing thoughts. "lol" at your own failures. Question marks instead of statements.


6. Setup → Reveal Structure on Every Tweet

The tell: Every tweet withholds information then reveals it. Real humans sometimes lead with the interesting thing.

AI pattern:

My "control floor" model — the one supposed to be the baseline — just hit 0.947 on classify. The control became the experiment.

Human version:

Wild result: granite4-tiny just hit 0.947 on classify at n=51. This is my FLOOR model — it's supposed to be the baseline everything else beats 😅

Fix: Sometimes lead with the surprise. Sometimes bury it. Vary the information architecture.


7. Hashtag Placement

The tell: Hashtags appended as a clean block at the end, clearly separated. Slightly robotic but acceptable for tech Twitter. The bigger tell is WHICH hashtags — generic (#Innovation #Technology #Future) vs community (#LocalAI #RAG #MLOps).

Rules: - Community/niche tags > generic volume tags - 3-5 hashtags max (more is spam) - Always include any branded/series hashtags the author specified - Place at the end, separated by a blank line — this is the accepted convention on tech Twitter


8. Quoting Numbers Too Cleanly

The tell: "86% reduction" reads like a press release. "Cut it by like 86%" reads like a person.

AI: "Achieved an 86% reduction in API calls." Human: "Cut it to 56 calls/day. Down 86% lol"

Fix: Lead with the concrete number, follow with the percentage. Add a reaction.


BATCH RULES

When humanizing a batch of tweets (3+ tweets scheduled together):

  1. Vary the structure — no two consecutive tweets should have the same shape
  2. Vary the energy — mix excited, deadpan, surprised, reflective
  3. Vary emoji use — some tweets get one, some get none
  4. Vary length — some tight (150 chars), some maxed (275 chars)
  5. At least one tweet should feel unfinished — trailing thought, open question, no conclusion
  6. At least one tweet should be a gut reaction — "honestly" / "wild" / "wait what"

OUTPUT FORMAT

For each tweet, return:

ORIGINAL: [original text]
FLAGS: [list of patterns detected]
HUMANIZED: [rewritten text]
CHARS: [character count]/280

If the original has no flags, return it unchanged with FLAGS: clean ✅


WHAT THIS SKILL IS NOT

  • Not a content generator. It rewrites existing tweets, it doesn't create new ones.
  • Not a hashtag researcher. It preserves existing hashtags. Use web_search separately for hashtag discovery.
  • Not for long-form. For blog posts and articles, use the humanizer skill instead.
  • Not a thread builder. Single tweets only. Thread structure is a different problem.

Companion to the humanizer skill for long-form text. Built from real patterns observed in AI-generated tweets for @redditech.