human-voice
Skill0 starsChanged 47 days agoMITView on GitHub
Make anything written in the user's name or for their business read like a person wrote it, not a model - Reddit and forum comments, Pinterest pins, cold emails and pitches, cover letters and proposals, store listings and website pages. Holds the shared list of tells (em dashes, "it's not X, it's Y", tricolons, throat-clearing, hype words, even paragraphs, tidy closing lines, templated batches), a register for each surface, and a checker script other skills can run before showing a draft. Use when drafting or reviewing any outward-facing text, when asked to make something sound more human, less robotic, less like AI or ChatGPT, more like the user, or when a batch of drafts starts sounding alike.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- heypastel/pastel-outbound-systemtheir own version, first seen Nov 8, 2026
- Tcuzzo/backs-aios-skillstheir own version, first seen Nov 3, 2026
- AgentShekel/agentic-workflowtheir own version, first seen Nov 1, 2026
- ttilabs11-byte/human-voice-skilltheir own version, first seen Oct 25, 2026
- mike22890/opencode-skills-entheir own version, first seen Oct 15, 2026
- 0King0P/Claude-Skillstheir own version, first seen Oct 13, 2026
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- stephenoffer/human-voice★ 38same name
- ttilabs11-byte/human-voice-skill★ 7same name
- AgentShekel/agentic-workflow★ 4same name
- Envy-7z/katalyst★ 4same name
- ksprashu/agent-skill-forge★ 3same name
- heypastel/pastel-outbound-system★ 2same name
- Tcuzzo/backs-aios-skills★ 2same name
- DavoDC/claude-playbook★ 1same name
- Jawahars07/ballast★ 1same name
- mike22890/opencode-skills-cn★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- app-similaritySkill
- claude-md-trimSkill
- listing-accuracySkill
- niche-scoutSkill
- perfSkill
- play-releaseSkill
- polishSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Run the checker: Every FAIL must be fixed. Read every NOTE and fix it unless the sentence is right as written.
- Distinctive: line 94
Add a statistic, time or claim the source doesn't make.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Human voice
Writing that goes out under a person's name should sound like that person, not like a model. When several skills each keep their own copy of these rules, the copies drift; one copy once carried a dash check that never matched anything. Keep the rules here in one place. Other skills keep only what is specific to their surface and point here.
The substance is almost never the problem. The polish is. A correct draft that reads as generated is worse than none, because it attaches to the user's name.
The loop, for every draft
- Write from the facts in front of you, in the register for the surface.
Pick it from
references/registers.md. Lifting the substance of one of the user's own comments or edits and loosening the grammar gets there faster than writing fresh. - Run the checker. Every FAIL must be fixed. Read every NOTE and fix it
unless the sentence is right as written.
Registers:python3 "${CLAUDE_SKILL_DIR}/scripts/check_voice.py" --register <r> <files> # several drafts going out together (a week of pins, a day of pitches): python3 "${CLAUDE_SKILL_DIR}/scripts/check_voice.py" --register <r> --batch <files>casual,pin,email,letter,store,site. Use-for stdin. If the project has its own site prose or SEO checker, run it too; this script only adds the shared tells. - Read it out loud, the whole batch together. If two drafts sound like siblings, rewrite one. The script can't hear this.
- Show the user. They are the only real check on "this does not sound like me". When they rewrite a sentence, keep their words exactly. Don't smooth them. Their phrasing is the target, not a draft of it.
The tells
Mechanical. The checker catches all of these.
- Em dashes, en dashes and curly quotes, in every register except
siteandstore. Use a comma, a full stop or a new sentence. On the site and in listings, dashes are part of the voice, but never three in one paragraph. - Bold lead-ins on paragraph after paragraph. At most one in a comment, email or letter, and usually none.
- Even paragraphs and even sentences. Real writing puts a two-line paragraph next to a seven-line one, and a four-word sentence next to a long one.
- Too few contractions in a casual register. "It is not" in a Reddit reply reads stiff.
- Long sentences. The limit depends on the register.
Rhetorical. The checker flags most of these, but read for them anyway.
| Cut | Why |
| "It's not X, it's Y" | The single most recognisable model sentence shape |
| Three parallel items where two would do | A writing habit, not a speech habit |
| "Here's the thing", "The key insight is", "It's worth noting" | Announces a point instead of making it |
| "That's exactly where", "the reason is X rather than Y" | Too neat a landing, and it sets up a strawman |
| "Whether you're a ... or a ..." | Ad copy |
| "plainly", "to be honest", "bluntly" | Signals honesty instead of being honest |
| Hype: ultimate, seamless, effortless, leverage, robust, elevate, game-changer | Nobody says these out loud |
| A hedge on every claim | You either hit the bug or you didn't |
| A closing line that ties back to the opening | Essays do this. People stop when they're done |
Batch. The checker's --batch flag catches these.
- The same opening or closing sentence across drafts. 70 of 77 cover letters once ended "I would welcome the chance to talk."
- The same biography block or anecdote pasted in near-verbatim. The writer's real differentiators should keep appearing, phrased fresh each time from the reader's angle.
- One description shape across a week of pins, such as every one ending with "Guidance from X".
What to put in instead
- The cost, in plain words. "Took me way too long." "Lost most of a day to it." These are memories, so they can't be generated credibly.
- One specific thing only someone who did it would mention. The exact error string. The arrow on the filter points toward the furnace. Both engines failed in the same place.
- The thing itself, not its absence. Lead with what the game does, not "a game with no ads".
Never, in any register
- Invent a motivation, an achievement, a visit or a customer relationship. If a draft says the user is excited about something, they must be able to say it out loud.
- Change quoted source material while editing for style.
- Add a statistic, time or claim the source doesn't make.
references/before-after.md has a full rewrite of a real Reddit comment, with
the same facts both times. Read it once if a draft feels off and you can't say
why.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

