Skill: nissan/tweet-humanizer (version 1.0.3)

--- name: tweet-humanizer version: 1.0.3 description: 'QA pass to catch and fix AI-pattern tells in tweets before publishing. Scans for: uniform sentence length, missing contractions, over-punctuation, and generic hooks. Use after Sara or any agent drafts tweet content.' metadata: openclaw: emoji: ✍️ network: outbound: true reason: May call local Ollama API for style checking. requires: bins: - ollama --- <!-- ## When to Use This vs Sara **Use tweet-humanizer when:** - You have existing tweets (AI-drafted or human-drafted) and want a QA pass to catch AI-pattern tells - Running a final audit on a batch before publishing to strip punchline addiction, uniform cadence, over-polished phrasing, etc. - Humanising tweets that weren't written by Sara (e.g., ad-hoc drafts, legacy content, imported threads) **Use Sara when:** - Writing tweets from scratch — Sara writes in Nissan's voice from the start - Running the insight-to-social or blog-to-social pipeline — Sara owns voice, tweet-humanizer is not a pipeline step - You want new content generated, not existing content audited **Rule of thumb:** Sara generates. tweet-humanizer audits. They are not substitutes for each other. - Voice guidelines live in: `playbooks/insight-to-social/PLAYBOOK.md` and `playbooks/blog-to-social/PLAYBOOK.md` - Sara's output should already pass most tweet-humanizer checks — if it doesn't, that's a Sara quality issue, not a humanizer task --> --- name: tweet-humanizer version: 1.0.1 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](https://clawhub.com/skills/reddi-humanizer) skill for long-form text._ _Built from real patterns observed in AI-generated tweets for @redditech._


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)