Model or dataset
hardikpandya/stop-slop avatar
hardikpandya/stop-slop

stop-slop: a skill file that strips AI tells out of prose

A skill file for removing AI tells from prose

17,354 stars1,267 forksUnknownMIT

At a glance

What is it?
stop-slop is a prompt-level skill for Claude and other LLMs that names the phrases, structures and rhythms that make writing read as machine-generated. It is a text file you load, not a program you run, and its whole value depends on how closely your model follows instructions.
Who is it for?
stop-slop suits people who already write with an LLM and can tell when the output sounds canned: it gives the model an explicit banned list instead of leaving taste implicit. It is the wrong tool if you want deterministic rewriting, because nothing here executes, and a model that ignores instructions will ignore these too.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on September 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem stop-slop names: patterns a reader feels before they can point at them

Most editing advice about AI writing stays at the level of taste. stop-slop goes the other way and writes the taste down as rules. The README states the premise directly: "AI writing has patterns. Predictable phrases, structures, rhythms. This skill teaches Claude (or any LLM) to catch and remove them."

That framing matters for who the project is for. It assumes you are already generating prose with a model and that the output is technically fine but recognisable. The skill is aimed at writers, editors and developers who ship model-assisted text and want a checklist they can hand to the model itself rather than apply by hand. It is not a grammar checker, not a style guide for humans, and not a detector that scores someone else's text for AI authorship. The scoring table in the README is for revising your own draft, not for accusing anyone.

The scope is narrower than the name suggests. stop-slop does not touch factual accuracy, citation practice or argument structure. It removes surface tells.

What is inside the stop-slop repository

The repository is small and flat. The README shows the layout:

code
stop-slop/
├── SKILL.md              # Core instructions
├── references/
│   ├── phrases.md        # Phrases to remove
│   ├── structures.md     # Structural patterns to avoid
│   └── examples.md       # Before/after transformations
├── README.md
└── LICENSE

SKILL.md carries the core instructions. The three files under references/ hold the detail: a list of phrases to remove, a list of structural patterns to avoid, and before/after transformations. There is also a CHANGELOG.md at the top level, though no releases are published.

The split between SKILL.md and references/ is the design decision worth noticing. According to the README, reference files load on demand, so the core file stays short enough to sit in a context window while the long phrase lists stay out of the way until the model needs them. That is a deliberate trade: less context consumed, but the model has to decide to look something up. If your setup cannot load files on demand, the references are effectively invisible.

How stop-slop changes a draft: banned phrases, structural clichés, sentence rules

The skill works on three levels, and the README lists them separately.

Banned phrases covers "Throat-clearing openers, emphasis crutches, business jargon, all adverbs, vague declaratives, meta-commentary." The adverb ban is the bluntest rule in the set. It is easy to apply and easy to over-apply: an adverb sometimes carries the only information in the sentence, and the skill does not appear to carve out exceptions.

Structural clichés covers "Binary contrasts, negative listings, dramatic fragmentation, rhetorical setups, false agency, narrator-from-a-distance voice, passive voice." This is the more interesting layer, because these patterns survive phrase-level editing. You can strip every banned word and still produce a paragraph built on a binary contrast.

Sentence-level rules are the tightest: "No Wh- sentence starters, no em dashes, no staccato fragmentation, no lazy extremes, active voice required." Note that the README itself uses a hyphen where a dash might otherwise appear, so the project applies its own rule to its documentation.

The scoring table is the part you can actually act on. Five dimensions, each rated 1 to 10: Directness (statements or announcements), Rhythm (varied or metronomic), Trust (respects reader intelligence), Authenticity (sounds human), Density (anything cuttable). The README sets the threshold: "Below 35/50: revise." That gives you a number to argue with instead of a feeling.

Installing stop-slop in Claude Code, Projects, custom instructions or an API call

There is nothing to build. The README gives four routes, and they differ in how much of the skill the model actually sees.

For Claude Code, the instruction is to add the folder as a skill. The README does not spell out the exact directory convention, so check your own Claude Code setup for where skills live before you copy anything.

For Claude Projects, the README says to upload SKILL.md and the reference files to project knowledge. That is the route where the whole skill is present at once, at the cost of context.

For custom instructions, the README says to copy the core rules from SKILL.md. This is the lightest option and also the most lossy, since the reference lists stay behind.

For API calls, the README says to include SKILL.md in your system prompt, with reference files loading on demand. The README does not give a code sample for this, so the concrete step is simply to place the contents of SKILL.md in the system prompt field of your request.

What you should see after any of these: the model stops reaching for the patterns the skill names. What you will not see is a guarantee. Nothing in the repository enforces the rules.

Where stop-slop fails, and when it is the wrong tool

The honest limitation is that stop-slop is a set of instructions, and instructions are advisory. A model can load SKILL.md, acknowledge it, and still open with a throat-clearing phrase. There is no linter, no exit code, no test that fails. If you need the rules enforced, you have to enforce them yourself or write a checker, and the repository does not provide one.

Second, the rules are opinionated in ways that will not fit every writer. An outright ban on adverbs and on em dashes is a house style, not a universal improvement. If your publication uses em dashes, the skill is actively wrong for you.

Third, the skill only sees text you give it. It cannot tell whether a claim is true, whether a citation exists, or whether a paragraph is in the right place. Removing AI tells from a false statement produces a false statement that reads better.

Fourth, the on-demand loading of references/ is a failure point. If your integration pastes SKILL.md into a system prompt but never fetches references/phrases.md, you get the core rules without the phrase list, which is the weakest version of the skill.

stop-slop compared with a humanizer rewrite

The obvious alternative is a humanizer prompt or a rewriting pass: hand the model a paragraph and ask it to make the text sound human. The difference in approach is where the judgement lives.

A humanizer asks the model to improvise a new voice each time. The result depends on the model's mood, the temperature, and how the request is phrased. Two runs give two different texts, and you cannot audit why a change was made.

stop-slop pushes the judgement into a fixed list before the model ever rewrites. The phrases, structures and sentence rules are written down in references/phrases.md, references/structures.md and references/examples.md, so the same criteria apply across drafts. The before/after file in references/examples.md is what makes the criteria inspectable: you can disagree with a specific transformation rather than with the general vibe.

The trade is rigidity. A humanizer can preserve an unusual sentence that happens to work. A banned-phrase list cannot, because it does not read context. If your writing depends on deliberate rule-breaking, a fixed list will sand that off.

Licence, maintenance and what upgrading costs you

The licence is MIT, stated in the README and in the LICENSE file at the top level. That permits use, modification and redistribution with the copyright notice and permission notice retained. It says nothing about the output the skill produces, and it is not legal advice on how model-generated text interacts with your own contracts.

On maintenance: the repository is not archived, and the last push was on 2026-03-17. That is roughly six months before today, so treat the project as stable rather than moving. No releases are published, which means there are no version numbers to pin. If you vendor the skill into your own repository, your upgrade path is a git pull or a diff against upstream, and you should expect the reference lists to change without a changelog entry telling you which phrases were added or dropped.

The practical cost of upgrading is re-reading references/phrases.md and references/structures.md. Those files are the substance of the skill, and a silent edit to either one changes how every draft comes out. If you copied the core rules into custom instructions, you will not receive those edits at all.

Editorial conclusion

stop-slop suits people who already write with an LLM and can tell when the output sounds canned: it gives the model an explicit banned list instead of leaving taste implicit. It is the wrong tool if you want deterministic rewriting, because nothing here executes, and a model that ignores instructions will ignore these too. Before relying on it, open SKILL.md and references/phrases.md and check whether you accept their rules, particularly the blanket ban on adverbs and the no-em-dash rule, since those will change your drafts in ways you may not want. Then run one paragraph through your model with the skill loaded and compare it against the same paragraph without it.

Frequently asked questions

What is stop-slop?

It is a skill file for removing AI tells from prose. The README describes it as teaching Claude, or any LLM, to catch and remove the predictable phrases, structures and rhythms of AI writing.

How do I install the stop-slop skill in Claude?

The README gives four routes: add the folder as a skill in Claude Code, upload SKILL.md and the reference files to Claude Projects knowledge, copy the core rules into custom instructions, or include SKILL.md in an API system prompt with reference files loading on demand.

How do I use the stop-slop skill on Claude?

Load SKILL.md so the model has the core instructions, then let it draw on references/phrases.md, references/structures.md and references/examples.md. After a draft, score it 1 to 10 on Directness, Rhythm, Trust, Authenticity and Density, and revise anything below 35 out of 50.

How does stop-slop differ from a humanizer?

A humanizer asks the model to improvise a human-sounding rewrite each time. stop-slop fixes the criteria in advance as written lists of banned phrases, structural clichés and sentence rules, so the same standards apply across drafts and you can inspect the before/after examples.

How do I get rid of AI slop in my writing?

The README's answer is to load stop-slop into your model so it catches banned phrases such as throat-clearing openers and business jargon, structural clichés such as binary contrasts and passive voice, and sentence-level habits such as Wh- starters and staccato fragmentation.

How do I add stop-slop to Claude?

Adding it means placing SKILL.md where Claude can read it: as a skill folder in Claude Code, as project knowledge in Claude Projects, as copied core rules in custom instructions, or inside an API system prompt.

Official sources

  1. hardikpandya/stop-slop on GitHub
  2. Issues
  3. License: MIT
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/hardikpandya-stop-slop.svg)](https://hysenlabs.com/projects/hardikpandya-stop-slop)