The antidote to AI slop
Most attempts to make LLM output sound human are a banned-word list: no "delve", no "leverage", done. That misses where the tell actually lives. Word choice is the surface; the structures underneath give it away long after the vocabulary is cleaned up. The rule-of-three default, the "not X, but Y" contrast, the rhetorical question with its snappy answer, the neat-bow ending, the em dash sprayed through every paragraph.
writing-style is a Claude Code skill that bans both layers, plus a third one most people never name: the assistant-commentary frame. That's the wrapper an LLM puts around a deliverable, the effort narration ("the analysis I promised"), the hand-over openers ("here's the map", "below is the analysis"), the meta-closers and offers to continue ("want me to go deeper?"). The skill cuts the frame and keeps the content, including first-person opinions that are the actual substance.
It also enforces Australian English in full (the -ise, -our and -re families, doubled L, practise/practice, no Oxford comma), replaces vague intensity with specifics ("40% faster", never "significantly faster"), and carries a voice section tuned by mining a real sample of sent emails, which a fork can swap for its owner's own habits.
The evals are the point
Claims about writing quality are cheap, so the eval set is committed to the repo: writing tasks across casual and formal registers, plus a marking checklist, with scored runs published alongside.
In the latest full run, every piece produced with the skill loaded passed every applicable checklist row, and the no-skill baseline failed four of seven tasks. What still separates the two isn't emoji or hashtags (the unguided model has cleaned those up on its own): it's invented numbers, triad stacking, stray em dashes and banned words. Publishing the scored runs means anyone can rerun the tasks and check the claims rather than taking them on faith.
Design decisions
Explicit trigger only. The skill fires on /writing-style or an explicit request, never automatically. Auto-triggering loads the whole guide into context on anything that looks like writing, which burns tokens fast. The trigger rules live in one place (the skill's frontmatter description), so anyone who wants auto-triggering can turn it on with a one-line edit.
One file, forkable. The entire skill is a single SKILL.md. Swapping Australian for British English, restoring the Oxford comma, or replacing the voice section is an edit, not a plugin architecture.
Stack
Markdown skill for Claude Code, committed eval set with scored runs.