match-voice
Skill8 starsChanged 3 months agoMITView on GitHub
Use when asked to rewrite or format text in the user's voice, "make this sound like me", "match my voice", "de-stiffen this", when text "reads too corporate / businessy / stiff", to "strip the em-dashes / agent typography", or to draft a Slack announcement, PR body, or doc in the user's voice. Also /match-voice.
Files
Match Voice
Rewrite supplied text, or draft from bullets, so it reads in the user's natural voice and in keyboard-typed prose. Preserve meaning; never invent claims or facts. Normalizing typography is about reading like a human typed it on a keyboard, not about hiding that an agent wrote it (surfacing agent authorship is fine).
Output lands in Slack announcements, docs, PRs, commit bodies. It is always properly capitalized (sentence casing).
Modes
- Rewrite — text is supplied: recast it in-voice.
- Draft — only bullets/intent supplied: write it in-voice. Add no facts beyond the input.
The voice
Surface is fixed: proper capitalization (sentence casing), apostrophes intact, no emoji (allowed only when the target is Slack, and opt-in). Lowercase-everything is not the voice, it was just the casual surface. The personality below is the voice, and it carries into formal output unchanged.
- Conclusion first. State the call, then the why. ("Auto-management was paternalistic." then the reasons.)
- Blunt and dry, lightly self-deprecating. The wit is load-bearing, not decoration. Keep the bite when formalizing: "we test locally and merge on green" survives the jump from "i just yolo merge, what could go wrong" — same edge, proper casing. Do not sand it into corporate-neutral.
- Plain words, short precise verbs — wire, gate, cap, shim, sweep, surface, flesh out, lock, pull. Jargon only when needed, defined on first use.
- Label uncertainty; don't hedge it. Say "unsure", "not sure", "open question" as explicit flags. Separate what you know from what you suspect. Never a hedge pileup ("I think this might possibly").
- Parenthetical asides for the side-thought. Bullets over prose for lists. Bold the load-bearing phrase.
- Aphoristic punch where it fits: short declaratives ("This is a feature, not a bug.").
- "we" framing for shared work.
Strip the anti-voice
Cut on sight:
- Corporate filler — leverage, synergy, actionable, ensure, "in order to", "moving the needle", "data-driven * framework", robust, seamless.
- Enthusiasm openers — "Excited to announce", "This PR adds exciting".
- Hedge pileups — "I think this might possibly".
- Closing pleasantries — "Let me know if you have questions!", "Hope this helps".
- AI recap verbs — emphasized, highlighted, stressed, "The team discussed".
- Performed sincerity — "honest", "honestly", "to be honest", "I'll be honest", "frankly", "truthfully", "let's be real". The voice flags doubt with "unsure" and then says the thing; it never advertises candor first.
- Common AI filler — "It's worth noting", "That said" / "That being said", "Here's the thing", "not just X, but Y", "It's not about X, it's about Y", deep dive, delve, unpack, landscape, realm, crucial, vital.
- Generic headers — Overview, Background, Introduction. Name the section for what it says.
Normalize typography to keyboard ASCII
Two layers, then verify.
- Rewrite by hand the constructions that carry meaning: recast em-dash clauses into the user's comma or parenthetical style; turn arrows into words or
->. Don't blind-swap where the phrasing itself should change. - Run the deterministic pass on the result (portable
sed, no extra files):sed -e 's/—/ - /g' -e 's/–/-/g' -e 's/…/.../g' \ -e 's/[“”]/"/g' -e "s/[‘’]/'/g" \ -e 's/↔/<->/g' -e 's/→/->/g' -e 's/⇒/=>/g' -e 's/←/<-/g' \ -e 's/[•·]/-/g' -e 's/≥/>=/g' -e 's/≤/<=/g' -e 's/≠/!=/g' \ < draft.txt > clean.txt - Verify mechanically — prove no tells remain, don't assume:
The grep is the real guarantee — it catches anything theLC_ALL=C grep -n '[^ -~ ]' clean.txt # any non-ASCII byte (tab allowed); expect no outputsedmissed (stray unicode spaces, exotic symbols). Fix each flagged spot by hand (e.g. a non-breaking space becomes a normal space) and re-run until clean. No "looks clean" without this grep.
Output
Print the rewritten/drafted text, then a one-line note of what changed:
voice: normalized 3 em-dashes + smart quotes; cut "leverage", "seamless", a closing pleasantry.
Anti-patterns
- Going casual on the surface — lowercase
i, dropped apostrophes, unprompted emoji. Capitalize properly (sentence casing); emoji only on an opt-in Slack target. (Keep the personality, drop the casing.) - Flattening the dry wit and bluntness into corporate-neutral while formalizing. The voice is the content.
- Adding claims or numbers not in the source — this is a voice pass, not a content pass.
- Claiming typography is clean without running the verify grep.
- Blind-replacing every em-dash with " - " when a comma or parens reads more like the user.
- Applying
simplify-prose(ASD-STE100) here. That skill is for technical docs and deletes persuasion by design; in voice output the voice is the content.
See reference.md for the verbatim voice corpus the profile is drawn from.
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- petar-djukic/writing-skills★ 5same name
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 repository38 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- active-readSkill
- active-reviewSkill
- analyze-knowledgeSkill
- audit-accomplishmentsSkill
- audit-historySkill
- bisectSkill
- ci-debug-loopSkill
- create-decision-documentSkill
- create-jira-itemSkill
- create-prSkill
- create-ruleSkill
- create-skillSkill
- discover-patternsSkill
- evaluate-dependencySkill
- fix-pr-conflictSkill
- implement-planSkill
- push-and-watchSkill
- rebase-pr-chainSkill
- review-allSkill
- review-api-compatSkill
- review-ciSkill
- review-codeSkill
- review-coverageSkill
- review-databaseSkill
- review-documentationSkill
- review-infrastructureSkill
- review-observabilitySkill
- review-performanceSkill
- review-planSkill
- review-reliabilitySkill
- review-securitySkill
- review-trajectorySkill
- set-session-contextSkill
- ship-itSkill
- simplify-proseSkill
- start-daySkill
- verify-when-completeSkill
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.

