Not in the top 1,000 by GitHub stars
hannsxpeter/humanizer
Pure-prompt Agent Skill that de-slops AI-sounding prose, rewrites it in a writer's own voice, and conservatively cleans hidden Unicode, with guards against invented facts and over-editing. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and 8 more AI coding tools.
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
e8f1248a7d49 → e8f1248a7d49
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e8f1248a7d49
No earlier version was observed for comparison.
Verified commit e8f1248a7d4919689c1f942e356ed95b102d9f07
git clone --filter=blob:none --no-checkout https://github.com/hannsxpeter/humanizer.git .hotskills/hannsxpeter-humanizer && git -C .hotskills/hannsxpeter-humanizer checkout --detach e8f1248a7d4919689c1f942e356ed95b102d9f07
# Copy each selected skill directory from .hotskills/hannsxpeter-humanizer into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/hannsxpeter/humanizer.git .hotskills/hannsxpeter-humanizer && git -C .hotskills/hannsxpeter-humanizer checkout --detach e8f1248a7d4919689c1f942e356ed95b102d9f07
# Copy each selected skill directory from .hotskills/hannsxpeter-humanizer into .cursor/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/hannsxpeter/humanizer.git .hotskills/hannsxpeter-humanizer && git -C .hotskills/hannsxpeter-humanizer checkout --detach e8f1248a7d4919689c1f942e356ed95b102d9f07
# Copy each selected skill directory from .hotskills/hannsxpeter-humanizer into .gemini/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/hannsxpeter/humanizer.git .hotskills/hannsxpeter-humanizer && git -C .hotskills/hannsxpeter-humanizer checkout --detach e8f1248a7d4919689c1f942e356ed95b102d9f07
# Copy each selected skill directory from .hotskills/hannsxpeter-humanizer into .github/skills/<skill-name>/Heat
3.7- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
humanizer
When your agent uses it
Humanize and de-slop AI-sounding prose while preserving meaning, specific detail, and genuine human quirks. When a voice sample or style profile is available, rewrite in that writer's actual voice. Remove recurring AI tells such as inflated significance, stock vocabulary, uniform rhythm, excessive hedging, formulaic structure, and formatting artifacts. Also clean suspicious invisible Unicode and copy-paste residue conservatively, without treating them as proof of authorship. Use whenever a user wants to humanize, de-AI, de-slop, or de-robotify text; fix prose that sounds corporate, generic, like ChatGPT, or otherwise off; match a draft to a writer or named author; edit for authentic voice and rhythm; or clean zero-width characters, exotic spaces, bidi controls, and similar hidden text residue.
What it loads into context
Frontmatter
217 tokensAlways available to the agent
SKILL.md
4,233 tokensWhen the skill is activated
Reference documents
22,627 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this
- Core principle: variance over substitution
- Step 0: Discover the voice (do this every run, before rewriting)
- Step 0b: Stance mode (opt-in, off by default)
- Step 0c: Density pre-check (match effort to evidence)
- Step 0d: Text hygiene preflight (do this every run)
- The multi-pass workflow
- False-positive guardrails
- Anti-signature guidance
- Output contract
- Scope and intended use
- Reference files
Scripts executed separately
.github/scripts/check_drift.py
Files
.continue/rules/humanizer.mddoc2,052 bytes.cursor/rules/humanizer.mdcasset2,041 bytes.github/copilot-instructions.mddoc1,652 bytes.github/dependabot.ymlasset149 bytes.github/scripts/check_drift.pyruns15,401 bytes.github/workflows/drift.ymlasset412 bytes.gitignoreasset176 bytesAGENTS.mddoc2,754 bytesCHANGELOG.mddoc9,274 bytesCONVENTIONS.mddoc1,658 bytesGEMINI.mddoc1,544 bytesLICENSEasset1,062 bytesREADME.mddoc12,807 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesSKILL.mdcore18,378 bytesevals/evals.jsonasset9,310 bytesevals/files/VOICE.mddoc712 bytesreferences/do-not-flag.mddoc7,231 bytesreferences/examples.mddoc16,868 bytesreferences/tell-patterns.mddoc25,261 bytesreferences/text-hygiene.mddoc5,592 bytesreferences/voice-matching.mddoc5,905 bytes
Read SKILL.md
# Humanizer
Turn AI-flavored or generically smooth prose into writing that reads as the
work of a person. When a writer's voice is available, make it read as the work
of *that* person. The goal is prose a careful human reader would not flag,
with its meaning and its human texture intact. The goal is not to beat any
particular detector, and this skill names and targets none.
The workflow also includes conservative text hygiene. It can remove
suspicious invisible Unicode and normalize copy-paste spacing in the prose it
rewrites, while preserving characters that carry real linguistic or display
meaning. This is not file-provenance or media-watermark tooling.
## When to use thisView the complete source on GitHubSkills included
- humanizer
Repository facts
- License
- MIT
- Created
- May 15, 2026
- Last pushed
- Oct 8, 2026
- Forks
- 1
- Open issues
- 0
- Project activity
- Active
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 10 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 analyzed
- No broad tool permissions
- No dangerous shell commands
- 23 network referencesin 3 files: README.md:3 CHANGELOG.md:200 references/text-hygiene.md:111
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: .github/scripts/check_drift.py:1
- 1 reference to secretsin 1 file: .github/scripts/check_drift.py:363
- No requests to vote in Hot
Show all 25 signals by file
.github/scripts/check_drift.py
CHANGELOG.md
- Network accessline 200
[Unreleased]: https://github.com/hannsxpeter/humanizer/compare/v1.3.1...HEAD - Network accessline 201
[1.3.1]: https://github.com/hannsxpeter/humanizer/compare/v1.3.0...v1.3.1 - Network accessline 202
[1.3.0]: https://github.com/hannsxpeter/humanizer/compare/v1.2.1...v1.3.0 - Network accessline 203
[1.2.1]: https://github.com/hannsxpeter/humanizer/compare/v1.2.0...v1.2.1 - Network accessline 204
[1.2.0]: https://github.com/hannsxpeter/humanizer/compare/v1.1.1...v1.2.0 - Network accessline 205
[1.1.1]: https://github.com/hannsxpeter/humanizer/compare/v1.1.0...v1.1.1 - Network accessline 206
[1.1.0]: https://github.com/hannsxpeter/humanizer/compare/v1.0.0...v1.1.0 - Network accessline 207
[1.0.0]: https://github.com/hannsxpeter/humanizer/releases/tag/v1.0.0
README.md
- Network accessline 3
 - Network accessline 4
 - Network accessline 5
 - Network accessline 6
 - Network accessline 7
 - Network accessline 8
 - Network accessline 9
[](https://github.com/hannsxpeter/humanizer/actions/workflows/drift.yml) - Network accessline 19
`humanizer` is an [Agent Skill](https://agentskills.io): a folder whose - Network accessline 25
git clone https://github.com/hannsxpeter/humanizer ~/.claude/skills/humanizer - Network accessline 33
git clone https://github.com/hannsxpeter/humanizer ~/.agents/skills/humanizer - Network accessline 104
This feature adapts the prompt-compatible text-layer ideas from [watermarks-remover](https://github.com/guillaumemeyer/watermarks-remover). - Network accessline 105
[watermarks-remover](https://github.com/guillaumemeyer/watermarks-remover). - Network accessline 224
This skill was built from the voice-preservation logic that powers [Scriveno](https://github.com/hannsxpeter/scriveno) (formerly Scriven), an - Network accessline 225
[Scriveno](https://github.com/hannsxpeter/scriveno) (formerly Scriven), an
references/text-hygiene.md
- Network accessline 111
Source concept: https://github.com/guillaumemeyer/watermarks-remover
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.
Signal confidence: 25 facts
- Executable script in code of a file that runs.github/scripts/check_drift.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored value.github/scripts/check_drift.py:363Low confidence
- Network access in prose of documentationCHANGELOG.md:200Low confidence
- Network access in prose of documentationCHANGELOG.md:201Low confidence
- Network access in prose of documentationCHANGELOG.md:202Low confidence
- Network access in prose of documentationCHANGELOG.md:203Low confidence
- Network access in prose of documentationCHANGELOG.md:204Low confidence
- Network access in prose of documentationCHANGELOG.md:205Low confidence
- Network access in prose of documentationCHANGELOG.md:206Low confidence
- Network access in prose of documentationCHANGELOG.md:207Low confidence
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:4Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in prose of documentationREADME.md:6Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:19Low confidence
- Network access in code of documentationREADME.md:25Low confidence
- Network access in code of documentationREADME.md:33Low confidence
- Network access in prose of documentationREADME.md:104Low confidence
- Network access in prose of documentationREADME.md:105Low confidence
- Network access in prose of documentationREADME.md:224Low confidence
- Network access in prose of documentationREADME.md:225Low confidence
- Network access in prose of documentationreferences/text-hygiene.md:111Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/rules/humanizer.mdc | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Path GEMINI.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Native | Manifest .github/copilot-instructions.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.