No Slop UI
You are building UI for a human audience. The goal is functional, honest, clean. Not impressive. Not dramatic. Normal.
If a design decision feels like the easy AI default — it probably is. Pick the harder, cleaner option.
Read references/banned-patterns.md for the full banned list before writing any UI code.
Read references/colour-palettes.md when you need to pick colours.
Activation Boundary
Use this skill only when the user explicitly asks for UI design, frontend implementation, visual polish, design review, or when the current task's primary deliverable is a visible interface. Do not activate it for backend-only tasks, copywriting, diagrams, infrastructure, or general code review.
Treat this skill as a visual-quality layer. It must not override product requirements, accessibility, security, localization, data correctness, or the repository's existing design system. If those conflict with a no-slop rule, preserve the user requirement and explain the tradeoff.
The Standard
Think Linear. Raycast. Stripe. GitHub. They don't try to grab attention. They just work.
What normal looks like:
- Sidebar: 240–260px fixed, solid background, 1px border-right. No floating shells, no rounded outer corners.
- Cards: 8–12px radius max, subtle 1px border, shadow max
0 2px 8px rgba(0,0,0,0.08). No glow, no float.
- Buttons: solid fill or simple border, 6–10px radius max. No pills, no gradients.
- Typography: clear hierarchy, 14–16px body, system font or single sans-serif. No mixed serif/sans.
- Spacing: 4/8/12/16/24/32px scale. Consistent. No random gaps.
- Borders: 1px solid, subtle colour. No thick decorative borders, no gradient borders.
- Transitions: 100–200ms ease. Opacity or colour only. No bouncy, no transforms.
- Inputs: solid border, simple focus ring. Labels above fields.
- Icons: 16–20px, monochrome or subtle colour, no decorative backgrounds.
Colour Priority
- Use existing project colours first — read the Tailwind config or CSS variables.
- If no palette exists — pick from
references/colour-palettes.md.
- Never invent random colour combinations.
Stack-Specific Notes
shadcn/ui + Tailwind:
- Use shadcn components as-is — don't re-invent what's already there
- Respect the existing CSS variable system (
--background, --foreground, --primary etc.)
- Don't override component defaults unless there's a clear product reason
Plain HTML dashboards:
- Single-file is fine — keep it self-contained
- Use CSS custom properties for theming
- No external CDN dependencies unless absolutely necessary
Hard Rules
- No floating glassmorphism panels
- No gradient backgrounds as decoration
- No oversized rounded corners (20px+ everywhere)
- No eyebrow labels (
<small>SECTION LABEL</small> above headings)
- No hero sections inside internal dashboards
- No decorative copy ("Operational clarity without the clutter")
- No metric-card grid as the default dashboard layout
- No fake charts that exist to fill space
- No transform animations on hover
- No
Segoe UI, Trebuchet MS, Arial font stacks
- No status dots via
::before pseudo-elements
- No nav badges unless they carry real data
- No pill buttons everywhere
- No dramatic box shadows (24px+ blur)
- No mixed alignment (some left-aligned, some floating center)
Full banned list with examples: references/banned-patterns.md
1---2name: no-slop-ui3description: Build or review frontend UI for clean, restrained, human-designed interfaces without generic AI visual patterns.4---5# No Slop UI67You are building UI for a human audience. The goal is functional, honest, clean. Not impressive. Not dramatic. **Normal.**89If a design decision feels like the easy AI default — it probably is. Pick the harder, cleaner option.1011Read `references/banned-patterns.md` for the full banned list before writing any UI code.12Read `references/colour-palettes.md` when you need to pick colours.131415## Activation Boundary1617Use this skill only when the user explicitly asks for UI design, frontend implementation, visual polish, design review, or when the current task's primary deliverable is a visible interface. Do not activate it for backend-only tasks, copywriting, diagrams, infrastructure, or general code review.1819Treat this skill as a visual-quality layer. It must not override product requirements, accessibility, security, localization, data correctness, or the repository's existing design system. If those conflict with a no-slop rule, preserve the user requirement and explain the tradeoff.2021## The Standard2223Think **Linear. Raycast. Stripe. GitHub.** They don't try to grab attention. They just work.2425**What normal looks like:**26- Sidebar: 240–260px fixed, solid background, 1px border-right. No floating shells, no rounded outer corners.27- Cards: 8–12px radius max, subtle 1px border, shadow max `0 2px 8px rgba(0,0,0,0.08)`. No glow, no float.28- Buttons: solid fill or simple border, 6–10px radius max. No pills, no gradients.29- Typography: clear hierarchy, 14–16px body, system font or single sans-serif. No mixed serif/sans.30- Spacing: 4/8/12/16/24/32px scale. Consistent. No random gaps.31- Borders: 1px solid, subtle colour. No thick decorative borders, no gradient borders.32- Transitions: 100–200ms ease. Opacity or colour only. No bouncy, no transforms.33- Inputs: solid border, simple focus ring. Labels above fields.34- Icons: 16–20px, monochrome or subtle colour, no decorative backgrounds.3536## Colour Priority37381. **Use existing project colours first** — read the Tailwind config or CSS variables.392. If no palette exists — pick from `references/colour-palettes.md`.403. Never invent random colour combinations.4142## Stack-Specific Notes4344**shadcn/ui + Tailwind:**45- Use shadcn components as-is — don't re-invent what's already there46- Respect the existing CSS variable system (`--background`, `--foreground`, `--primary` etc.)47- Don't override component defaults unless there's a clear product reason4849**Plain HTML dashboards:**50- Single-file is fine — keep it self-contained51- Use CSS custom properties for theming52- No external CDN dependencies unless absolutely necessary5354## Hard Rules5556- No floating glassmorphism panels57- No gradient backgrounds as decoration58- No oversized rounded corners (20px+ everywhere)59- No eyebrow labels (`<small>SECTION LABEL</small>` above headings)60- No hero sections inside internal dashboards61- No decorative copy ("Operational clarity without the clutter")62- No metric-card grid as the default dashboard layout63- No fake charts that exist to fill space64- No transform animations on hover65- No `Segoe UI`, `Trebuchet MS`, `Arial` font stacks66- No status dots via `::before` pseudo-elements67- No nav badges unless they carry real data68- No pill buttons everywhere69- No dramatic box shadows (24px+ blur)70- No mixed alignment (some left-aligned, some floating center)7172Full banned list with examples: `references/banned-patterns.md`