human-voice

Make AI-drafted docs read like a person wrote them, without changing a single fact.
human-voice is a Claude Code skill that rewrites or generates prose so it
doesn't read as AI-written. Most "humanizer" tools swap a few words and call it
done. The text still reads like a machine, because the giveaways aren't mostly
lexical. They're structural (em-dash overuse, relentless rule-of-three,
bold-bullet listicles, sentences that are all the same length) and substantive
(paragraphs that say nothing, a survey where a verdict belongs, invented
specifics). This skill fixes those first and treats word choice as the last and
shallowest pass.
See the difference
Same claim, two voices. The scores come from the bundled linter; run it on both
yourself.
BEFORE score 354 · strong-tell · 16 tells
─────────────────────────────────────────────────────────────────
In today's fast-paced digital landscape, leveraging cutting-edge
solutions is crucial for success. Our robust, scalable, and seamless
platform empowers teams to delve into actionable insights, unlock
their full potential, and move the needle. It's not just a tool, it's
a game-changer that stands as a testament to innovation.
AFTER score 0 · clean
─────────────────────────────────────────────────────────────────
Your team keeps its notes in six different tools. By Friday nobody
remembers which thread held the real decision. Put the chat right
next to the files, in one place, so "wait, where did we land on this?"
stops being a question anyone has to ask.
The "before" isn't a vocabulary problem. It's the whole machine signature at
once: filler (leverage, delve, seamless), business jargon
(move the needle, actionable), a reflexive rule-of-three, the it's not X, it's Y reflex, puffery (stands as a testament). Swap the synonyms and all of
that still stands. The skill strips it out and commits to one concrete claim.
Why use it
- It fixes the tells that actually give AI away. The signature is structural and
substantive, not just word choice. human-voice cuts vacuity, breaks uniform
sentence rhythm (what detectors call burstiness), dismantles the
rule-of-three and bold-bullet templates, and makes the text take a position.
Diction comes last.
- Nothing gets fabricated to sound human. Numbers, quotes, citations, defined
terms, code: all invariant. When a draft needs a fact it doesn't have, the
skill writes
[SOURCE NEEDED] instead of inventing one. The anti-hallucination
protocol is built in.
- The genre comes first, never one default voice. A technical report stays
professional. Marketing copy addresses "you". A blog post gets a personality.
Ten register profiles share one universal core of tells fixed everywhere.
- A bundled linter gates your CI. The dependency-free Python script scores the
regex-able tells and prints a verdict; past a threshold you set with
--fail-over, it exits non-zero. It says plainly what it can't see.
- No detector games. No homoglyph or zero-width tricks, no deliberate typos. The
goal is writing a skeptical human reads as human, not a passing score. AI
detectors also misclassify non-native-English writing as machine-made (Liang et
al. 2023), so no detector is ground truth anyway.
Install
1. Plugin marketplace (one command)
/plugin marketplace add stephenoffer/human-voice
/plugin install human-voice@human-voice
Then run /human-voice in any session.
2. Manual skill copy
git clone https://github.com/stephenoffer/human-voice.git
cp -r human-voice/skills/human-voice ~/.claude/skills/ # user scope
# or, for one project only:
cp -r human-voice/skills/human-voice <your-project>/.claude/skills/
3. Use it from this repo directly
The skill already lives at skills/human-voice/. Open this repo in Claude Code
and invoke /human-voice.
Use
/human-voice <file-path | pasted-text> [fix|generate] [register: technical|business|marketing|academic|casual|creative]
fix (default) rewrites an AI-sounding draft.
generate drafts new copy that reads human from the start.
register matches the genre's conventions; it's inferred if you omit it.
Run it on its own anytime: