blader/humanizerPublic

Agent skill that removes signs of AI-generated writing from text

AI summary: An agent skill that rewrites AI-generated text to remove common algorithmic tells while preserving factual accuracy.

Stars
53.4K
+738 today
Forks
4.3K
Watchers
251
Open issues
0
Open PRs
2
Contributors
~22
Commits
97
Branches
4

PythonMITCreated Jan 18, 2026Last push 6d agoLatest release v3.1.0+1.8K stars this week+14.5K this month

Quick answers

What is humanizer?
An agent skill that rewrites AI-generated text to remove common algorithmic tells while preserving factual accuracy.
What does humanizer do?
Humanizer is an AI agent skill designed to scrub text of predictable, algorithmic writing patterns that make content sound artificial. Utilizing 35 specific patterns curated by WikiProject AI Cleanup, the tool systematically identifies and rewrites hallmarks of AI prose—such as inflated importance, formulaic transitions, overused vocabulary ('delve', 'testament'), and chatbot disclaimers. It operates in multiple passes: first restructuring the text freely, then cross-referencing it against the original to ensure strict factual fidelity (names, numbers, quotes). It can also accept writing samples to mimic a user's specific voice, making it a powerful tool for cleaning up drafts in technical documentation, blog posts, or personal communications.
Who is humanizer for?
Developers, technical writers, and content creators who use AI assistants to draft text but want the final output to sound natural and professional. It is targeted at users who dislike the repetitive, predictable tone of default LLM outputs.
How do I get started with humanizer?
/humanizer [paste your text here]
How popular is humanizer on GitHub?
blader/humanizer has 53,375 stars and 4,256 forks on GitHub, and gained 1,825 stars in the last 7 days.
What license does humanizer use?
blader/humanizer is released under the MIT license.

Star history

since Jul 28, 2026
020K40KJul 2026Aug 2026Sep 2026Oct 2026
53.4K stars as of Oct 1, 2026. Measured daily since Jul 28, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 3 commits2026-01-18: 2 commits2026-01-19: 1 commit2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 1 commit2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 1 commit2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 3 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 1 commit2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 1 commit2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 1 commit2026-03-31: 2 commits2026-04-01: 1 commit2026-04-02: 0 commits2026-04-03: 1 commit2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 1 commit2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 1 commit2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 1 commit2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 3 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 1 commit2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 2 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 4 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 9 commits2026-08-18: 2 commits2026-08-19: 0 commits2026-08-20: 5 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 1 commit2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 1 commit2026-09-04: 0 commits2026-09-05: 1 commit2026-09-06: 5 commits2026-09-07: 0 commits2026-09-08: 1 commit2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 1 commit2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 1 commit2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 1 commit2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 6 commits2026-09-28: 1 commit2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
66 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    53,375 stars

  • High momentum

    +738 stars today

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    23 trending appearances

What humanizer does

Humanizer is an AI agent skill designed to scrub text of predictable, algorithmic writing patterns that make content sound artificial. Utilizing 35 specific patterns curated by WikiProject AI Cleanup, the tool systematically identifies and rewrites hallmarks of AI prose—such as inflated importance, formulaic transitions, overused vocabulary ('delve', 'testament'), and chatbot disclaimers. It operates in multiple passes: first restructuring the text freely, then cross-referencing it against the original to ensure strict factual fidelity (names, numbers, quotes). It can also accept writing samples to mimic a user's specific voice, making it a powerful tool for cleaning up drafts in technical documentation, blog posts, or personal communications.

Developers, technical writers, and content creators who use AI assistants to draft text but want the final output to sound natural and professional. It is targeted at users who dislike the repetitive, predictable tone of default LLM outputs.

  • Pattern-Based Scrubbing: Actively targets and removes 35 recognized signs of AI writing, including sales language, forced triplets, and fake-candid openings.
  • Strict Factual Fidelity: Ensures that all specific claims, statistics, and citations from the original text remain completely intact during the rewrite.
  • Voice Matching: Accepts a user's personal writing sample to mirror their specific rhythm, vocabulary, and punctuation quirks.
  • Targeted File Editing: Can safely process entire Markdown files, modifying only the prose while explicitly leaving code blocks, frontmatter, and links untouched.
  • Agent Agnostic: Built purely using Markdown instructions, allowing it to function seamlessly across any coding agent that supports skills, like Cursor or Claude Code.
  • Transparent Review: Displays its internal critique and initial drafts before finalizing the text, allowing the user to verify the changes.

Where teams use it

Documentation Cleanup

Helps developers refine AI-generated technical documentation by removing bloated adjectives and formulaic transitions, resulting in clear, neutral reference prose.

Blog Post Refinement

Allows writers to leverage LLMs for initial drafting, then use Humanizer to strip away the recognizable 'AI tone' before publishing.

Voice Consistency

Enables professionals to ensure that AI-assisted emails or memos sound authentically like their own personal writing style by providing a baseline sample.

Editing Markdown Assets

Safely processes repository assets like launch posts or READMEs without breaking underlying structural elements like code snippets or hyperlinks.

Getting started: /humanizer [paste your text here]

README

main branch

Humanizer

GitHub stars skills.sh installs

Humanizer makes AI-written text sound like a person wrote it, without changing what it says. It is built on Wikipedia's Signs of AI writing, the guide Wikipedia editors use to catch AI-generated text, and it works in Claude Code, Codex, and any other agent that supports skills.

Before:

I'm thrilled to announce that shared drafts are finally here! 🚀 For months, our own team was drowning in files named final_v7.docx — and we knew there had to be a better way. Now two people can edit the same doc at once, with every change appearing live for both of them. It's not just a feature; it's a whole new way to collaborate. Comments stay anchored to the exact sentence they reference, even as the text around them evolves. And the best part? It's available today on every plan, completely free. Let that sink in.

After:

Shared drafts are out today. For months our own team passed around files named final_v7.docx, so we built a way for two people to edit the same doc at once, with each person's changes showing up live for the other. Comments stay pinned to the sentence they're about, even when the text around them changes. It's free on every plan.

In a blind test, judges preferred Humanizer's rewrite over the original AI text 16 times out of 16 (#229).

Humanizer edits for human readers. Getting past AI detectors is not a goal, and detectors still flag most of its output.

The five strongest tells

These are the most common signs of AI writing, and Humanizer rewrites any of them on sight:

  1. Not X but Y: "It's not just a feature, it's a shift."
  2. One-line closers: "Let that sink in."
  3. Sayings that sound deep: "At its core, what really matters is..."
  4. A staged run-up: "Here's the thing." "Honestly?"
  5. Arguing with no one: "I'm not saying X, but..."

Humanizer checks for 26 patterns in all.

Installation

Once installed, the skill answers to /humanizer.

Claude Code

/plugin marketplace add blader/humanizer
/plugin install humanizer@humanizer

The plugin answers to /humanizer:humanizer. It needs Claude Code 2.1.142 or newer; on older versions, use npx skills add blader/humanizer --global --agent claude-code.

Codex

npx skills add blader/humanizer --global --agent codex

Claude.ai and Claude Desktop

Download this repository as a ZIP (Code → Download ZIP) and upload it as a skill in Settings.

Other agents

npx skills add blader/humanizer --global --agent '*'

This installs Humanizer for every agent the Skills CLI supports, including Gemini CLI, GitHub Copilot, and Windsurf. Leave off --global in any command above to install it only in the current project. For an agent the Skills CLI does not know, copy SKILL.md into its skill folder.

Usage

Call the skill directly:

/humanizer

[paste your text here]

Or ask in plain language:

Please humanize this text: [your text]

To rewrite a file, give Humanizer its path:

Humanize the prose in docs/launch-post.md

Match your voice

If you want the rewrite to sound more like you, include a sample:

/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]

Humanizer follows the sample's rhythm, word choice, punctuation, and deliberate quirks, including dashes if you use them.

How it works

A language model writes whatever is most likely to come next, so by default it makes the choice that fits the widest range of readers and subjects. A person chooses for one reader and one subject. Every tell Humanizer looks for is a form of that default choice: a sentence that signals importance instead of adding a fact, rhythm or formatting applied by rule, an ordinary fact dressed as a pivotal one, text left over from the chat, or a reply that re-explains what the reader already knows.

"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." Wikipedia, "Signs of AI writing"

Humanizer marks every tell it finds, strongest first. It drafts a rewrite without treating the original structure as fixed, checks the draft against the patterns and the original claims, and then writes the final version. It does not make things up. A name, number, date, quote, citation, or other factual detail must come from the source or the writer, and if a sentence needs a detail that is missing, Humanizer asks instead of inventing one.

When you paste text, Humanizer shows its work: the first rewrite, a short critique of anything that still sounds artificial, and the final version. Point it at a file and it changes only the prose, leaving code, data, frontmatter, and link targets alone. Personal writing keeps the writer's opinions and quirks. Technical and reference prose stays neutral and plain.

The 26 patterns

The patterns are numbered by strength and frequency. The first five justify an edit on a single sighting. Patterns marked weak alone count only when several tells share a passage, because a careful writer may use any one of them on purpose.

A. Staging instead of stating

# Pattern Before After
1 Not X but Y "It's not just X, it's Y", "This doesn't mean X. It means Y." State the point directly
2 One-line closers and dramatic fragments "That is the real win." after every section; "This shows the importance of..." after an example; "No prior. No nostalgia." Cut the closer that repeats or explains the example; merge fragments into a specific claim
3 Sayings that sound deep "At its core, what matters is...", "Symmetry is the language of trust" Replace the saying with the specific claim
4 Staged run-up before the point "Let's dive in", "Honestly? It depends..." Remove the run-up and state the point
5 Arguing with no one "This isn't mainly about...", "A tempting approach would be..." Remove the unraised objection or fake option; keep any real claim

B. Rhythm by rule

# Pattern Before After
6 Forced triads "innovation, inspiration, and insights"; three examples plus a lesson Use the number of items the meaning needs
7 Repeated sentence openings "She noted... She noted... She filed..." Merge the sentences or change the subject
8 Dashes as the universal connector (weak alone) "institutions—not the people—yet this continues—" Use periods, commas, colons, or parentheses; match a sample that uses dashes
9 Stacked qualifiers (weak alone) "could potentially possibly be argued" Keep only qualifiers the source supports
10 Hyphenated pairs everywhere (weak alone) "the report is high-quality" Keep the hyphen before the noun or where the dictionary has one
11 Passive voice and missing subjects (weak alone) "No configuration file needed" Name the actor when that helps

C. Inflation and borrowed authority

# Pattern Before After
12 Overused AI words "delve... testament... landscape... showcasing" Use plain words
13 Inflated significance "marking a pivotal moment", "Despite challenges... continues to thrive", "The future looks bright" Keep the fact and drop the significance; end on the last concrete fact
14 Vague connection or association "associated with the leadership of", "in connection with" State the relationship the source gives
15 Shallow -ing riders "symbolizing... reflecting... showcasing..." Keep only what the source supports
16 Sales language "nestled within the breathtaking region" State what the thing is
17 Borrowed authority "Experts believe...", "cited in NYT, BBC, FT, and The Hindu" Name a real source and what it said, or remove the claim or list
18 Avoiding is, are, and has "serves as... features... boasts" "is... has"

D. Formatting by rule

# Pattern Before After
19 Bold as decoration "OKRs, KPIs"; "Performance: Performance improved" Remove the bold; turn a labeled list into prose
20 Decorative headings "Strategic Negotiations And Partnerships", "🚀 Launch Phase:", "The decision, on one screen" Sentence case; remove emojis and arrows; name what the section holds
21 Curly quotation marks (weak alone) said “the project” said "the project"

E. Leftovers from the chat and the draft

# Pattern Before After
22 Chatbot residue "Great question! ... I hope this helps!" Remove the wrapper and keep the content
23 Knowledge-limit disclaimers and guesses "While details are limited in available sources, it appears..." State what the source shows, or remove the sentence
24 A heading repeated in the first sentence "## Performance" + "Speed matters." Let the heading do the work
25 Writing about the document instead of its subject "This function was added to replace...", "compiled from...", "The table below compares..." Describe the subject; state a convention only when the reader cannot see it

F. Writing for the wrong reader

# Pattern Before After
26 Re-explaining what the reader knows A reply that walks the diagnosis and proves the plan works before the decision Lead with the decision; leave the diagnosis and the proof for the ticket that follows

Full example

Before (AI-sounding):

I recently spent five unforgettable days in Lisbon last October, and let me tell you — this city completely stole my heart. From the moment I checked into my charming hotel perched high in the historic Alfama district, I knew I was somewhere truly special.

Yes, the famous hills are challenging — with countless stairs between my hotel and everything else, 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, a roughly forty-minute journey shared with plenty of fellow travelers eager to capture the magic. And the food? Simply divine. While the pastéis de nata at Pastéis de Belém are a beloved national treasure, my absolute favorite came from a hidden gem in Graça, still warm from the oven.

But what truly makes Lisbon special isn't just the sights — it's the feeling. Wander just a block or two above the main squares and you'll discover a quieter, more authentic side of the city, 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 — next time in spring, and with better shoes! Lisbon isn't just a place to visit; it's a place to fall in love with, again and again. ✨

After:

I spent five days in Lisbon last October. My hotel was up in Alfama, with a lot of stairs between it and everything else, and my legs felt every one of them. The views from the top were worth the climb.

Everyone tells you to ride Tram 28, so I did. The trip took about forty minutes, and most of the car was other tourists taking pictures out the windows. The custard tarts at Pastéis de Belém are the famous ones, but my favorite came from a place in Graça, still warm from the oven.

The part of Lisbon I liked best starts a block or two above the main squares, where the streets go quiet and nobody is in a hurry. São Jorge Castle has good views over the rooftops and a long queue to get them.

I'd go back, in spring next time, and with better shoes.

Sources

Version history

See CHANGELOG.md.

License

MIT

If Humanizer helps you, a star helps other people find it.

View on GitHub

Recent activity

commits and pull requests

Discussions

all 3

Releases and announcements

6 total
  1. Humanizer v3.1.0v3.1.0Sep 28, 2026

    Humanizer 3.1.0 adds a pattern for replies that re-explain what the reader already knows, and it tightens the skill so each rule is stated once. ## What changed - Added pattern #26 and section F for replies that re-explain context the reader already has (#269). It acts on replies, not standalone writing. 26 patterns total. - Extended the core rule so "something the reader did not already have" counts the surrounding conversation, not only earlier text. - Widened #25 to text that describes its own sourcing, assembly, or layout (#290), and added headings written for effect to #20. - Extended #2 to "That distinction matters." (#277) and to a sentence that explains what an example already showed (#295). - Narrowed #10 so words the dictionary always hyphenates keep their hyphen. Gave each watched word one pattern, and stated the evidence rule and the no-invention rule once each. - Fixed the Voice section's dash reference (#273) and the marketplace schema URL (#288). - Added a Cursor plugin manifest (#278). - README: opens with a before/after, the five strongest tells, and install steps for each agent. States that getting past AI detectors is not a goal. The full example's rewrite now

  2. Humanizer v3.0.0v3.0.0Sep 6, 2026

    Humanizer 3.0.0 rebuilds the skill around one account of why AI text sounds the way it does, and consolidates 35 patterns into 25 with nothing dropped. ## What changed - **One account up front.** The skill opens with why AI text sounds the way it does: a model makes the choice that fits the widest range of readers, and every tell is a form of that default. Two rules follow: every kept sentence must add something the reader did not have, and a tell counts in proportion to how rarely a careful writer would make it on purpose. - **Patterns grouped in five sections and ordered by strength and frequency.** Staging instead of stating (1 to 5), Rhythm by rule (6 to 11), Inflation and borrowed authority (12 to 18), Formatting by rule (19 to 21), Leftovers from the chat and the draft (22 to 25). The not-X-but-Y contrast and the one-line closer come first and get the fullest treatment: every variant named, the paragraph-scale form, a one-sighting rule, and a final scan step. - **Duplicate guidance merged.** The workflow is one section instead of five. The dash rule is stated once. Each false-positive guard lives inside the pattern it guards, marked *weak alone* where one sighting should no

  3. Humanizer v2.11.1v2.11.1Aug 18, 20265K downloads

    Claude Desktop can now install or replace Humanizer from the `humanizer-skill.zip` release asset. The archive contains one regular `humanizer/SKILL.md` file and no symbolic links, while the plugin package keeps its single canonical prompt. Fixes #224.

  4. Humanizer v2.11.0v2.11.0Aug 17, 2026

    Humanizer now uses Plain Language throughout the skill and repository. ## Highlights - Rewrote the runtime skill with shorter sentences, common words, active voice, and clearer headings. - Shortened `SKILL.md` by about 750 words. - Rewrote the README, repo guidance, agent metadata, plugin descriptions, workflow labels, and validation messages. - Added a checked Plain Language contract for future changes. ## Compatibility - Keeps all 35 pattern numbers and behavior. - Keeps every before-and-after example unchanged. - Keeps commands, paths, URLs, schemas, quotations, and the MIT license unchanged. - Keeps the root `SKILL.md` as the only prompt authority. Full changes: [PR #223](https://github.com/blader/humanizer/pull/223)

  5. Humanizer v2.9.1v2.9.1Jul 22, 2026

    Improves cross-agent packaging and distribution. Global installation is now the documented default, portable metadata validates cleanly, Codex gets UI metadata, CI checks every package surface, and the runtime prompt drops duplicated showcase material while retaining all 33 patterns.

Code frequency

additions and deletions
+832-832Week of 2026-01-11: +832 linesWeek of 2026-01-11: -304 linesWeek of 2026-01-18: +165 linesWeek of 2026-01-18: -30 linesWeek of 2026-01-25: +0 linesWeek of 2026-01-25: -0 linesWeek of 2026-02-01: +0 linesWeek of 2026-02-01: -0 linesWeek of 2026-02-08: +0 linesWeek of 2026-02-08: -0 linesWeek of 2026-02-15: +35 linesWeek of 2026-02-15: -14 linesWeek of 2026-02-22: +0 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +0 linesWeek of 2026-03-01: -0 linesWeek of 2026-03-08: +40 linesWeek of 2026-03-08: -31 linesWeek of 2026-03-15: +39 linesWeek of 2026-03-15: -1 linesWeek of 2026-03-22: +1 linesWeek of 2026-03-22: -1 linesWeek of 2026-03-29: +163 linesWeek of 2026-03-29: -58 linesWeek of 2026-04-05: +0 linesWeek of 2026-04-05: -0 linesWeek of 2026-04-12: +0 linesWeek of 2026-04-12: -0 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +45 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +0 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +4 linesWeek of 2026-05-17: -4 linesWeek of 2026-05-24: +74 linesWeek of 2026-05-24: -130 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +47 linesWeek of 2026-06-07: -4 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +116 linesWeek of 2026-06-28: -68 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +174 linesWeek of 2026-07-19: -271 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesWeek of 2026-08-09: +0 linesWeek of 2026-08-09: -0 linesWeek of 2026-08-16: +620 linesWeek of 2026-08-16: -526 linesWeek of 2026-08-23: +12 linesWeek of 2026-08-23: -4 linesWeek of 2026-08-30: +5 linesWeek of 2026-08-30: -4 linesWeek of 2026-09-06: +433 linesWeek of 2026-09-06: -504 linesWeek of 2026-09-13: +34 linesWeek of 2026-09-13: -4 linesWeek of 2026-09-20: +1 linesWeek of 2026-09-20: -1 linesWeek of 2026-09-27: +358 linesWeek of 2026-09-27: -144 linesJan 11, 2026Sep 27, 2026
+3.2K lines added, -2.1K removed over the last year.

Commits per week

last 52 weeks
160Week of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 3 commitsWeek of 2026-01-18: 4 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 1 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 3 commitsWeek of 2026-03-15: 1 commitsWeek of 2026-03-22: 1 commitsWeek of 2026-03-29: 5 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 1 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 2 commitsWeek of 2026-05-24: 3 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 1 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 2 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 4 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 0 commitsWeek of 2026-08-16: 16 commitsWeek of 2026-08-23: 1 commitsWeek of 2026-08-30: 2 commitsWeek of 2026-09-06: 7 commitsWeek of 2026-09-13: 1 commitsWeek of 2026-09-20: 1 commitsWeek of 2026-09-27: 7 commitsOct 4, 2025Sep 27, 2026
66 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 2 commitsSun 13:00 — 3 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 1 commitsSun 17:00 — 1 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 2 commitsSun 22:00 — 4 commitsSun 23:00 — 1 commitsMon 0:00 — 0 commitsMon 1:00 — 1 commitsMon 2:00 — 3 commitsMon 3:00 — 1 commitsMon 4:00 — 1 commitsMon 5:00 — 2 commitsMon 6:00 — 1 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 2 commitsMon 11:00 — 0 commitsMon 12:00 — 0 commitsMon 13:00 — 2 commitsMon 14:00 — 1 commitsMon 15:00 — 0 commitsMon 16:00 — 0 commitsMon 17:00 — 1 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 1 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 1 commitsTue 12:00 — 0 commitsTue 13:00 — 0 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 4 commitsTue 20:00 — 0 commitsTue 21:00 — 1 commitsTue 22:00 — 4 commitsTue 23:00 — 6 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 1 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 1 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 1 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 1 commitsThu 19:00 — 0 commitsThu 20:00 — 5 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 1 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 1 commitsFri 8:00 — 1 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 1 commitsFri 19:00 — 0 commitsFri 20:00 — 1 commitsFri 21:00 — 1 commitsFri 22:00 — 1 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 1 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 3 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits49 (62%)
Community commits30 (38%)

79 commits in total over the last year.

DateListRankStars gained
Sep 22, 2026weekly#11+3,045
Sep 21, 2026weekly#11+3,045
Sep 20, 2026weekly#9+3,024
Sep 19, 2026weekly#9+3,118
Sep 18, 2026weekly#10+3,235
Sep 17, 2026weekly#10+3,266
Sep 16, 2026weekly#7+3,248
Sep 15, 2026weekly#8+3,201
Sep 14, 2026weekly#8+3,673
Sep 13, 2026weekly#12+4,069
Sep 12, 2026weekly#9+4,649
Sep 11, 2026weekly#5+5,224
Sep 10, 2026weekly#5+5,925
Sep 9, 2026weekly#3+5,790
Sep 8, 2026weekly#3+5,771