"If it sounds like a pull-quote, rewrite it."
This is the 78th article in the "One Open Source Project a Day" series. Today's project is stop-slop.
You know the writing. It opens with "In today's fast-paced world..." The second paragraph has "it's worth noting that." The middle is full of "undeniably," "transformative impact," "revolutionary breakthrough." It ends with a profound one-liner. You recognize it instantly β this was written by an AI.
These patterns have become the signature tells of AI-generated content. stop-slop is a Claude Code Skill file with a simple mission: teach AI to recognize and actively eliminate its own writing tells. 5.8k Stars, pure Markdown, no code, works in any AI tool that supports custom system prompts.
stop-slop was created by product designer Hardik Pandya. He's a serious writer who, after deep use of AI-assisted writing, noticed a problem: AI-generated text follows a highly predictable set of patterns β regardless of topic, regardless of prompt, the same opening styles appear, the same pivot structures, the same "grand narrative" tone.
His solution wasn't "make AI write better in some abstract sense." It was to explicitly enumerate all the known AI writing tells, then tell the AI: when you see these, fix them.
The execution is rigorous β 8 rules, 3 reference files, a pre-publish checklist, a scoring rubric β forming a complete system that can be embedded into any writing workflow.
stop-slop is a Skill file. Once installed, it activates automatically during writing or editing tasks and systematically identifies and removes AI writing tells.
Your prose draft
β
stop-slop Skill (activates)
β
Identifies 8 categories of AI writing patterns
β
Corrects each one
β
5-dimension score (< 35/50 = needs revision)
β
Output: writing that sounds like a human wrote it
Claude Code (Skill directory install):
git clone https://github.com/hardikpandya/stop-slop.git ~/.claude/skills/stop-slop
Claude Projects / Custom Instructions:
Direct API:
import anthropic
with open("SKILL.md", "r") as f:
skill_content = f.read()
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
system=skill_content,
messages=[{"role": "user", "content": "Please edit this passage: ..."}]
)
The heart of SKILL.md. Each rule targets a specific category of AI writing patterns:
Rule 1: Cut Filler
Targets: throat-clearing openers, emphasis crutches, all adverbs
Typical AI tells:
β "In today's rapidly evolving digital landscape..."
β "It's worth noting that"
β "Certainly," "Indeed," "Obviously," "Very," "Extremely"
β "It goes without saying"
Fix: Start with the actual point. Remove all adverbs.
Rule 2: Break Formulaic Structures
Targets: binary contrasts, dramatic fragments, rhetorical setups, false agency
Typical AI tells:
β "It's not about X, it's about Y" (binary contrast)
β "But here's the thing." (dramatic standalone sentence)
β "So how do we...?" (rhetorical question setup)
β "This opens new possibilities" (false agency)
Fix: Just say Y. Cut the setup. Name who is doing what specifically.
Rule 3: Active Voice
Every sentence needs a human subject performing an action.
β "This feature was designed to..."
β "Research suggests..." (research with no author)
β "The team designed this feature to..."
β "MIT researchers found..."
Rule 4: Be Specific
β "This is a watershed moment"
β "Every single person..." / "Always" / "Never" (lazy absolutes)
β "[Specific event] marked [specific change]"
Rule 5: Put the Reader in the Room
β "People often find themselves..." (narrator-from-a-distance)
β "You'll find..." (direct address)
"You" beats "people." Specific scene beats abstract description.
Rule 6: Vary Rhythm
β Three consecutive sentences of the same length
β Em dashes β used like this β for emphasis
β Things come in threes: first..., second..., third... (always three)
β Mix long and short sentences. Two items are stronger than three.
Rule 7: Trust Readers
State facts directly. Skip softening and hand-holding.
β "You might be wondering..."
β "Before we dive in, let me explain..."
β Give the information. Readers will judge it themselves.
Rule 8: Cut Quotables
"If it sounds like it was written to be screenshot-shared, rewrite it."
β "Technology is the tool. People are the core."
β "True innovation begins with redefining the problem."
These sentences usually say nothing β they sound like they mean something
but don't actually contain information.
SKILL.md includes a 12-item checklist β the most practical part for daily use:
| Check | Action |
|---|---|
| Any adverbs? | Remove them all |
| Passive voice? | Find the actor, make them the subject |
| Inanimate subject doing a human action? | Name the person |
| Sentence starts with a Wh- word? | Restructure |
| "Here's what/this/that" opener? | Cut to the point |
| "Not X, it's Y" contrast? | Just say Y |
| Three consecutive same-length sentences? | Break one |
| Punchy one-liner at paragraph end? | Vary it |
| Em-dash present? | Delete |
| Vague declarative? | Name the specific thing |
| Narrator-from-a-distance voice? | Place the reader in the scene |
| Meta-joiners like "the rest of this essay"? | Delete; let the writing move |
Each dimension scores 1β10, maximum 50. Below 35/50: revise.
| Dimension | Core Question |
|---|---|
| Directness | |
| Making statements, or making announcements? | |
| Rhythm | |
| Varied sentence lengths, or metronomic regularity? | |
| Trust | |
| Respects reader intelligence, or hand-holding? | |
| Authenticity | |
| Sounds human, or sounds AI-generated? | |
| Density | |
| Every word earning its place, or cuttable content present? |
The rubric's value: it turns "sounds like AI" from a vague intuition into five specific, improvable dimensions. When you're revising, you know what you're fixing. You also know when you can stop.
This is stop-slop's most important design insight, and what separates it from most "AI content detection" tools:
The mainstream approach (detection):
AI-generated content β detector β flagged as "AI-written" β ...now what?
stop-slop's approach (prevention):
Before/during writing β Skill activates β AI avoids patterns while generating
β Clean output, directly
The difference is fundamental. Detection tools tell you "this was written by AI" but don't help you fix it. stop-slop is real-time interception during the writing process, not post-hoc forensics.
Behind the 5.8k Stars, the more interesting number is 435 Forks β and the derivative projects they spawned:
These derivatives tell you something: the need to identify and eliminate AI writing tells is real, persistent, and domain-specific β every field has its own particular flavor of slop.
/plugin marketplace add hardikpandya/stop-slop
stop-slop did something that looks simple but isn't: it decomposed the vague intuition of "AI-flavored writing" into 8 actionable, specific rules β and with concrete rules, AI can self-correct instead of hoping for the best.
Find more useful knowledge and interesting products on my Homepage