| name | humanize |
| description | Rewrite any piece of text so it reads as written by a human, not an AI. Adversarial loop drafts a rewrite, runs it through 7 detector agents, collects tells, rewrites, and repeats until the AI score drops below threshold. Baked-in learnings improve each run. |
| triggers | ["humanize","humanize this","humanize the text","make this sound human","make this less ai","this reads like ai","/humanize"] |
Humanize
Rewrite any text — email, blog post, landing copy, sales pitch, tweet, doc, paragraph, full page — so it passes AI detection and reads like a real person wrote it. Uses an adversarial multi-agent loop: rewrite, detect, learn, rewrite, repeat.
This is the generalized sibling of ghost-tweet. Ghost-tweet is tuned for dev-Twitter founder voice. Humanize works on any prose in any voice.
Inputs
- text: The text to humanize. Can be a sentence, paragraph, email, full blog post, landing page section, etc.
- format: Optional. One of
email, blog, landing, tweet, linkedin, slack, doc, ad, script, prose. Determines which format-specific rules apply. Default: infer from input.
- voice: Optional. Description of the target voice. Default: infer from project
CLAUDE.md if present, else preserve the input's apparent voice.
- preserve: Optional. List of phrases, terms, or claims that must survive the rewrite (product names, stats, links, quotes).
- max_rounds: Optional. Default 3. Maximum detection/rewrite cycles.
- target_score: Optional. Default 2.5. Average score across 7 detectors (1=human, 10=AI). Stop when below this.
Workflow
Step 1: Read the Input
- Identify the format (email, blog, tweet, landing, etc.) if not provided.
- Identify the voice the writer is going for. Check
CLAUDE.md in the working directory for explicit voice rules. Note any forbidden words / phrases / punctuation in that file.
- Note any load-bearing facts — claims, numbers, names, links, quotes — that must survive the rewrite. Add them to
preserve.
- Note the length budget: a humanized version should land within ~10% of the original length unless the user asks otherwise. Don't pad. Don't gut.
Step 2: First Rewrite
Rewrite the text applying ALL rules from the Learnings section below plus any voice rules from project CLAUDE.md. Do not skip rules. Learnings are the most important part of this skill — they encode accumulated detection patterns.
If the input has multiple paragraphs / sections, rewrite each in place. Preserve structural elements (headings, lists, code blocks) unless they themselves are the AI tell.
Step 3: Detection Round
Launch 7 detector agents in parallel using the Agent tool. Each gets a different persona for diversity.
| Agent | Persona |
|---|
| 1 | Elite AI text detector — linguistic analysis (perplexity, burstiness, lexical diversity) |
| 2 | Skeptical reader — smell test, would they trust this writer |
| 3 | Linguistic analyst — sentence structure, parallelism, hidden marketing clichés |
| 4 | Format-native expert — for the given format (founder tweeting daily, marketing copywriter, technical blogger, sales writer, etc.) |
| 5 | GPTZero-style statistical detector — flag uniformity, predictable patterns |
| 6 | Editor — craft vs authenticity, where the writer overwrote or polished too much |
| 7 | Originality.ai-style detector — flag training-data idioms, AI-flavored adjectives, structural giveaways |
Each agent prompt MUST include:
- The full rewritten text
- Instruction to score 1-10 (1 = clearly human, 10 = clearly AI)
- Instruction to list specific tells with the exact phrase / sentence quoted
- Instruction to be BRUTALLY harsh — no benefit of the doubt
- Instruction to suggest ONE specific fix per tell
For long text (> 400 words), split into sections and have each agent score the worst section plus an overall score, so tells are localized.
Step 4: Analyze Results
Collect all 7 scores. Calculate average.
If average <= target_score AND round >= 1: DONE. Go to Step 6.
Otherwise:
- Tabulate which tells were flagged by 2+ agents (consensus tells).
- For each consensus tell, extract the specific fix suggestions.
- Rewrite addressing ALL consensus tells. Do not introduce new AI patterns while fixing old ones.
- Go back to Step 3.
Step 5: Iterate
Maximum max_rounds cycles. If target not reached after max rounds, present the best-scoring version with remaining tells noted. Do not keep grinding past max_rounds — diminishing returns kick in fast and over-rewriting introduces its own tells.
Step 6: Present Final Text
Show the user:
- The final humanized text
- The score progression across rounds (table: round, average score, top consensus tells)
- Any remaining minor tells noted by agents
- Ask: "Ship it, tweak it, or rewind to an earlier round?"
If presenting a long-form rewrite, also show a short diff summary of the biggest changes (what was killed, what was added) so the user can spot-check that load-bearing claims survived.
Step 7: Learn (CRITICAL)
After every run, check if any NEW tells were discovered that aren't already in the Learnings section. If so, ask the user: "I found new detection patterns. Want me to add them to the skill?" If yes, append them to the Learnings section of this file.
This is how the skill gets smarter over time. Same loop as ghost-tweet.
Learnings
Accumulated rules from adversarial detection rounds. Apply ALL of these when rewriting. Sorted roughly by impact.
Vocabulary Bans (kill on sight)
- AI-flavored adjectives: seamless, leverage, leveraging, robust, powerful, transformative, innovative, cutting-edge, next-generation, supercharge, unlock, delight, best-in-class, unleash, game-changing, revolutionary, comprehensive, holistic, nuanced, multifaceted, paradigm, ecosystem (as buzzword), synergy, streamline, empower.
- AI hedge words: arguably, ostensibly, fundamentally (as opener), essentially, ultimately, indeed, certainly, undoubtedly, notably (as transition).
- AI promo openers: "In today's world", "In an era where", "In the age of", "More than ever", "It's no secret that", "Picture this", "Imagine a world".
- AI promo closers: "feels like it should've always existed", "the future of X", "excited to announce", "we're thrilled", "here's what I learned", "at the end of the day", "in essence", "ultimately".
- AI transition phrases: "That said,", "Here's the thing:", "Let me be clear:", "The truth is,", "What's more,", "Furthermore,", "Moreover,".
- Topic-loop: AI re-states the topic noun in nearly every sentence. Pronouns, deixis, or zero-anaphora are more human.
Structure & Flow
- Kill clean narrative arcs. Problem → solution → proof → takeaway is the AI default. Real writing meanders, leaves threads dangling, or starts mid-thought.
- Kill the tricolon. Three parallel clauses ("we build, we ship, we learn") is an AI fingerprint. Break the parallel — drop one, change the rhythm of one, or cut to one.
- Kill the "Not X, but Y" construction. "It's not just a tool, it's a platform." "Not bigger, but better." This rhetorical pattern is everywhere in AI prose. Use one or the other, not the negation+contrast.
- Kill the "It's not about X. It's about Y." construction. Same family. Pick one frame and commit.
- Kill paragraph-level parallelism. AI loves three paragraphs that each open with a similar structure. Vary openings.
- Vary sentence length wildly. 4-word punch. Then a 22-word run-on that loops back on itself and qualifies what was just said. Then 6 words. Uniform length = AI. Burstiness = human.
- Leave one beat out. If the natural arc has 4 beats, drop one. Lopsided beats real.
- Don't stick the landing. Avoid clean quotable closers. Trail off. Undercut yourself. Or just stop.
Word Choice & Phrasing
- No em dashes. Use commas, periods, parentheses, or "--" (double hyphen). Em dashes are a strong AI tell and explicitly forbidden in this user's voice.
- No semicolons in casual prose. They almost never appear in real human writing outside formal essays. AI uses them constantly.
- Use approximation fillers in casual formats. "like 400 lines", "a couple hundred", "a ton of". AI defaults to round or precise numbers.
- Use dismissive language where the voice allows. "garbage", "whatever", "the whole mess". AI hedges politely.
- Drop subject pronouns where natural. "been building" not "I've been building" in casual voice.
- Contract or don't — but don't mix. AI inconsistently mixes "do not" and "don't" in the same paragraph. Pick one register.
- Cut the second adjective. AI loves doubled adjectives ("clear and concise", "fast and reliable"). Pick the stronger one.
- Cut the gerund opener. "Building software is hard" is fine. "Crafting elegant solutions in modern software development is..." reeks.
Specificity
- Add at least one ugly, specific, falsifiable detail. A timestamp, a line count, a real product name, a real bug, a quoted error message. AI stays abstract; humans remember the gross parts.
- Replace generics with proper nouns. "popular tools" → "Gmail and Slack". "many users" → name two real ones.
- Falsifiable beats vague. "last Tuesday" beats "recently". "400 lines" beats "a lot of code". "Costs us $1,800/mo" beats "expensive".
- Skip stats that read like landing pages in casual prose. "200+ platforms" reads like marketing. Either skip or fuzz: "couple hundred".
Emotional Authenticity
- Include a moment of doubt or frustration where appropriate. "still don't fully trust it", "honestly annoyed", "kinda mad nobody built this sooner". AI never undermines its own thesis.
- Undercut confidence with hedging tics. "somehow", "lol", "yet", "?" at the end of a declarative. "nothing broke??" beats "nothing broke."
- Skip the moral. AI ends with a lesson. Humans often just stop.
Format-Specific Rules
Email:
- No "I hope this finds you well" or any variant. Open with the reason for writing.
- One CTA per email, specific verb. "Book a 15-min call" beats "Learn more".
- First-name greeting or no greeting at all. No "Dear".
- Sign with a real name, not a brand.
Blog post:
- First paragraph names a real, specific scenario, not an abstract setup.
- Subheads are sentence case, not Title Case Marketing Headlines.
- Code snippets in the first scroll for technical posts.
- Don't end with "Conclusion". End with the next concrete step or just stop.
Landing copy:
- Headline is a claim, not a category. "Ship features in hours, not weeks" beats "The platform for modern teams".
- Replace adjective stacks with verbs. "Powerful, scalable, secure" → "Handles 100M req/day".
- Cut every word that could appear on any other landing page.
Tweet / X / LinkedIn:
- Lowercase throughout for casual founder voice.
- No hashtags. No CTA. No link unless essential.
- Max 2 platform names in a list. Three+ reads as feature page.
- See
ghost-tweet skill for the deeper tweet-specific rule set.
Slack / DM:
- Lowercase. Fragments fine. Skip greetings if it's an ongoing thread.
- One question or one update per message.
Sales / partner pitch:
- Open with what the partner gets, not what we want.
- No competitor comparison tables.
- Quantify the value where possible.
Ad copy:
- One promise. One verb. One CTA.
- No question headlines unless the question is the actual hook.
Anti-Patterns (NEVER do these)
- Em dashes, anywhere.
- Tricolons with parallel structure.
- "Not just X, but Y" construction.
- Lists of 3+ brand names in sequence in casual voice.
- "Excited to announce / share / launch".
- Clean problem → solution → result → lesson structure.
- Every sentence doing promotional work — at least one should be throwaway or self-deprecating.
- Ending with a life lesson or takeaway in casual formats.
- Perfect grammar in a lowercase / casual register.
- Colons followed by 3-item lists in prose.
- Repeating the central noun in every sentence.
- Doubled adjectives ("clear and concise", "fast and reliable").
- "Whether you're X or Y" framings.
- Any of the banned vocabulary above, no exceptions.
Closers That Work
- Grudging admission: "but it just keeps working."
- Trailing off: end mid-thought, no period.
- Self-deprecation: "or at least nobody's yelled at me yet."
- Undercut: "we'll see."
- Just stop.
Anti-Over-Humanizing (read this last)
It's possible to humanize too far and end up with text that reads as performatively casual — which is its own AI tell. Watch for:
- Stacking 3+ "human tics" in one paragraph (lowercase + "lol" + trailing off + self-doubt + dismissive insult). One or two is real; four is theater.
- Sudden voice shifts mid-document. If the input is a polished blog post, the rewrite shouldn't randomly drop into all-lowercase chat voice.
- Manufactured frustration in formats where it doesn't belong (legal copy, sales decks for enterprise buyers, technical reference docs).
When the format calls for polish, humanize toward clear, specific, unhedged rather than toward casual. Polished human prose exists too — and detectors flag it less than people think when it's specific and concrete.