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

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
16GitHub stars
2stars in 7 days
1skill in this repository
14commits in 30 days

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

Oct 25, 2026Nov 3, 202616

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 tokens

Always available to the agent

SKILL.md

4,233 tokens

When the skill is activated

Reference documents

22,627 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to use this
  2. Core principle: variance over substitution
  3. Step 0: Discover the voice (do this every run, before rewriting)
  4. Step 0b: Stance mode (opt-in, off by default)
  5. Step 0c: Density pre-check (match effort to evidence)
  6. Step 0d: Text hygiene preflight (do this every run)
  7. The multi-pass workflow
  8. False-positive guardrails
  9. Anti-signature guidance
  10. Output contract
  11. Scope and intended use
  12. 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 bytes
  • AGENTS.mddoc2,754 bytes
  • CHANGELOG.mddoc9,274 bytes
  • CONVENTIONS.mddoc1,658 bytes
  • GEMINI.mddoc1,544 bytes
  • LICENSEasset1,062 bytes
  • README.mddoc12,807 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • SKILL.mdcore18,378 bytes
  • evals/evals.jsonasset9,310 bytes
  • evals/files/VOICE.mddoc712 bytes
  • references/do-not-flag.mddoc7,231 bytes
  • references/examples.mddoc16,868 bytes
  • references/tell-patterns.mddoc25,261 bytes
  • references/text-hygiene.mddoc5,592 bytes
  • references/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 this
View the complete source on GitHub

Skills 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 scripts

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 25 signals by file

.github/scripts/check_drift.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 363
    [Credential-related source omitted]

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
    ![version](https://img.shields.io/badge/version-1.3.1-blue)
  • Network accessline 4
    ![license](https://img.shields.io/badge/license-MIT-green)
  • Network accessline 5
    ![type](https://img.shields.io/badge/type-pure--prompt%20skill-purple)
  • Network accessline 6
    ![dependencies](https://img.shields.io/badge/dependencies-none-brightgreen)
  • Network accessline 7
    ![patterns](https://img.shields.io/badge/tell%20catalog-32%20patterns-orange)
  • Network accessline 8
    ![tools](https://img.shields.io/badge/works%20with-13%20AI%20coding%20tools-teal)
  • Network accessline 9
    [![drift check](https://github.com/hannsxpeter/humanizer/actions/workflows/drift.yml/badge.svg)](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

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorNativePath .cursor/rules/humanizer.mdc.cursor/skills/<skill-name>/
Gemini CLINativePath GEMINI.md.gemini/skills/<skill-name>/
GitHub CopilotNativeManifest .github/copilot-instructions.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.