🧪 Skills

Tweet Humanizer

Detect and fix AI-generated tweet patterns to make tweets sound like a real human typed them. Covers cadence uniformity, punchline addiction, missing casual...

v1.0.0
❤️ 0
⬇️ 94
👁 1
Share

Description


name: tweet-humanizer version: 1.0.0 description: | 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. Companion to the long-form "humanizer" skill. author: nissan homepage: https://github.com/reddinft/skill-tweet-humanizer license: MIT tags:

  • writing
  • social-media
  • twitter
  • humanizer
  • content requires: env: [] bins: [] metadata: openclaw: primaryEnv: none network: outbound: false

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.

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs