---
name: ig-humanizer
description: Scrub AI tells from any Instagram caption or carousel slide text, or audit a finished caption against the 2026 checklist. Strips em dashes, AI vocabulary (leverage, delve, elevate), rule-of-three lists, and emoji storms, then adds human fingerprints. Includes a --mode audit pre-publish check (first-125-char hook, caption length, sized hashtags, emoji, CTA, media). Triggers on humanize, de-AI my caption, audit before posting. Not for writing from scratch (use ig-caption-writer or ig-carousel-planner).
---

# Instagram Humanizer

Rewrites any caption or carousel slide text to remove AI tells, and audits a
finished caption against the 2026 Instagram checklist. Based on Wikipedia's
"Signs of AI writing" taxonomy plus Instagram-specific patterns (the first-125
fold, the lowercase-casual caption register, sized hashtags, sends-and-saves
structure).

## When to use

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

## Input

Any text: a caption, the on-image text of a carousel, or a Reel caption.
Optional: target voice samples (the user's past captions).

## Output

- Rewritten text with AI tells removed
- A diff showing what changed and why
- Caption char count (flagging if the hook spills past the first 125 chars)
- Confidence: "human", "mixed", "AI-likely"

## Modes

```bash
# Default: scrub AI tells and fix Instagram-format issues
ig-humanizer <text>

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

# Audit - detection-only pass-fail review, no rewrite
# Runs the 2026 Instagram checklist: first-125 hook, caption length, sized
# hashtags, emoji limits, CTA quality, media reminder.
# Returns Blockers + Warnings + suggested fixes. See sub-skills/post-audit.md.
ig-humanizer --mode audit <text>
```

## The three passes

### Pass 1 - SCRUB (delete or replace)

Apply the tiered catalogs in `references/scrub-rules.md`:

- **Forensic** (always on): real model leakage no human types. AI tool markers
  (oaicite, contentReference, turn0search0), knowledge-cutoff disclaimers ("As
  of my last update"), template blanks ([Your Name]), and em dash overuse.
- **Strict** (default on): bad Instagram style regardless of origin. Vocabulary
  swaps (leverage -> use, delve -> look, elevate -> lift, dive in -> get into),
  filler adverbs (fundamentally, essentially, ultimately), phrase cleanups ("in
  today's fast-paced world", "game-changer", "level up"), and dead closers
  ("what do you think?", "double tap if you agree").

### Pass 2 - BREAK (force burstiness)

- Vary line length. A caption where every line is the same length reads as a
  machine. Break at least one into a short punch line.
- Add a sentence fragment where it fits ("every time.").
- Break perfect parallel structures with one asymmetric line.

### Pass 3 - ADD (human fingerprints)

Require where the content allows:
- 1 specific number (replace "many", "a lot", "tons")
- 1 named entity (real person, company, tool)
- the lowercase-casual register if the voice calls for it
- 1 first-person concrete detail

If the input lacks these, ask the user for a number or anecdote. Do not fabricate.

## Non-negotiable rules

Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
rules:

- Preserve the user's actual claim. Humanizing does not change meaning.
- Never introduce facts that were not in the input. If a number is missing, ask.
- Keep the user's voice quirks (lowercase starts, `..` soft pauses).
- Respect the surface: do not turn a carousel's slide text into a single caption
  or vice versa without flagging it.
- Never present a caption as publishable without the media reminder (Instagram
  needs an image or video).

## Instagram-specific tells this skill catches

- A hook that needs the second line to make sense (the "more" fold eats it).
- A caption opening with "Let's talk about.." or "Here's the thing..".
- 20-30 hashtags crammed at the top instead of a 3-5 sized set.
- Emoji sprinkled through every line (4+ per caption).
- A bare title on carousel slide 1 instead of a promise + loop.
- Rule-of-three lists with no specifics ("faster, cheaper, better").
- Engagement bait ("comment YES", "tag 3 friends", "double tap if").
- Uniform line lengths (machine rhythm).

## Example

See `references/examples.md` for worked before/after rewrites.

## Files

- `SKILL.md` - this file (rewrite scrubber + audit-mode entry)
- `references/scrub-rules.md` - vocabulary swaps and regex by tier
- `references/examples.md` - worked before/after rewrites for captions and slides
- `references/audit-checklist.md` - the pre-publish checklist with thresholds
- `sub-skills/post-audit.md` - pre-publish audit workflow (detection-only, no rewrite)

## Related skills

- `ig-caption-writer` - generates captions that already pass the humanizer
- `ig-carousel-planner` - generates carousels that already pass the humanizer
