# Remove AI Slop

> Audits codebases, pages, or documents for AI-generated design and copy tells, then proposes surgical fixes for user approval.

- Skill: `samuelpatro/remove-ai-slop` (Agent Skill)
- Install (CLI): `npx skillmds add samuelpatro/remove-ai-slop`
- Raw SKILL.md: https://api.skillmd.com/api/skills/samuelpatro/remove-ai-slop/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media, Docs & Writing, Technical Writing, UI Design
- Tags: Ai Slop, Code Review, Copy Editing, Design Audit, Frontend, Markdown
- Author: samuelpatro (https://skillmd.com/u/samuelpatro)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/samuelpatro/remove-ai-slop

---


# 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.

