Audit a codebase, page, or document for "AI slop" tells in design, copy, and effects, then fix them with your approval. Detects generic layouts (hero badges, three-column grids, stat banners, bento boxes), default styling (purple-to-blue gradients, gradient text, glassmorphism, grain overlays, glow, shimmer), generic typography (Inter/Geist stacks, oversized heroes, flat hierarchy), shadcn defaults, and copy tells (banned words like "seamless", "leverage", "delve", filler phrases, hedging, va...
Scanned 9/1/2026
Install to Claude Code
npx -y skills add samuelpatro/.claude --skill remove-ai-slop --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Remove Ai Slop?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/samuelpatro-remove-ai-slop)More formats (shields.io, HTML) on the badges page.
---
name: remove-ai-slop
description: >-
Audit a codebase, page, or document for "AI slop" tells in design, copy, and
effects, then fix them with your approval. Detects generic layouts (hero
badges, three-column grids, stat banners, bento boxes), default styling
(purple-to-blue gradients, gradient text, glassmorphism, grain overlays, glow,
shimmer), generic typography (Inter/Geist stacks, oversized heroes, flat
hierarchy), shadcn defaults, and copy tells (banned words like "seamless",
"leverage", "delve", filler phrases, hedging, vague openers). Use this skill
whenever the user wants to de-slop, make something look less AI-generated,
remove generic AI design or copy, "make this not look like ChatGPT made it",
audit for AI tells, humanize the writing, asks for a "slop check", or says
"/remove-ai-slop", "remove the slop", "de-slop this", "kill the AI vibes".
Works on web UI (HTML/CSS/JSX/Vue/Svelte), Markdown docs, READMEs, and plain
prose.
---
# Remove AI Slop
Find and fix the tells that make design and copy read as machine-generated. Audit first, report findings, preview every fix, and only change what the user approves. Never silently rewrite.
## Operating rules
- Never apply a change before the user has seen the before/after and said go. The default is propose, not edit.
- Quote evidence: every finding cites `file:line` and the exact offending snippet.
- Surgical edits only. Touch the flagged token/line, not the surrounding code or voice.
- A "tell" is not always a defect. Flag it, explain why it reads as slop, and let the user keep it. Context wins over the checklist.
- Match the existing project: respect its design system, framework, and house voice. Do not import a new aesthetic.
- English only in code, comments, and identifiers (per the user's standards). UI strings may stay localized.
- No em-dashes or sentence-joining hyphens in any copy you write or rewrite.
## Phase 1 - Read
Identify the target (a file, folder, route, component, or pasted text). Read the relevant markup, styles, and copy in full. Do not skim or sample. For a web target, read both the structure (JSX/HTML) and the styles (CSS/Tailwind classes). For a doc, read the whole thing.
When the scope is large, fan out: spawn parallel subagents, one per area (layout, styling/effects, typography, copy), each returning a findings list. Keep only the findings in the main thread.
## Phase 2 - Audit
Walk the target against the checklists below. Record each match as: category, `file:line`, snippet, and a one-line reason it reads as slop. Do not fix yet.
### Layout tells
- Hero with a small pill/badge above the headline ("✨ Now in beta")
- Three-column feature grid of identical cards
- Numbered "How it works" steps in a row (1, 2, 3)
- Stat banner of big numbers ("10k+ users", "99.9% uptime") with no source
- Bento-box grid for its own sake
- Forced-equal card heights hiding uneven content
- Centered everything, max-w-2xl/3xl, generous symmetric padding everywhere
- "Trusted by" logo strip with placeholder logos
### Color and effects tells
- Purple-to-blue (or indigo/violet) gradient as the primary accent
- Gradient text on headings (`bg-clip-text`)
- Two competing accent colors fighting for attention
- Low-contrast gray-on-gray body text
- Glassmorphism (backdrop-blur + translucent panels) with no reason
- Grain/noise overlay, ambient spotlight/radial glow behind the hero
- Shimmer or sweep animation on buttons/cards
- Glow/drop-shadow halos on icons and CTAs
- Everything uniformly rounded (rounded-xl/2xl on every element)
### Typography tells
- Default font stack: Inter, Geist, or system-ui with no intent
- Oversized hero text (text-6xl/7xl) regardless of context
- Monospace used for body or marketing copy
- Flat hierarchy: heading and body nearly the same weight/size
- Emoji used as section icons or bullet markers
- Tracking-tight on everything
### Component tells
- Colored left or top border accent strip on cards/callouts
- Untouched shadcn/ui defaults (default card, default button, default spacing)
- Icon + heading + one sentence, repeated as the only content pattern
- Placeholder copy left in ("Lorem", "Your tagline here", "Feature one")
### Copy tells
Banned/overused words: seamless, seamlessly, leverage, delve, robust, elevate, unlock, empower, harness, streamline, effortless, cutting-edge, game-changer, supercharge, revolutionize, realm, landscape, tapestry, testament, navigate (figurative), foster, embark, journey, bustling, vibrant, meticulous, dive in, "it's worth noting", "at the end of the day".
Banned phrases and openers: "In today's fast-paced world", "In today's digital landscape", "Whether you're a X or a Y", "Look no further", "the world of", "When it comes to", "Gone are the days", "Let's dive in", "In conclusion", "Imagine a world where".
Structural tells:
- Rule-of-three everywhere ("fast, simple, and powerful")
- Every paragraph the same length and shape
- Hedging stacked on hedging ("can help to potentially improve")
- Vague benefit with no specifics ("boost productivity")
- "Not only... but also" and "From X to Y" constructions on repeat
- Conclusion that restates the intro and says nothing new
- Bold-label bullet lists where prose would read better
## Phase 3 - Report
Present a single numbered list of findings, grouped Design / Effects / Typography / Copy. Each line: number, `file:line`, the snippet, and the reason. Give a count. If nothing is found, say so plainly and stop.
## Phase 4 - Preview
For each finding, show a tight before/after with one line of reasoning. Group related fixes. Keep diffs minimal so the user can scan quickly.
```
#3 src/Hero.tsx:14 gradient text on headline
- <h1 className="bg-gradient-to-r from-purple-500 to-blue-500 bg-clip-text text-transparent">
+ <h1 className="text-zinc-900">
why: purple→blue gradient text is the single most common AI hero tell
```
## Phase 5 - Confirm
Ask for approval. Accept "go" / "apply all", or a list of numbers to skip or to apply selectively (e.g. "do 1-4 and 7, skip the rest"). Do not proceed without an explicit answer.
## Phase 6 - Apply
Apply only approved fixes, one surgical edit at a time. Do not reformat or restructure beyond the approved change. If a fix turns out to need a judgment call you cannot make safely, pause and ask rather than guess.
## Phase 7 - Verify
Confirm the work:
- grep for the removed patterns (banned words, gradient classes, etc.) to prove they are gone
- Read rewritten copy aloud in your head: does it sound like a person wrote it?
- Sanity-check structure: layout still renders, no dangling classes or broken markup
- Re-read the original ask and confirm scope is covered
Then report what changed and what was deliberately kept.
## Notes
- This is taste work, not lint. When a "tell" is a deliberate brand choice, respect it and move on.
- Removing slop means replacing it with something specific and intentional, not just deleting. A bland-but-honest line beats a flashy generic one.
- For prose-only targets there is no design phase; run Read, Audit (copy), Report, Preview, Confirm, Apply, Verify.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!