Community写作与编辑github.com

Christianboat/humanize

Humanize: an AI-text humanizer agent skill. 29-pattern detection, adversarial refinement, and a guaranteed zero em dashes.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add Christianboat/humanize

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

文档

Humanize

A single-pass humanization pipeline. It merges a 29-category AI-pattern detection framework with an iterative, metrics-driven adversarial loop, then runs a mandatory final pass that removes every em dash. The pattern framework decides what to fix and how. The adversarial loop verifies and iterates until the text reads as human. The final pass guarantees the output contains no em dashes at all.

Core Workflow

For every text you humanize, run this exact sequence.

Phase 1: Pattern Pass (29 categories)

Scan the text against all 29 AI pattern categories listed below. Rewrite every match. Prioritize voice over correctness.

Phase 2: Scoring Pass

Check the rewritten text against four quantitative signals.

  • Perplexity. Low perplexity reads as AI. High perplexity reads as human. The model picks predictable token sequences. Humans do not.
  • Burstiness. Uniform sentence lengths read as AI. High variance reads as human. Humans mix short, medium, and long sentences naturally.
  • Trigram diversity. High trigram overlap reads as AI. Humans use rarer word combinations.
  • Pattern recurrence. Re-scan for remaining hits from patterns 1 through 29.

Phase 3: Adversarial Loop (up to 10 iterations)

For each iteration, randomly select and apply 2 or 3 transformations from the Linguistic Arsenal below. Re-score. Keep changes that lower AI probability. Discard changes that raise it.

Phase 4: Self-Audit

Ask: what about this text still reads as AI-generated? Identify the remaining tells. Fix them. If the score is still above target, return to Phase 3.

Phase 5: Em-Dash Elimination (mandatory, non-negotiable)

This pass always runs last and is never skipped. The final text must contain zero em dashes.

  1. Remove every em dash character (U+2014).
  2. Remove every en dash used as a connector (U+2013) and every double hyphen ("--") used as a dash.
  3. For each one removed, choose the replacement that fits the sentence:
    • A comma, when the clause is a simple aside.
    • A period or semicolon, when the two halves can stand as separate thoughts.
    • Parentheses, when the clause is a true aside that can be lifted out.
    • A colon, when the second half explains or expands the first.
    • Nothing, when the dash only padded the sentence. Just close the gap.
  4. Re-read the result. If any em dash survives, repeat. Output is not allowed to ship with a single em dash in it.

Voice Calibration

When a writing sample is provided, analyze it before rewriting.

  • Sentence length patterns. Short and punchy? Long and flowing? Mixed?
  • Word choice level. Casual? Academic? Somewhere between?
  • How they start paragraphs. Jump right in, or set context first?
  • Punctuation habits. Lots of commas? Parenthetical asides? Semicolons?
  • Recurring phrases or verbal tics.
  • How they handle transitions. Explicit connectors, or just start the next point?

Match the rewrite to the sample. If they write short sentences, do not write long ones. If they use "stuff" and "things," do not upgrade to "elements" and "components."

Without a sample, use the default voice: natural, varied, opinionated.

The Anti-AI Voice: Personality and Soul

Avoiding patterns is only half the job. Sterile writing is just as obvious as slop.

Signs of soulless writing:

  • Every sentence the same length and structure.
  • No opinions, just neutral reporting.
  • No acknowledgment of uncertainty or mixed feelings.
  • No first-person perspective when it would fit.
  • Reads like a Wikipedia article or a press release.

How to add voice:

  • Have opinions. Do not just report facts. React to them.
  • Vary rhythm. Short sentences. Then longer ones that take their time.
  • Acknowledge complexity. "This is impressive but also kind of unsettling" beats "This is impressive."
  • Use "I" when it fits. "I keep coming back to..." signals a real person thinking.
  • Let some mess in. Tangents, asides, and half-formed thoughts are human.

The 29 Pattern Categories

Content Patterns

  1. Significance Inflation. Words: stands as, testament, pivotal, crucial, underscores, evolving landscape, deeply rooted. Fix: remove puffery. State what happened, not why it matters.

  2. Notability Padding. Words: independent coverage, media outlets, active social media presence. Fix: cite specific coverage instead of listing outlets. Drop vague notability claims.

  3. Superficial -ing Analyses. Words: highlighting, underscoring, reflecting, showcasing, fostering, encompassing. Fix: remove the -ing appendage. If it adds no information, cut it.

  4. Promotional Language. Words: boasts, vibrant, nestled, groundbreaking, breathtaking, stunning. Fix: use neutral description. "The town has a weekly market," not "Nestled in the breathtaking..."

  5. Vague Attributions. Words: industry reports, observers have cited, experts argue. Fix: name the source or drop the attribution.

  6. Outline Formulas. Words: "Despite its... faces several challenges...", "Future Outlook", "Challenges and Legacy". Fix: say what happened. Do not announce sections.

Language and Grammar Patterns

  1. AI Vocabulary. Words: actually, additionally, align with, crucial, delve, enhance, fostering, garner, highlight, interplay, intricate, key (adj), landscape (abstract), pivotal, showcase, tapestry (abstract), testament, underscore, valuable, vibrant. Fix: replace with simpler alternatives. "Important," not "pivotal." "Shows," not "underscores."

  2. Copula Avoidance. Words: serves as, stands as, marks, represents, boasts, features. Fix: replace with "is" or "has." "Gallery 825 is LAAA's exhibition space," not "serves as."

  3. Negative Parallelisms. Structures: "Not only... but also...", "It's not just about X, it's about Y", tailing negations like "no guessing." Fix: direct statement. "The heavy beat adds to the tone," not "It's not just about the beat..."

  4. Rule of Three. Three examples, three adjectives, three items in a list. Fix: if there are three, consider whether two would do. If a list is necessary, fine. If it is there for rhetorical completeness, strip it.

  5. Synonym Cycling. The same concept renamed across consecutive sentences (protagonist, main character, central figure, hero). Fix: pick one term and use it. Repetition is human.

  6. False Ranges. "From X to Y, from A to B" where the endpoints are not on a real scale. Fix: list the items. "The book covers the Big Bang, star formation, and dark matter," not "from the singularity to the cosmic web."

  7. Passive Voice and Subjectless Fragments. "No configuration file needed." "The results are preserved automatically." Fix: add the actor. "You do not need a configuration file."

Style Patterns

  1. Em Dashes (zero tolerance). Any em dash is a tell. Fix: remove every one. Replace with a comma, period, semicolon, colon, or parentheses, or close the gap entirely. This is reinforced by the mandatory Phase 5 pass. The final text contains none.

  2. Boldface Overuse. Mechanical emphasis of key terms. Fix: use plain text. Let the reader decide what is important.

  3. Inline-Header Lists. The "- Topic: Description" format. Fix: write in prose sentences.

  4. Title Case in Headings. "Strategic Negotiations And Global Partnerships." Fix: sentence case. "Strategic negotiations and global partnerships."

  5. Emojis. Decorative emojis before headings or bullets. Fix: remove.

  6. Curly Quotes. Smart quotes instead of straight quotes. Fix: replace with straight quotes.

Communication Patterns

  1. Chatbot Artifacts. "I hope this helps!", "Let me know if...", "Great question!" Fix: remove. The text should stand without these.

  2. Knowledge-Cutoff Disclaimers. "As of [date]," "Based on available information..." Fix: state the relevant date or drop it.

  3. Sycophantic Tone. Overly positive, people-pleasing language. Fix: direct and neutral. "The factors you mentioned are relevant," not "Great point! You're absolutely right!"

Filler and Hedging

  1. Filler Phrases. "In order to" becomes "to." "Due to the fact that" becomes "because." "At this point in time" becomes "now."

  2. Excessive Hedging. "It could potentially possibly be argued that..." Fix: "may be," or remove.

  3. Generic Positive Conclusions. "The future looks bright." "Exciting times lie ahead." Fix: a specific forward-looking statement, or nothing.

  4. Hyphenated Word Pairs. third-party, cross-functional, data-driven, decision-making, high-quality, real-time. Fix: humans are inconsistent. "Third party," "cross functional," "data driven."

  5. Persuasive Authority Tropes. "The real question is," "At its core," "What really matters," "Fundamentally," "The deeper issue." Fix: state the point directly.

  6. Signposting. "Let's dive in," "Let's explore," "Here's what you need to know," "Now let's look at." Fix: just start the content.

  7. Fragmented Headers. A heading followed by a one-line paragraph that restates the heading. Fix: cut the warm-up sentence. Start with the content.

Linguistic Arsenal (for the Adversarial Loop)

Apply these transformations randomly during the adversarial refinement phase.

Contractions

Apply randomly, not to every instance. Humans are inconsistent.

  • do not to don't, does not to doesn't, did not to didn't
  • are not to aren't, is not to isn't, was not to wasn't
  • have not to haven't, has not to hasn't
  • would not to wouldn't, could not to couldn't, should not to shouldn't
  • it is to it's, that is to that's, there is to there's
  • we are to we're, they are to they're, you are to you're

Sentence Merging

If two adjacent sentences are both under 8 words, merge them with a comma and a connector (and, but, so, because).

Sentence Splitting

If a sentence exceeds 30 words and contains a comma-bound conjunction, split it at the midpoint into two sentences.

Persona Injection

  • undergrad: add one hedge near the start ("I think," "From what I understand," "It seems like," "Honestly"). Add one self-correction or second-thought clause ("Or at least that's how I see it").
  • professional: occasionally replace "is" with "appears to be" or "are" with "tend to be." Keep the level of formality consistent but not stiff.
  • casual: drop determiners occasionally. Use sentence fragments. Start sentences with "And," "But," "So." Contractions on every eligible verb.

Opening Variation

If three consecutive sentences start the same way (same subject, same structure), rephrase one. Human writers vary openings instinctively.

Quantitative Signals (for Scoring)

Check these four signals after each rewrite pass.

SignalLow (AI)High (Human)
PerplexityLow. The model easily predicts the next token.High. Unexpected but natural word choices.
BurstinessSentence lengths tightly clustered.High variance. Short, medium, and long mixed.
Trigram diversityHigh trigram overlap, predictable patterns.Rare combinations, lower overlap.
Pattern recurrence3 or more active pattern matches.0 to 1 matches remaining.

Target: AI probability below 10 percent across all four signals.

Process Summary

  1. Read the input text.
  2. Identify and rewrite all 29 pattern matches.
  3. Add voice (personality, opinions, varied rhythm).
  4. Score against the quantitative signals.
  5. Run the adversarial loop: transform, score, keep or discard, up to 10 iterations.
  6. Self-audit: identify remaining tells and fix them.
  7. Run the mandatory em-dash elimination pass (Phase 5). Confirm zero em dashes.
  8. Present the final text.
  9. Optionally list the patterns detected and the transformations applied.

Reference

This skill combines three sources.

  • Wikipedia's "Signs of AI writing" guide (WikiProject AI Cleanup) for the 29-pattern framework.
  • GPT-2 perplexity-based detection, T5 neural paraphrasing, and burstiness and trigram-diversity metrics from an ML humanization pipeline.
  • Iterative adversarial refinement methodology from the same pipeline.

Key insight, from Wikipedia: "LLMs use statistical algorithms to guess what should come next. The result tends toward the most statistically likely result that applies to the widest variety of cases."

相关技能

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community