agentleFS
eprouvezeeprouveze/claude-skills/skills/deslop/SKILL.md

deslop

Skill0 starsChanged 5 months agoMITView on GitHub

Remove AI writing patterns from content. Use when reviewing blog posts, marketing copy, emails, or any customer-facing text. Checks for 22 AI-tell patterns across phrasing, rhythm, and authenticity. Trigger phrases — "deslop this", "clean up AI writing", "check for AI patterns", "remove AI tells", "content quality check", "is this sloppy".

118 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use simple-issue-description, control-cli and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JwuthriSkill

    simple-issue-description

    Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior. Use when a contributor asks to simplify an issue, explain what a PR is for, create the corresponding issue for a PR, remove implementation detail from a report, or invokes /simple-issue-description.

    Also in 4 projects that use this

  • ElyzeSolutionsSkill

    control-cli

    Build or adapt a local harness to drive, inspect, and profile an interactive CLI or TUI without external services. Use for CLI UX checks, startup regressions, memory leaks, hangs, prompt flows, or terminal demos.

    Also in 6 projects that use this

  • JwuthriSkill

    openseo-review-web-content

    Write and review content for the OpenSEO website (web/) — blog posts, guides, feature pages, FAQs. Distills the philosophy for on-brand, useful, accurate content. Use whenever adding or editing user-facing prose in web/content or web/src.

    Also in 4 projects that use this

  • learnerLjSkill

    verify-this

    Verify a claim with fresh local evidence: restate it falsifiably, capture baseline and treatment, compare artifacts, and return VERIFIED, NOT VERIFIED, or INCONCLUSIVE.

    Also in 6 projects that use this

  • ElyzeSolutionsSkill

    control-ui

    Build or adapt a local browser/CDP harness to drive and inspect a web, IDE, or Electron UI. Use for local UI verification, screenshots, accessibility snapshots, perf profiles, visual diffs, or reproducing UI bugs.

    Also in 7 projects that use this

  • ten9876Skill

    papercuts

    Read-only AetherSDR issue triage that surfaces the UX papercuts, bugs, and regressions you can fix AND prove today with the agent automation bridge. Use when the user says $papercuts or /papercuts, or asks to "find papercuts", "what can I fix and prove today", "triage bridge-provable issues", "what UX bugs can the bridge close", "sort issues by priority I can knock out", or otherwise wants a curated, lifecycle-aware (design→code→prove) shortlist of issues — NOT the label-and-respond /triage workflow. This is the discovery step that feeds /fb. Strictly read-only: it never labels, comments, closes, or edits issues.

    Also in 4 projects that use this

  • +5 more from Jwuthri

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 116 edited versions we read keep these.

  • 7

    Distinctive

    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:

    After drafting any customer-facing content (blog posts, emails, landing pages)

    line 24
  2. Distinctive:

    When reviewing existing content for quality

    line 26
  3. Distinctive:

    Before publishing or committing content

    line 27
  4. Distinctive:

    Scan: Read the file(s)

    line 83
  5. Distinctive:

    Automated QA pipelines: Run the greppable checks as a pre-publish gate.

    line 150
  6. Distinctive:

    Manual review: Use the full 22-pattern checklist before publishing.

    line 152
  7. Distinctive:

    Existing content audit: Run across older posts to find and fix legacy violations.

    line 153

“Common” is measured: kept by at least 6 in 10 of the 116 edited versions of this file we could read. “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

Deslop — AI Writing Pattern Removal

Strip AI-generated writing patterns from any content. Works on existing files or inline text.

When to Use

  • After drafting any customer-facing content (blog posts, emails, landing pages)
  • During content QA, manual or automated
  • When reviewing existing content for quality
  • Before publishing or committing content

The 22 AI-Tell Patterns

Phrasing Flags

#PatternExampleFix
1Em-dashes (max 5/file)"AI tools — especially ChatGPT — are changing..."Rewrite with commas, colons, or split into two sentences
2Corrective antithesis"It's not about X. It's about Y." / "Not X. But Y."State your position directly without the false setup
3Dramatic pivot phrases"But here's the thing", "Here's the catch", "Here's what most people miss"Cut entirely or use a natural transition
4Soft hedging"It's worth noting", "It's important to remember", "Something we've observed"Say it directly — if it's worth noting, just note it
5AI-tell wordsdelve, landscape, realm, tapestry, leverage (verb), paradigm, robust, utilize, synergy, elevate, foster, holistic, streamline, cutting-edge, game-changer, deep diveReplace with plain English equivalents
19Negation framing"isn't just about X", "isn't simply", "it's not X, it's Y", "goes beyond merely", "more than just a"State the positive claim directly — don't set up what something "isn't" before saying what it is
20"From X to Y" coverage spans"from startups to enterprises", "from beginners to experts", "from simple to complex"Either commit to a specific audience or drop the qualifier
21"Whether X or Y" inclusivity"whether you're a developer or a designer", "whether you work in X or Y"Pick your audience or trust them to self-select

Rhythm Flags

#PatternExampleFix
6Staccato repetition"Short sentence. Another short. One more short." (3+ consecutive short sentences)Vary sentence length — mix short punches with longer context sentences
7Cookie-cutter paragraphsEvery paragraph is exactly 3 sentences, same lengthMatch paragraph size to idea complexity — some ideas need 1 sentence, others need 5
8Gift-wrapped endings"In summary...", "In conclusion...", "To sum up...", "The bottom line is..."End with insight or forward-looking statement, not a recap
9Throat-clearing openers"Let's explore", "Let's unpack", "Let's dive in", "Let's take a closer look"Start directly with the content — cut the throat-clearing entirely
10List-heavy structureEvery section is a bullet list, no proseUse prose for narrative flow, lists only for genuinely enumerable items

Authenticity Flags

#PatternExampleFix
11Perfect punctuationNo fragments, no rule-breaking, reads like a textbookAdd deliberate fragments for punch. Break rules when they sound better.
12Copy-paste metaphorsSame metaphor repeated identically 3+ timesVary the language or trust readers to remember the concept
13Overexplaining"Email — a digital form of communication — has..."Assume reader intelligence. Skip obvious definitions.
14Generic examples"Companies like [any company] are seeing results"Use specific, insider-level details with sharp commentary
15Superlative stacking"Powerful, revolutionary, game-changing solution"One strong claim > three weak ones
16False balance"While X has pros and cons..." (hedging every position)Take a position. Strong writing commits.
17Transition word abuse"Moreover", "Furthermore", "Additionally", "However" starting every paragraphVary transitions or cut them — strong paragraphs connect through logic, not conjunctions
18Emoji/exclamation inflation"This is amazing! 🚀 Check it out! 🎉"One exclamation per piece max. Zero emojis unless brand requires them.

How to Run

On a single file

/deslop content/blog-posts/my-post.mdx

On all blog posts in a project

/deslop --all

Workflow

  1. Scan: Read the file(s)
  2. Flag: For each pattern, grep or manually identify violations
  3. Count: Report violation counts per pattern
  4. Fix: Apply fixes inline — preserve meaning, change delivery
  5. Verify: Re-scan to confirm clean

Automated Checks (greppable)

These patterns can be detected with grep/regex:

# Em-dashes (count, max 5)
grep -c '—' "$FILE"

# Corrective antithesis
grep -iE "(It'?s not about|Not [A-Z].*\. But |Not [A-Z].*\. It'?s )" "$FILE"

# Dramatic pivots
grep -iE "(But here'?s the (thing|catch|kicker|reality)|Here'?s what (most|many|few))" "$FILE"

# Soft hedging
grep -iE "(It'?s worth (noting|mentioning|remembering)|It'?s important to (note|remember|understand)|Something (we'?ve|I'?ve) observed)" "$FILE"

# AI-tell words
grep -iE "\b(delve|landscape|realm|tapestry|leverage[sd]?|paradigm|robust|utilize[sd]?|synergy|elevate[sd]?|foster|holistic|streamline[sd]?|cutting-edge|game-?changer|deep dive)\b" "$FILE"

# Gift-wrapped endings
grep -iE "^(In (summary|conclusion)|To sum up|The bottom line|All in all|Ultimately,)" "$FILE"

# Throat-clearing
grep -iE "^(Let'?s (explore|unpack|dive|take a closer|break down|look at)|In this (article|post|guide|section))" "$FILE"

# Transition word abuse (at paragraph start)
grep -iE "^(Moreover|Furthermore|Additionally|Consequently|Nevertheless|Nonetheless)" "$FILE"

# Negation framing (#19)
grep -iE "\b(isn'?t just|isn'?t simply|not just about|goes beyond merely|more than just a)\b" "$FILE"

# "From X to Y" coverage spans (#20)
grep -iE "from (startups?|beginners?|small|large|simple|complex|novice|expert)" "$FILE"

# "Whether X or Y" inclusivity (#21)
grep -iE "whether you'?re? (a |an )?\w+" "$FILE"

Manual Checks (require human judgment)

  • Staccato repetition (consecutive short sentences)
  • Cookie-cutter paragraphs (uniform length)
  • Perfect punctuation (no fragments or rule-breaking)
  • Copy-paste metaphors (same metaphor repeated)
  • Overexplaining (defining obvious terms)
  • Generic examples (vague company references)
  • Superlative stacking (multiple weak adjectives)
  • False balance (hedging every position)
  • #22 Tricolon / rule of threes — compulsive 3-part parallel lists ("fast, reliable, and scalable" / "we researched, analyzed, and synthesized"). 2 instances = fine, 4+ = pattern flag.

Severity Levels

LevelActionPatterns
BLOCKMust fix before publishAI-tell words, em-dashes >5, throat-clearing, gift-wrapped endings
WARNShould fix, not blockingCorrective antithesis, dramatic pivots, soft hedging, transition abuse, negation framing (#19), coverage spans (#20), inclusivity framing (#21)
NOTEImprove if time allowsStaccato, cookie-cutter, perfect punctuation, overexplaining, tricolon overuse (#22)

Integration

  • Automated QA pipelines: Run the greppable checks as a pre-publish gate.
  • Content-creator skills: Reference this skill in a final quality checklist.
  • Manual review: Use the full 22-pattern checklist before publishing.
  • Existing content audit: Run across older posts to find and fix legacy violations.

Known gotchas

  • The grep checks are noisy on technical writing. "Robust" is a legitimate engineering word; "leverage" is a legitimate lever-based metaphor. Treat hits as candidates to reconsider, not auto-deletes.
  • Em-dash count alone is misleading. A long technical post can earn 8–10 em-dashes legitimately; a 600-word blog post should rarely have more than 3.
  • Bulk rewrites flatten voice. Apply the fixes one pattern at a time on a draft, not all at once. Reviewers can spot a globally rewritten draft.

Anti-patterns

  • Treating the pattern list as a banned-words list. The patterns are tells, not slurs. The fix is rewriting the sentence, not deleting the word.
  • Running deslop on the first draft. Pattern detection works best after the author has already done one human pass.

Validated patterns

  • The "negation framing" check (#19) catches the highest-volume tell — most AI-written drafts hit it within the first 100 words.
  • Severity levels (BLOCK / WARN / NOTE) work better than a flat list for triage.

Credit

Patterns adapted from Tahi's "12 Red Flags of AI Writing" (mooch.agency, Feb 2026) and Jejomar Contawe's "The Single Most Prevalent AI Writing Tell" (Medium, Feb 2026), plus six additional patterns observed in the wild.

Self-improvement

This skill ships with a lightweight feedback loop. Adopt or ignore — the skill works without it.

Trigger a review when:

  • The user explicitly disagrees with a fix (strongest signal — log immediately; 2–3 corrections on the same pattern → promote to body or adjust the pattern).
  • A novel AI-writing tell starts appearing across multiple drafts.
  • learnings.md crosses ~100 bullets (consolidation time).
  • The skill mis-triggers or fails to trigger.
  • A new model generation changes the writing tells (e.g., new go-to phrases).

Consolidation pass (5–10 min, weekly or threshold-driven):

  • Each entry gets one fate: apply, capture, or dismiss.
  • Apply = merge into Known gotchas / Anti-patterns / Validated patterns, or add a new pattern to the list.
  • Capture = leave in learnings.md for now.
  • Dismiss = delete.
  • Bump last-consolidated: in frontmatter.

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.