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".
- 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:
LC_ALL=C grep -n '[^ -~ ]' clean.txt # any non-ASCII byte (tab allowed); expect no output
The grep is the real guarantee — it catches anything the sed missed (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.
1---2name: match-voice3description: 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.4---56# Match Voice78Rewrite 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).910Output lands in Slack announcements, docs, PRs, commit bodies. It is always properly capitalized (sentence casing).1112## Modes1314- **Rewrite** — text is supplied: recast it in-voice.15- **Draft** — only bullets/intent supplied: write it in-voice. Add no facts beyond the input.1617## The voice1819Surface 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.2021- **Conclusion first.** State the call, then the why. ("Auto-management was paternalistic." then the reasons.)22- **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.23- **Plain words, short precise verbs** — wire, gate, cap, shim, sweep, surface, flesh out, lock, pull. Jargon only when needed, defined on first use.24- **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").25- **Parenthetical asides** for the side-thought. **Bullets** over prose for lists. **Bold** the load-bearing phrase.26- **Aphoristic punch** where it fits: short declaratives ("This is a feature, not a bug.").27- **"we"** framing for shared work.2829## Strip the anti-voice3031Cut on sight:3233- **Corporate filler** — leverage, synergy, actionable, ensure, "in order to", "moving the needle", "data-driven * framework", robust, seamless.34- **Enthusiasm openers** — "Excited to announce", "This PR adds exciting".35- **Hedge pileups** — "I think this might possibly".36- **Closing pleasantries** — "Let me know if you have questions!", "Hope this helps".37- **AI recap verbs** — emphasized, highlighted, stressed, "The team discussed".38- **Generic headers** — Overview, Background, Introduction. Name the section for what it says.3940## Normalize typography to keyboard ASCII4142Two layers, then verify.43441. **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.452. **Run the deterministic pass** on the result (portable `sed`, no extra files):46 ```bash47 sed -e 's/—/ - /g' -e 's/–/-/g' -e 's/…/.../g' \48 -e 's/[“”]/"/g' -e "s/[‘’]/'/g" \49 -e 's/↔/<->/g' -e 's/→/->/g' -e 's/⇒/=>/g' -e 's/←/<-/g' \50 -e 's/[•·]/-/g' -e 's/≥/>=/g' -e 's/≤/<=/g' -e 's/≠/!=/g' \51 < draft.txt > clean.txt52 ```533. **Verify mechanically** — prove no tells remain, don't assume:54 ```bash55 LC_ALL=C grep -n '[^ -~ ]' clean.txt # any non-ASCII byte (tab allowed); expect no output56 ```57 The grep is the real guarantee — it catches anything the `sed` missed (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.5859## Output6061Print the rewritten/drafted text, then a one-line note of what changed:6263> _voice: normalized 3 em-dashes + smart quotes; cut "leverage", "seamless", a closing pleasantry._6465## Anti-patterns6667- 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.)68- Flattening the dry wit and bluntness into corporate-neutral while formalizing. The voice is the content.69- Adding claims or numbers not in the source — this is a voice pass, not a content pass.70- Claiming typography is clean without running the verify grep.71- Blind-replacing every em-dash with " - " when a comma or parens reads more like the user.72- 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.7374See [reference.md](reference.md) for the verbatim voice corpus the profile is drawn from.