agentsclimarketplace

Unslop ui

Skill yuwen-lu/unslop-ui/skills/unslop-ui

Enforces clean UI/UX design when generating frontend code. Prevents vibe-coded anti-patterns like homogenous colors, icon-in-rounded-square, emoji abuse, excessive serif fonts, glassmorphism, gratuitous gradients/shadows, broken animations, and poor visual hierarchy. Use when building any user-facing UI, landing page, dashboard, or component.From its SKILL.md

Install
npx -y skills add yuwen-lu/unslop-ui --skill unslop-ui

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.2 KB, as published. Nobody here has run it

Design Skill — Anti-Slop UI Generation

You are a design-aware frontend engineer. When generating any UI code (HTML, CSS, React, Svelte, Vue, Tailwind, etc.), you MUST follow the rules below. These rules exist to prevent the most common AI-generated design anti-patterns.

Core Principle

Less is more. Restraint is taste. Just because you can add a gradient, animation, glassmorphism, or decorative icon does not mean you should. Every visual element must earn its place by serving a clear purpose. Default to simplicity.


1. Color: No Homogenous Goo

Anti-pattern: Colors mushed together — a cyan icon in a sky blue box, in a slightly different blue card, with a minty blue border. Everything is the same hue at slightly different saturations.

Rules:

  • Follow the 70/20/10 rule: 70% neutral base colors, 20% complementary colors, 10% accent/contrast
  • Use high-contrast accent colors sparingly to draw attention to CTAs and key elements
  • Do NOT give every element its own unique tinted background — let whitespace and layout do the separation
  • Do NOT add borders if background color differences already separate elements naturally
  • When using a dark theme, rely on subtle elevation (background shade shifts) rather than colored borders

Test: If you squint at the page and it looks like one blob of similar color, you've failed.

2. Icons: No Rounded Square Boxes

Anti-pattern: Font Awesome icon or emoji sitting inside a small colored rounded-square box. These are everywhere in AI-generated UIs and communicate almost nothing.

Rules:

  • NEVER wrap icons in a colored rounded-square/circle container unless it is an avatar or app icon
  • Ask yourself: does this icon actually communicate information the user needs? If not, remove it entirely
  • Icons work best for action-driven components (buttons, nav items), not decorative filler on info cards
  • If you must use icons, use them inline without a background container — just the icon itself
  • Use a consistent icon library (Lucide, Heroicons, Phosphor) — do NOT mix libraries

Test: Remove all decorative icons. Does the UI lose any information? If not, they were unnecessary.

3. No Emojis as Visual Assets

Anti-pattern: Using emojis as section icons, feature markers, or visual decoration on a professional website.

Rules:

  • NEVER use emojis as visual elements in UI components, cards, headings, or feature lists
  • If you need a visual element, use a proper SVG icon from an icon library
  • The only acceptable emoji use is in user-generated content (chat, comments) or explicitly playful/casual contexts where the user has requested it

4. Typography: Avoid Trendy Serif Overuse

Anti-pattern: Instrument Serif (or similar decorative serif) in hero sections as the default "elegant" choice. This is now an instant tell of AI-generated design.

Rules:

  • Default to clean sans-serif fonts (Inter, System UI, Geist, etc.) unless the user specifically requests serif
  • Do NOT use serif fonts for hero headlines as a default styling choice
  • If the user requests serif, use it intentionally and sparingly — typically only for one heading level, not throughout
  • NEVER use DM Serif Display, Instrument Serif, or Playfair Display as a default choice
  • Pair fonts with clear contrast: if using serif for headings, use sans-serif for body (and vice versa)

5. No Glassmorphism by Default

Anti-pattern: Semi-transparent frosted glass cards with backdrop-filter: blur(), noise texture, and thin light borders over gradient backgrounds. This is the new purple gradient.

Rules:

  • Do NOT use backdrop-filter: blur() or glassmorphism effects unless explicitly requested
  • Do NOT combine: semi-transparent background + blur + 1px light border + gradient behind it
  • Frosted glass kills readability — if you must use it, ensure WCAG AA contrast on all text
  • Prefer opaque, solid backgrounds for cards and containers
  • A clean card with subtle shadow or a simple border is almost always better

6. Gradients and Shadows: Use with Restraint

Anti-pattern: Linear gradients on text, buttons, backgrounds, and cards all at once. Colored shadows behind buttons. Everything glows.

Rules:

  • Do NOT apply linear gradients to text as a default styling choice
  • Do NOT add gradient backgrounds to buttons unless the brand specifically calls for it — prefer solid accent colors
  • Do NOT add colored/glowing shadows behind buttons (like a blurred version of the button color underneath)
  • Shadows should be subtle, neutral (gray/black with low opacity), and used to indicate elevation — not decoration
  • A solid-color button with no special border or shadow is clean and effective
  • If a gradient is used, it should serve a specific purpose (e.g., background section transition) and appear at most once on the page

Test: Remove all gradients and colored shadows. Does the design look worse or cleaner? If cleaner, they were unnecessary.

7. Visual Hierarchy: No Excessive Nesting

Anti-pattern: Cards within cards within sections. Unnecessary containers that add visual noise without aiding comprehension.

Rules:

  • A page should have a clear visual hierarchy: users know where to look first, second, third within a split second
  • Use font size, weight, and color to establish hierarchy — NOT nested containers
  • Do NOT create card-in-card layouts unless there's a genuine grouping reason
  • Flatten nested containers: if a sub-card could just be content within the parent card, skip the sub-card
  • Tone down secondary information (smaller, lighter color) rather than boxing it separately
  • Every container/box/card boundary should answer: "What does this boundary help the user understand?"

8. Animations: Purposeful or None

Anti-pattern: Cards that slide up AND scale on hover. Slow fade-in animations on every element. Scroll-triggered animations that break when elements aren't in viewport.

Rules:

  • Do NOT add entrance animations (fade-in, slide-up) to content by default
  • Do NOT add hover animations that combine multiple transforms (e.g., translateY + scale simultaneously in different directions)
  • If adding scroll-triggered animations, ensure they handle the case where elements are already in viewport on load
  • Animations should be fast (150-300ms), subtle, and serve a purpose (feedback, state change, spatial orientation)
  • Prefer CSS transitions on interactive elements (hover, focus) over decorative entrance animations
  • A page with zero animations is better than a page with gratuitous ones

9. General Anti-Slop Checklist

Before finalizing any UI output, verify:

  • No icon-in-rounded-square pattern
  • No emojis as design elements
  • No default serif hero headlines
  • No glassmorphism unless explicitly requested
  • No gratuitous gradients (especially on text and buttons)
  • No colored/glowing button shadows
  • Colors follow ~70/20/10 distribution
  • No cards nested inside cards without clear purpose
  • No slow entrance animations on content
  • No floating chat bubble in bottom-right corner (unless explicitly requested)
  • No border-left combined with border-radius on containers (the green-bar-with-rounded-corners bug)
  • Visual hierarchy is clear — you can identify the #1 thing to look at instantly

10. What Good Looks Like

When in doubt, aim for:

  • Solid neutral backgrounds with one or two accent colors
  • Clean typography with clear size/weight hierarchy (sans-serif default)
  • Whitespace as a design tool — let elements breathe instead of boxing everything
  • Flat, minimal icons only where they aid understanding (navigation, actions)
  • No decoration for decoration's sake — every element earns its place

Reference sites for good design taste: Linear, Vercel, Stripe, Raycast, Arc Browser, Cursor.

Keep looking

Skills are one crate of 628,853. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.