Humanizer
A portable agent skill that removes signs of AI-generated writing from text, making it sound more natural and human. It is plain Markdown, so it can run in any harness that supports skill-style instructions.
Installation
Skills CLI
Install with the cross-agent skills CLI:
npx skills add blader/humanizer
Update an existing install:
npx skills update humanizer
To install into every supported agent harness:
npx skills add blader/humanizer --agent '*'
To target one configured harness, pass its agent name:
npx skills add blader/humanizer --agent <agent-name>
Claude Code plugin
Claude Code users can also install Humanizer as a plugin:
/plugin marketplace add blader/humanizer
/plugin install humanizer@humanizer
The skill is then invoked as /humanizer:humanizer.
Manual
Any agent harness can use the skill directly because the runtime artifact is SKILL.md. Install it wherever your harness expects skill directories, or copy SKILL.md into an existing skill folder.
For example:
git clone https://github.com/blader/humanizer.git /path/to/your/skills/humanizer
Or, if you already have this repo cloned:
mkdir -p /path/to/your/skills/humanizer
cp SKILL.md /path/to/your/skills/humanizer/
Usage
Invoke the skill however your agent harness exposes installed skills. Common forms include a slash command or a direct request:
/humanizer
[paste your text here]
Please humanize this text: [your text]
Voice Calibration
To match your personal writing style, provide a sample of your own writing:
/humanizer
Here's a sample of my writing for voice matching:
[paste 2-3 paragraphs of your own writing]
Now humanize this text:
[paste AI text to humanize]
The skill will analyze your sentence rhythm, word choices, and quirks, then apply them to the rewrite instead of producing generic "clean" output.
Overview
Based on Wikipedia's "Signs of AI writing" guide, maintained by WikiProject AI Cleanup. This comprehensive guide comes from observations of thousands of instances of AI-generated text.
The skill also includes a final "obviously AI generated" audit pass and a second rewrite, to catch lingering AI-isms in the first draft.
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."
33 Patterns Detected (with Before/After Examples)
Content Patterns
| # | Pattern | Before | After |
|---|---|---|---|
| 1 | Significance inflation | "marking a pivotal moment in the evolution of..." | "was established in 1989 to collect regional statistics" |
| 2 | Notability name-dropping | "cited in NYT, BBC, FT, and The Hindu" | "In a 2024 NYT interview, she argued..." |
| 3 | Superficial -ing analyses | "symbolizing... reflecting... showcasing..." | Remove or expand with actual sources |
| 4 | Promotional language | "nestled within the breathtaking region" | "is a town in the Gonder region" |
| 5 | Vague attributions | "Experts believe it plays a crucial role" | "according to a 2019 survey by..." |
| 6 | Formulaic challenges | "Despite challenges... continues to thrive" | Specific facts about actual challenges |
Language Patterns
| # | Pattern | Before | After |
|---|---|---|---|
| 7 | AI vocabulary | "Actually... additionally... testament... landscape... showcasing" | "also... remain common" |
| 8 | Copula avoidance | "serves as... features... boasts" | "is... has" |
| 9 | Negative parallelisms / tailing negations | "It's not just X, it's Y", "..., no guessing" | State the point directly |
| 10 | Rule of three | "innovation, inspiration, and insights" | Use natural number of items |
| 11 | Synonym cycling | "protagonist... main character... central figure... hero" | "protagonist" (repeat when clearest) |
| 12 | False ranges | "from the Big Bang to dark matter" | List topics directly |
| 13 | Passive voice / subjectless fragments | "No configuration file needed" | Name the actor when it helps clarity |
Style Patterns
| # | Pattern | Before | After |
|---|---|---|---|
| 14 | Em/en dashes | "institutions—not the people—yet this continues—" | Cut them: periods, commas, colons, or parentheses |
| 15 | Boldface overuse | "OKRs, KPIs, BMC" | "OKRs, KPIs, BMC" |
| 16 | Inline-header lists | "Performance: Performance improved" | Convert to prose |
| 17 | Title Case Headings | "Strategic Negotiations And Partnerships" | "Strategic negotiations and partnerships" |
| 18 | Emojis | "🚀 Launch Phase: 💡 Key Insight:" | Remove emojis |
| 19 | Curly quotes | said “the project” | said “the project” |
| 26 | Hyphenated word pairs | “cross-functional, data-driven, client-facing” | Drop hyphens on common word pairs |
| 27 | Persuasive authority tropes | "At its core, what matters is..." | State the point directly |
| 28 | Signposting announcements | "Let's dive in", "Here's what you need to know" | Start with the content |
| 29 | Fragmented headers | "## Performance" + "Speed matters." | Let the heading do the work |
| 30 | Diff-anchored writing | "This function was added to replace..." | Describe what it does, not what changed |
| 31 | Manufactured punchlines / staccato drama | "It had no preference. No prior. No nostalgia." | Use varied sentence lengths and concrete claims |
| 32 | Aphorism formulas | "Symmetry is the language of trust" | Replace the formula with the actual claim |
| 33 | Conversational rhetorical openers | "Honestly? It depends..." | Remove the fake-candid setup |
Communication Patterns
| # | Pattern | Before | After |
|---|---|---|---|
| 20 | Chatbot artifacts | "I hope this helps! Let me know if..." | Remove entirely |
| 21 | Cutoff disclaimers | "While details are limited in available sources..." | Find sources or remove |
| 22 | Sycophantic tone | "Great question! You're absolutely right!" | Respond directly |
Filler and Hedging
| # | Pattern | Before | After |
|---|---|---|---|
| 23 | Filler phrases | "In order to", "Due to the fact that" | "To", "Because" |
| 24 | Excessive hedging | "could potentially possibly" | "may" |
| 25 | Generic conclusions | "The future looks bright" | Specific plans or facts |
Full Example
Before (AI-sounding):
I recently spent five unforgettable days in Lisbon, and let me tell you — this city completely stole my heart. From the moment I arrived, I knew I was somewhere truly special.
Nestled along the banks of the Tagus River, Lisbon stands as a vibrant testament to Portugal's enduring spirit, where rich history and modern energy intertwine at every turn. Yes, the famous hills are challenging — my legs certainly felt it! — but every climb rewards you with breathtaking, panoramic views that make it all worthwhile.
No trip would be complete without riding the iconic Tram 28, winding through the city's most historic neighborhoods. And the food? Simply divine. The original pastéis de nata at Pastéis de Belém are a beloved national treasure, and savoring one still warm was a moment I will never forget.
But what truly makes Lisbon special isn't just the sights — it's the feeling. Wander a few steps off the main squares and you'll discover a quieter, more authentic side: sun-drenched alleys, charming tiled facades, and friendly locals going about their daily lives, inviting you to slow down and savor every moment.
Of course, the must-see São Jorge Castle offers stunning views over the rooftops below. The queues can be long, but the experience is absolutely worth it for any history buff or curious traveler.
Would I go back? Absolutely. Lisbon isn't just a place to visit — it's a place to fall in love with, again and again. If you're dreaming of your next getaway, this is one destination that promises memories to last a lifetime. ✨
After (Humanized):
I spent five days in Lisbon last October and still have mixed feelings about it. Beautiful, yes. Also harder on the knees than anyone warned me.
The hills are the whole story and somehow never make the brochures. My hotel was up in Alfama, which photographs beautifully and translates, in practice, to climbing what felt like a six-story staircase every time I wanted coffee. By the second day my calves had opinions. I started planning each walk around which way was downhill, which is a strange way to see a city but probably an honest one.
Everyone says to ride Tram 28, so I did, wedged against a stranger's backpack for forty minutes while three tour groups filmed the same corner. I would walk the route next time, or go before breakfast. The custard tarts, though, earn the fuss. I had one at a plain little place in Graça, still warm, and for about thirty seconds I understood why people build trips around pastry.
What I did not expect was how quiet the city gets away from the main squares. Two blocks uphill from any plaza it turns into laundry lines, chipped tile, open windows, and old men watching football with the sound turned up. That is the Lisbon I keep thinking about, not the castle.
The castle is fine. The view is great, the queue is long, and I spent more time shuffling toward the entrance than looking at anything once I got inside. If I had only two days, I would trade it for an afternoon of getting lost.
I would go back, but in spring and with better shoes. Lisbon does not bend over backward to make things easy for you. I think I liked that, even when my legs disagreed.
References
- Wikipedia: Signs of AI writing - Primary source
- WikiProject AI Cleanup - Maintaining organization
Version History
- 2.8.2 - Replaced the full before/after example with a first-person Lisbon trip recap. The after now keeps the same topic, perspective, and rough length as the before while removing the AI tells without becoming clipped or slogan-like. No change to the 33 patterns.
- 2.8.1 - Added cross-agent installation docs, optional Claude Code plugin packaging, and a compact secondhand-text false-positive guard. No change to the 33 patterns.
- 2.8.0 - Added style/cadence patterns #31-33 for manufactured punchlines, aphorism formulas, and conversational rhetorical openers; expanded #20 to catch offer-to-continue chatbot closers. 33 patterns total.
- 2.7.0 - Added pattern #30 (diff-anchored writing); made em/en dashes a hard cut rather than "overuse"; expanded #21 to cover speculative gap-filling ("maintains a low profile"). 30 patterns total.
- 2.6.0 - Cleanup pass: consolidated the duplicated workflow sections, gated the personality guidance to content where voice is wanted, removed the model-fingerprinting subsection, and condensed the worked example. No change to the 29 patterns.
- 2.5.1 - Added a passive-voice / subjectless-fragment rule, raising the total to 29 patterns
- 2.5.0 - Added patterns for persuasive framing, signposting, and fragmented headers; expanded negative parallelisms to cover tailing negations; tightened wording around em dash overuse; fixed frontmatter wording to use "filler phrases"
- 2.4.0 - Added voice calibration: match the user's personal writing style from samples
- 2.3.0 - Added pattern #25: hyphenated word pair overuse
- 2.2.0 - Added a final "obviously AI generated" audit + second-pass rewrite prompts
- 2.1.1 - Fixed pattern #18 example (curly quotes vs straight quotes)
- 2.1.0 - Added before/after examples for all 24 patterns
- 2.0.0 - Complete rewrite based on raw Wikipedia article content
- 1.0.0 - Initial release
License
MIT