hex/claude-sessions · Archived

prose-hygiene

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

First seen Jun 19, 2026

Installation

$ npx skills add hex/claude-sessions --skill prose-hygiene

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 33
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

More metadata
source
taxonomy adapted from stop-slop (github.com/hardikpandya/stop-slop, MIT), reworded for cs; synced at upstream 8da1f03 (2026-03-18)

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,309 B
  • docs SUMMARY.md 140 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

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: cs applies this to /summary output (.cs/summary.md and the memory entries; the narrative notebooks are exempt). Every rule below needs a model judging meaning, so the /summary critic subagent is the only thing that enforces them. /wrap skips that critic for speed, 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 (the /summary pass caps the re-runs) — do not edit the file here.

Dimension Low end (score 1-3) High end (score 8-10)
Directness Most sentences open with a setup phrase before the point Every sentence leads with its claim
Rhythm Lengths are uniform; endings are metronomic Lengths vary; endings differ
Trust Softens, justifies, hand-holds States facts and stops
Authenticity Reads as generated — formulas, false agency Reads as a person wrote it
Density Cuttable filler in most sentences Nothing 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.