Upgrades existing websites and apps to premium quality. Audits current design, identifies generic AI patterns, and applies high-end design standards without breaking functionality.
Browser default fonts or Inter everywhere. Replace with a font that has character. Good options: Geist, Outfit, Cabinet Grotesk, Satoshi. For editorial/creative projects, pair a serif header with a sans-serif body.
Headlines lack presence. Increase size for display text, tighten letter-spacing, reduce line-height. Headlines should feel heavy and intentional.
Body text too wide. Limit paragraph width to roughly 65 characters. Increase line-height for readability.
Only Regular (400) and Bold (700) weights used. Introduce Medium (500) and SemiBold (600) for more subtle hierarchy.
Numbers in proportional font. Use a monospace font or enable tabular figures (font-variant-numeric: tabular-nums) for data-heavy interfaces.
Missing letter-spacing adjustments. Use negative tracking for large headers, positive tracking for small caps or labels.
Pure #000000 background. Replace with off-black, dark charcoal, or tinted dark (#0a0a0a, #121212, or a dark navy).
Oversaturated accent colors. Keep saturation below 80%. Desaturate accents so they blend with neutrals instead of screaming.
More than one accent color. Pick one. Remove the rest. Consistency beats variety.
Mixing warm and cool grays. Stick to one gray family. Tint all grays with a consistent hue (warm or cool, not both).
Purple/blue “AI gradient” aesthetic. This is the most common AI design fingerprint. Replace with neutral bases and a single, considered accent.
Generic box-shadow. Tint shadows to match the background hue. Use colored shadows (e.g., dark blue shadow on a blue background) instead of pure black at low opacity.
Flat design with zero texture. Add subtle noise, grain, or micro-patterns to backgrounds. Pure flat vectors feel sterile.
Perfectly even gradients. Break the uniformity with radial gradients, noise overlays, or mesh gradients instead of standard linear 45-degree fades.
Inconsistent lighting direction. Audit all shadows to ensure they suggest a single, consistent light source.
Random dark sections in a light mode page (or vice versa). A single dark-background section breaking an otherwise light page looks like a copy-paste accident. Either commit to a full dark mode or keep a consistent background tone throughout. If contrast is needed, use a slightly darker shade of the same palette — not a sudden jump to #111 in the middle of a cream page.
Empty, flat sections with no visual depth. Sections that are just text on a plain background feel unfinished. Add high-quality background imagery (blurred, overlaid, or masked), subtle patterns, or ambient gradients. Use reliable placeholder sources like https://picsum.photos/seed/{name}/1920/1080 when real assets are not available. Experiment with background images behind hero sections, feature blocks, or CTAs — even a subtle full-width photo at low opacity adds presence.
Everything centered and symmetrical. Break symmetry with offset margins, mixed aspect ratios, or left-aligned headers over centered content.
Three equal card columns as feature row. This is the most generic AI layout. Replace with a 2-column zig-zag, asymmetric grid, horizontal scroll, or masonry layout.
Using height: 100vh for full-screen sections. Replace with min-height: 100dvh to prevent layout jumping on mobile browsers (iOS Safari viewport bug).
Complex flexbox percentage math. Replace with CSS Grid for reliable multi-column structures.
No max-width container. Add a container constraint (around 1200-1440px) with auto margins so content doesn’t stretch edge-to-edge on wide screens.
Cards of equal height forced by flexbox. Allow variable heights or use masonry when content varies in length.
Uniform border-radius on everything. Vary the radius: tighter on inner elements, softer on containers.
No overlap or depth. Elements sit flat next to each other. Use negative margins to create layering and visual depth.
Symmetrical vertical padding. Top and bottom padding are always identical. Adjust optically — bottom padding often needs to be slightly larger.
Dashboard always has a left sidebar. Try top navigation, a floating command menu, or a collapsible panel instead.
Missing whitespace. Double the spacing. Let the design breathe. Dense layouts work for data dashboards, not for marketing pages.
Buttons not bottom-aligned in card groups. When cards have different content lengths, CTAs end up at random heights. Pin buttons to the bottom of each card so they form a clean horizontal line regardless of content above.
Feature lists starting at different vertical positions. In pricing tables or comparison cards, the list of features should start at the same Y position across all columns. Use consistent spacing above the list or fixed-height title/price blocks.
Inconsistent vertical rhythm in side-by-side elements. When placing cards, columns, or panels next to each other, align shared elements (titles, descriptions, prices, buttons) across all items. Misaligned baselines make the layout look broken.
Mathematical alignment that looks optically wrong. Centering by the math doesn’t always look centered to the eye. Icons next to text, play buttons in circles, or text in buttons often need 1-2px optical adjustments to feel right.
Generic names like “John Doe” or “Jane Smith”. Use diverse, realistic-sounding names.
Fake round numbers like 99.99%, 50%, $100.00. Use organic, messy data: 47.2%, $99.00, +1 (312) 847-1928.
Placeholder company names like “Acme Corp”, “Nexus”, “SmartFlow”. Invent contextual, believable brand names.
AI copywriting cliches. Never use “Elevate”, “Seamless”, “Unleash”, “Next-Gen”, “Game-changer”, “Delve”, “Tapestry”, or “In the world of…”. Write plain, specific language.
Exclamation marks in success messages. Remove them. Be confident, not loud.
“Oops!” error messages. Be direct: “Connection failed. Please try again.”
Passive voice. Use active voice: “We couldn’t save your changes” instead of “Mistakes were made.”
All blog post dates identical. Randomize dates to appear real.
Same avatar image for multiple users. Use unique assets for every distinct person.
Lorem Ipsum. Never use placeholder latin text. Write real draft copy.
Title Case On Every Header. Use sentence case instead.
Generic card look (border + shadow + white background). Remove the border, or use only background color, or use only spacing. Cards should exist only when elevation communicates hierarchy.
Always one filled button + one ghost button. Add text links or tertiary styles to reduce visual noise.
Pill-shaped “New” and “Beta” badges. Try square badges, flags, or plain text labels.
Accordion FAQ sections. Use a side-by-side list, searchable help, or inline progressive disclosure.
3-card carousel testimonials with dots. Replace with a masonry wall, embedded social posts, or a single rotating quote.
Pricing table with 3 towers. Highlight the recommended tier with color and emphasis, not just extra height.
Modals for everything. Use inline editing, slide-over panels, or expandable sections instead of popups for simple actions.
Avatar circles exclusively. Try squircles or rounded squares for a less generic look.
Light/dark toggle always a sun/moon switch. Use a dropdown, system preference detection, or integrate it into settings.
Footer link farm with 4 columns. Simplify. Focus on main navigational paths and legally required links.
Work with the existing tech stack. Do not migrate frameworks or styling libraries.
Do not break existing functionality. Test after every change.
Before importing any new library, check the project’s dependency file first.
If the project uses Tailwind, check the version (v3 vs v4) before modifying config.
If the project has no framework, use vanilla CSS.
Keep changes reviewable and focused. Small, targeted improvements over big rewrites.
About this skill
Trigger
Upgrades existing websites and apps to premium quality. Audits current design, identifies generic AI patterns, and applies high-end design standards without breaking functionality. Works with any CSS framework or vanilla CSS.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
MIT — the text of every skill is reproduced unmodified, frontmatter included, under the upstream licence.
Discovery
13 skills found by walking the repository tree for SKILL.md, not by matching a directory convention. One layout observed: skills/*/SKILL.md.
Issue colours
Resolved from a deterministic hash of the owner name. Two accent tones are generated per issue and each is proven against its own ground before it ships: a single accent that passes AA on both light and dark paper is arithmetically impossible.
Heading repairs
1 repair applied to this skill so the document has one h1 and no skipped levels:
Shifted “19 headings” from h1 to h2 so the skill title is the only h1.
Spec compliance
10 editorial notes across 10 of 13 skills. They are printed in the margin of each skill rather than as errors here.
Images inside a skill come from the upstream repository. Where the author gave no alternative text we mark the image decorative rather than inventing a description — a plausible caption we made up is worse than none for the reader who depends on it.
Marketplace
A plugin manifest is published at .claude-plugin/marketplace.json by leonxlnx, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree.
Signal
Install counts come from skills.sh. They measure downloads, not quality, and an unranked repository is not an unread one.
Agent surfaces
The whole issue is available as one markdown document at /Leonxlnx/taste-skill.md, and each skill at its own .md URL.
Publication
Set by Skills Docs from the source repository. Body text is Literata at the reader’s chosen size and measure; code is Geist Mono. Nothing on this page was written by us except this paragraph.