agentleFS
hexhex/claude-sessions/skills/prose-hygiene/SKILL.md

prose-hygiene

Skill54 starsChanged 9 days agoMITView on GitHub

Remove AI writing tells from prose. Use when drafting, editing, or reviewing text to eliminate predictable AI patterns.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. MediaPlural/agent-proven★ 1same 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 repository5 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    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
  1. Distinctive:

    Drafting: avoid every pattern below as you write.

    line 14
  2. Distinctive:

    Reviewing: read the prose and, for each match, output the quoted text, the rule it breaks, and a concrete rewrite.

    line 15
  3. Distinctive:

    Cut filler: Remove throat-clearing openers, emphasis crutches, and every adverb.

    line 34
  4. Distinctive:

    Break formulas: No binary contrasts, negative listings, dramatic fragments, rhetorical setups, or false agency.

    line 35
  5. Distinctive:

    Use active voice: Every sentence needs a human subject doing something.

    line 36
  6. Distinctive:

    Cut quotables: If a line sounds like a pull-quote, rewrite it.

    line 41
  7. Distinctive:

    Add no meaning. Delete them.

    line 50
  8. Distinctive:

    Remove self-referential asides.

    line 60

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Prose Hygiene

The complete checklist for removing AI writing tells from prose.

How to apply

  • Drafting: avoid every pattern below as you write.
  • Reviewing: read the prose and, for each match, output the quoted text, the rule it breaks, and a concrete rewrite. Then score per the rubric (see Scoring) and report the per-dimension scores and total. Judge only — do not edit the file.

Technical prose (.cs/summary.md, memory entries) is the usual target here, so apply the rules with these carve-outs: a technical subject performing its function is not false agency ("the hook fires", "the test fails", "the ref survives the rm"); keep adverbs that carry technical meaning (asynchronously, atomically, locally); factual enumerations keep their true count (the three-item rule targets rhetorical triads, not a real list of three files); conditional openers are fine in procedural text (the starter ban targets rhetorical questions, not "When X, do Y").

Scope: in a cs session this covers what /wrap writes (.cs/summary.md and the memory entries; the narrative notebooks are exempt). Every rule below needs a model judging meaning, and /wrap runs no critic, which makes these rules something to follow while drafting rather than a pass to run afterward.

Core principles

  1. Cut filler. Remove throat-clearing openers, emphasis crutches, and every adverb. Say the thing.
  2. Break formulas. No binary contrasts, negative listings, dramatic fragments, rhetorical setups, or false agency.
  3. Use active voice. Every sentence needs a human subject doing something. No passive constructions. No inanimate object performing a human verb.
  4. Be specific. Name the actual thing. No vague declaratives ("the reasons are structural"). No lazy extremes doing vague work.
  5. Put the reader in the room. "You" beats "people." Specifics beat abstractions. No narrating from a distance.
  6. Vary rhythm. Mix sentence lengths. Prefer two items to three. End paragraphs differently. No em-dashes.
  7. Trust the reader. State facts directly. Skip softening, justification, and hand-holding.
  8. Cut quotables. If a line sounds like a pull-quote, rewrite it.

Phrases to cut

Throat-clearing openers

Announcements before the point. Cut them and state the point. "Here's the thing", "Here's what/this/that/why [X]", "The uncomfortable truth is", "It turns out", "The real [X] is", "Let me be clear", "The truth is", "I'll say it again", "I'm going to be honest", "Can we talk about", "Here's what I find interesting", "Here's the problem though". Any "here's what/this/that" construction is throat-clearing.

Emphasis crutches

Add no meaning. Delete them. "Full stop.", "Period.", "Let that sink in.", "This matters because", "Make no mistake", "Here's why that matters", "Needless to say", "Rest assured", "Without a doubt", "The fact of the matter is".

Business jargon

Replace with plain language: navigate → handle; unpack → explain; lean into → accept; landscape → situation; game-changer → significant; double down → commit; deep dive → analysis; take a step back → reconsider; moving forward → next; circle back → revisit; on the same page → aligned.

Adverbs

Cut all of them. No -ly words, no softeners, no intensifiers, no hedges. Specific offenders: really, just, literally, genuinely, honestly, simply, actually, deeply, truly, fundamentally, inherently, inevitably, interestingly, importantly, crucially. Also cut these fillers: "at its core", "in today's [X]", "it's worth noting", "at the end of the day", "when it comes to", "in a world where", "the reality is", "last but not least", "when all is said and done".

Meta-commentary

Remove self-referential asides. The text should move, not announce its own structure. "Hint:", "Plot twist:" / "Spoiler:", "You already know this, but", "But that's another post", "[X] is a feature, not a bug", "Dressed up as", "The rest of this essay...", "Let me walk you through...", "In this section, we'll...", "As we'll see...", "I want to explore...".

Performative emphasis

Manufactured sincerity: "creeps in", "I promise", "They exist, I promise".

Telling instead of showing

Announcing difficulty or importance rather than demonstrating it: "This is genuinely hard", "This is what leadership actually looks like", "This is what [X] actually looks like", "actually matters".

Vague declaratives

Announce importance without naming the specific thing. Cut, or replace with the specific thing: "The reasons are structural", "The implications are significant", "This is the deepest problem", "The stakes are high", "The consequences are real".

Structures to avoid

Binary contrasts

False drama. State the point directly. "Not because X. Because Y.", "[X] isn't the problem. [Y] is.", "The answer isn't X. It's Y.", "It feels like X. It's actually Y.", "The question isn't X. It's Y.", "Not X. But Y." / "not X, it's Y", "It's not this. It's that.", "stops being X and starts being Y", "doesn't mean X, but actually Y", "is about X but not Y", "not just X but also Y". Fix: state Y directly; drop the negation.

Negative listing

Listing what something is not before revealing what it is. "Not a X... Not a Y... A Z." / "It wasn't X. It wasn't Y. It was Z." Fix: state Z.

Dramatic fragmentation

Fragments for emphasis read as manufactured profundity. "[Noun]. That's it. That's the [thing].", "X. And Y. And Z.", "This unlocks something. [Word].". Fix: complete sentences.

Rhetorical setups

Announce insight rather than deliver it. "What if [reframe]?", "Here's what I mean:", "Think about it:", "And that's okay." Fix: make the point.

Formulaic constructions

"By the time X, I was Y." (narrative template), "X that isn't Y" (indirect; say "X is broken").

False agency

Inanimate things given human verbs. AI loves this because it avoids naming the actor. "a complaint becomes a fix", "a bet lives or dies", "the decision emerges", "the culture shifts", "the conversation moves toward", "the data tells us", "the market rewards". Fix: name the human, or use "you".

Narrator-from-a-distance

Floating above the scene. "Nobody designed this.", "This happens because...", "This is why...", "People tend to...". Fix: put the reader in the room.

Passive voice

Hides the actor and drains energy. "X was created", "It is believed that", "Mistakes were made", "The decision was reached". Fix: name who did it, at the front of the sentence.

Sentence starters to avoid

Sentences starting with What/When/Where/Which/Who/Why/How. Paragraphs starting with "So". Sentences starting with "Look,". Fix: lead with the subject or the specific thing.

Rhythm patterns

Three-item lists (use two or one). Questions answered immediately (let them breathe or cut them). Every paragraph ending punchily (vary endings). Em-dashes (use commas or periods; none at all). Staccato fragmentation (do not stack short punchy sentences). "Not always. Not perfectly." (hedging disguised as reassurance).

Word patterns

Lazy extremes (every, always, never, everyone, everybody, nobody) assert false authority; use specifics. All adverbs (see Phrases).

Scoring

Rate 1-10 on each dimension using the anchors below. Total below 35/50 means the prose needs revision. This skill only judges: report the per-dimension scores, the total, and the violation list (quoted text + rule + rewrite) whether or not it passes, then stop. Revising and any re-score loop belong to the caller — do not edit the file here.

DimensionLow end (score 1-3)High end (score 8-10)
DirectnessMost sentences open with a setup phrase before the pointEvery sentence leads with its claim
RhythmLengths are uniform; endings are metronomicLengths vary; endings differ
TrustSoftens, justifies, hand-holdsStates facts and stops
AuthenticityReads as generated — formulas, false agencyReads as a person wrote it
DensityCuttable filler in most sentencesNothing cuttable remains

Before / after

  • "Here's the thing: building products is hard. Not because the technology is complex. Because people are." becomes "Building products is hard. Technology is manageable. People aren't."
  • "It turns out most teams struggle with alignment. The uncomfortable truth is nobody admits they're confused. And that's okay." becomes "Teams struggle with alignment. Nobody admits confusion."
  • "In today's fast-paced landscape we need to lean into discomfort and navigate uncertainty. This matters because your competition isn't waiting." becomes "Move faster. Your competition is."
  • "The decision emerged from the data, which told us the market was shifting." becomes "We read the usage numbers and cut the feature."

License

MIT.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.