#29 by GitHub stars
blader/humanizer
Rewrite AI-sounding text so it reads like the writer without changing what it says. Use when editing or reviewing prose for AI tells: not-X-but-Y contrasts, one-line closers, staged openers, forced triads, dashes everywhere, inflated claims, sales language, stock AI words, bold labels, or filler. Ba
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
8c307f367c91 → 0ef9fe5bc357
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 8c307f367c91
No earlier version was observed for comparison.
Verified commit 0ef9fe5bc3572734fd3ae6c448fe00a30cd5dcf0
git clone --filter=blob:none --no-checkout https://github.com/blader/humanizer.git .hotskills/blader-humanizer && git -C .hotskills/blader-humanizer checkout --detach 0ef9fe5bc3572734fd3ae6c448fe00a30cd5dcf0
# Copy each selected skill directory from .hotskills/blader-humanizer into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/blader/humanizer.git .hotskills/blader-humanizer && git -C .hotskills/blader-humanizer checkout --detach 0ef9fe5bc3572734fd3ae6c448fe00a30cd5dcf0
# Copy each selected skill directory from .hotskills/blader-humanizer into .agents/skills/<skill-name>/Heat
7.8- Star growth, last 7 daysAhead of 96% of tracked repositories
- Star growth, last 24 hoursAhead of 95% of tracked repositories
- Rank movement, last 7 daysAhead of 81% of tracked repositories
- Commits, last 30 daysAhead of 70% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
How it works
humanizer
When your agent uses it
Rewrite AI-sounding text so it reads like the writer without changing what it says. Use when editing or reviewing prose for AI tells: not-X-but-Y contrasts, one-line closers, staged openers, forced triads, dashes everywhere, inflated claims, sales language, stock AI words, bold labels, or filler. Based on Wikipedia's "Signs of AI writing."
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
7,056 tokensWhen the skill is activated
Reference documents
5,313 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Why AI text sounds the way it does
- How to work
- A. Staging instead of stating
- B. Rhythm by rule
- C. Inflation and borrowed authority
- D. Formatting by rule
- E. Leftovers from the chat and the draft
- F. Writing for the wrong reader
- When not to act
- Source
Scripts executed separately
scripts/validate-package.py
Files
.claude-plugin/marketplace.jsonasset521 bytes.claude-plugin/plugin.jsonasset448 bytes.cursor-plugin/plugin.jsonasset388 bytes.github/ISSUE_TEMPLATE/config.ymlasset393 bytes.github/ISSUE_TEMPLATE/new-pattern.ymlasset681 bytes.github/ISSUE_TEMPLATE/rewrite-problem.ymlasset1,286 bytes.github/workflows/validate.ymlasset815 bytesAGENTS.mddoc3,439 bytesCHANGELOG.mddoc5,922 bytesLICENSEasset1,066 bytesREADME.mddoc12,926 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesSKILL.mdcore32,348 bytesagents/openai.yamlasset201 bytesscripts/validate-package.pyruns5,418 bytes
Read SKILL.md
# Humanizer: remove AI writing patterns
Rewrite AI-sounding text so it reads like the writer, not a chatbot. Keep what it says. Do not make anything up.
## Why AI text sounds the way it does
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 human writer chooses for one reader and one subject, so their choices are uneven and specific. Every pattern below is one form of the default choice:
- **Staging.** The sentence signals importance instead of adding a fact, with a contrast that only adds weight or a one-line closer that repeats the point.
- **Rhythm by rule.** Triads and dashes applied everywhere, whether or not the meaning asks for them.
- **Inflation.** Ordinary facts dressed as pivotal or expert-backed.
- **Formatting by rule.** Bold and title case applied to every item.
- **Leftovers.** Chat wrappers and drafting moves that were never meant for the reader.
- **Wrong reader.** A reply re-explains background the other person already has, so the decision arrives last.View the complete source on GitHubSkills included
- humanizer
Repository facts
- License
- MIT
- Created
- Jan 18, 2026
- Last pushed
- Oct 28, 2026
- Forks
- 5,162
- Open issues
- 5
- Project activity
- Active
Rank over the last 12 weeks
Now #29 · best #29 · up 2 in 30 days
- #30 from Oct 15 to Oct 19
- #31 from Oct 20 to Oct 21
- #30 from Oct 22 to Oct 24
- #32 on Oct 25
- #30 from Oct 28 to Nov 5
- #29 since Nov 6
17 earlier periods
- #43 on Aug 2
- #40 from Aug 7 to Aug 20
- #39 from Aug 21 to Aug 26
- #38 from Aug 27 to Aug 29
- #39 on Aug 30
- #40 on Aug 31
- #39 from Sep 1 to Sep 2
- #38 on Sep 3
- #35 from Sep 4 to Sep 5
- #34 on Sep 6
- #35 from Sep 7 to Sep 9
- #34 from Sep 10 to Sep 14
- #33 from Sep 15 to Sep 20
- #32 from Sep 21 to Sep 25
- #31 from Sep 26 to Oct 2
- #30 from Oct 3 to Oct 5
- #31 from Oct 6 to Oct 14
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 11 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 30 network referencesin 6 files: README.md:3 .claude-plugin/plugin.json:5 .github/ISSUE_TEMPLATE/config.yml:2 and 3 more
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: scripts/validate-package.py:1
- No access to secrets
- No requests to vote in Hot
Show all 31 signals by file
.claude-plugin/marketplace.json
- Network accessline 1
{ "$schema": "https://json.schemastore.org/claude-code-marketplace.json", - Network accessline 2
"$schema": "https://json.schemastore.org/claude-code-marketplace.json", - Network accessline 4
"owner": { "name": "blader", "url": "https://github.com/blader" - Network accessline 5
"name": "blader", "url": "https://github.com/blader" }, - Network accessline 6
"url": "https://github.com/blader"
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "blader", "url": "https://github.com/blader" - Network accessline 6
"name": "blader", "url": "https://github.com/blader" }, - Network accessline 7
"url": "https://github.com/blader" - Network accessline 8
}, "homepage": "https://github.com/blader/humanizer", "repository": "https://github.com/blader/humanizer", - Network accessline 9
"homepage": "https://github.com/blader/humanizer", - Network accessline 10
"repository": "https://github.com/blader/humanizer",
.cursor-plugin/plugin.json
- Network accessline 6
"name": "blader" }, "homepage": "https://github.com/blader/humanizer", - Network accessline 7
}, "homepage": "https://github.com/blader/humanizer", "repository": "https://github.com/blader/humanizer", - Network accessline 8
"homepage": "https://github.com/blader/humanizer", - Network accessline 9
"repository": "https://github.com/blader/humanizer",
.github/ISSUE_TEMPLATE/config.yml
- Network accessline 2
contact_links: - name: Questions, ideas, and thanks url: https://github.com/blader/humanizer/discussions - Network accessline 3
- name: Questions, ideas, and thanks url: https://github.com/blader/humanizer/discussions about: Ask how to use Humanizer, share results, or say thanks. - Network accessline 4
url: https://github.com/blader/humanizer/discussions - Network accessline 5
about: Ask how to use Humanizer, share results, or say thanks. - name: AI detectors still flag the output url: https://github.com/blader/humanizer#humanizer - Network accessline 6
- name: AI detectors still flag the output url: https://github.com/blader/humanizer#humanizer about: Getting past AI detectors is not a goal. Humanizer edits for human readers. - Network accessline 7
url: https://github.com/blader/humanizer#humanizer
README.md
- Network accessline 3
sponsored by [cfo.ai](https://cfo.ai) - Network accessline 5
[](https://github.com/blader/humanizer/stargazers) [](https://skills.sh/blader/humanizer) - Network accessline 8
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](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), the guide Wikipedia editors use to c - Network accessline 16
In a blind test, judges preferred Humanizer's rewrite over the original AI text 16 times out of 16 ([#229](https://github.com/blader/humanizer/issues/229)). - Network accessline 105
> "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"](https://en.wikipedia.org/wiki - Network accessline 106
> Wikipedia, ["Signs of AI writing"](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing) - Network accessline 198
- [Wikipedia: Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing) is the source for the pattern list. - Network accessline 199
- [WikiProject AI Cleanup](https://en.wikipedia.org/wiki/Wikipedia:WikiProject_AI_Cleanup) maintains the page.
SKILL.md
- Network accessline 397
The patterns come from Wikipedia's ["Signs of AI writing"](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), maintained by WikiProject AI Cleanup, and from reviews of AI-generated text on Wikipedia and elsewhere.
scripts/validate-package.py
- Executable scriptline 1
#!/usr/bin/env python3
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 10 facts
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:16Low confidence
- Network access in prose of documentationREADME.md:105Low confidence
- Network access in prose of documentationREADME.md:106Low confidence
- Network access in prose of documentationREADME.md:198Low confidence
- Network access in prose of documentationREADME.md:199Low confidence
- Network access in prose of the SKILL.mdSKILL.md:397Low confidence
- Executable script in code of a file that runsscripts/validate-package.py:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/blader-humanizer/)