brenbuilds1/skills/slop-audit
Claude Code and agent skill by brenbuilds1/skills
- community
Checking that the SKILL.md file is still in the repository.
Audits a site or app UI for the AI-generated tells that independent sources agree on, and reports each finding as a tell, smell or choice with a file and line receipt. Never rewrites. Use when a site or app UI might read as AI-generated or vibe-coded: before shipping a landing page, after an agent builds a frontend, or when someone says it looks like every other AI site. Also use before handing an agent a "reasons your site looks vibe-coded" list, so it strips defaults and not design choices.
Install
npx vskill@latest install brenbuilds1/skills/slop-auditSKILL.md
Slop Audit
Every list of "your site looks vibe-coded" tells mixes two things: the defaults a model reaches for on any brief, and one author's taste. This audit keeps only the tells that independent sources agree on (the viral list, a Reddit study of 3.2 million posts, the published catalogs, and the design guidance shipped with coding agents), names the items those sources reject, and reports with receipts. It never rewrites; the fixes are the builder's call.
Method
- Grep the source with the checks below, with
grep -E(orrg) so
the | alternations work. Every hit is a receipt: file, line, matched text.
- Screenshot the home page and one inner page at 1440 and 390 wide.
A fresh session judges the screenshots against the eye checks; the agent that built the page does not grade it.
- Report every finding as one of three verdicts. A tell is on the
agreed list or is a leftover fact. A smell is named by one or two sources. A choice is on someone's list but is design when done on purpose; it is reported so the builder can confirm it was chosen, and never counted against the page.
Tells (agreed across sources)
| tell | check | ||||||
|---|---|---|---|---|---|---|---|
| Inter as the only typeface (Geist, Roboto, Space Grotesk appear on single lists) | grep `\bInter\b | Geist | Roboto | Space Grotesk in CSS, font imports, next/font`; then check whether a display face carries the identity | |||
| indigo, violet, or purple gradients; purple on black | grep `bg-indigo- | from-(indigo | violet | purple | fuchsia) | linear-gradient` and count | |
| gradient text in a headline | grep `bg-clip-text | text-transparent | background-clip: text` | ||||
| centered hero, three equal cards under it | grep `grid-cols-3 | repeat(3` and look at the hero | |||||
| one radius and one soft shadow on every card | grep `rounded-2xl | rounded-3xl and shadow-lg | shadow-xl`; compare counts to card count | ||||
| untouched component-library defaults (shadcn zinc, indigo-500/600 or blue-600 buttons) | grep `bg-blue-600 | bg-indigo-(5 | 6)00 | zinc-`; look for unmodified Card and Button | |||
| frosted glass panels | grep `backdrop-blur | backdrop-filter` | |||||
| Sparkles, Zap, ArrowRight icons; emoji used as icons or bullets | grep `Sparkles | Zap | ArrowRight next to lucide-react; search markup with rg "\p{Extended_Pictographic}"` (catches ✔ and ➡ bullets too) | ||||
| the same entrance animation on every section, a hover effect on every card | grep `fade-in-up | animate-fade | whileInView | hover:` and compare to section count | |||
| three pricing tiers | eye | ||||||
| weightless copy: elevate, seamless, empower, unlock, transform, "Build faster. Ship smarter." | grep the words in copy, not class names (transform collides with CSS; skip it in the grep) |
Leftovers (facts, not taste)
Builder residue proves how the page was made regardless of how it looks: lovable-tagger, gpteng.co, /lovable-uploads/, @base44/sdk, "Edit with Lovable", "Made in Bolt", "Built with v0", a builder subdomain, and section comments like <!-- Hero --> or {/* Testimonials */} left in shipped markup (a weak signal on its own). Grep for each.
Smells (one or two sources)
Bento grids; a four-column footer; the hero, features, proof, pricing, FAQ, footer sequence in that order; ALL-CAPS eyebrow labels over every heading; one word in a headline in a different color; an arrow glued to every link; meta strings joined with middle dots; neon glow nobody asked for; radial orbs behind the hero; testimonials with stock names or placeholder text (grep lorem ipsum); no page linked at /terms or /privacy; em dashes and the negation-then-elevation line in the copy (grep — and it'?s not .{1,40}, it'?s). Also the second default: cream background, high-contrast serif, terracotta accent. Swapping purple for that is trading one predetermined look for another.
Choices (one list names them, or a source calls them fine when chosen)
Drop shadows, hover states, rounded corners, a white background, a dot grid, a terminal window, checkmark bullets, a colored left stripe, pastel palettes, a font from the tells row paired with a display face that carries the identity. The tell is never the element; it is the element applied everywhere with nothing chosen. Report these as choices, ask once, and move on.
Report (fixed format)
Reports only. Never rewrites.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/slop-audit/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/brenbuilds1/skills/slop-audit)