redesign-existing-projects
Skill9 starsChanged 7 days agoMITView on GitHub
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.
We split this skill into the rules it gives an agent
43 rules. 35 are common, 0 are distinctive, and 8 are very specific to this project.
35
Common
Most of the 14 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 10
When applied to an existing project, follow this sequence:
- Common: line 20
Check for these problems and fix them:
- Very specific: line 26
Numbers in proportional font: Use a monospace font or enable tabular figures (font-variant-numeric: tabular-nums) for data-heavy interfaces.
- Common: line 27
Missing letter-spacing adjustments: Use negative tracking for large headers, positive tracking for small caps or labels.
- Common: line 34
Oversaturated accent colors: Keep saturation below 80%.
- Common: line 39
Flat design with zero texture: Add subtle noise, grain, or micro-patterns to backgrounds.
- Common: line 51
No max-width container: Add a container constraint (around 1200-1440px) with auto margins so content doesn't stretch edge-to-edge on wide …
- Common: line 58
Buttons not bottom-aligned in card groups: When cards have different content lengths, CTAs end up at random heights.
- Common: line 60
Inconsistent vertical rhythm in side-by-side elements: When placing cards, columns, or panels next to each other, align shared elements …
- Common: line 65
No hover states on buttons: Add background shift, slight scale, or translate on hover.
- Very specific: line 66
No active/pressed feedback: Add a subtle scale(0.98) or translateY(1px) on press to simulate a physical click.
- Common: line 67
Instant transitions with zero duration: Add smooth transitions (200-300ms) to all interactive elements.
- Common: line 68
Missing focus ring: Ensure visible focus indicators for keyboard navigation.
- Very specific: line 71
No error states: Add clear, inline error messages for forms.
- Common: line 79
Generic names like "John Doe" or "Jane Smith": Use diverse, realistic-sounding names.
- Very specific: line 80
Fake round numbers like
99.99%,50%,$100.00: Use organic, messy data: 47.2%, $99.00, +1 (312) 847-1928. - Common: line 82
AI copywriting cliches: Never use "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve", "Tapestry", or "In the world …
- Common: line 83
Exclamation marks in success messages: Remove them. Be confident, not loud.
- Common: line 85
Passive voice: Use active voice: "We couldn't save your changes" instead of "Mistakes were made."
- Common: line 87
Same avatar image for multiple users: Use unique assets for every distinct person.
- Common: line 88
Lorem Ipsum: Never use placeholder latin text.
- Common: line 89
Title Case On Every Header: Use sentence case instead.
- Common: line 93
Generic card look (border + shadow + white background): Remove the border, or use only background color, or use only spacing.
- Common: line 94
Always one filled button + one ghost button: Add text links or tertiary styles to reduce visual noise.
- Common: line 96
Accordion FAQ sections: Use a side-by-side list, searchable help, or inline progressive disclosure.
- Common: line 99
Modals for everything: Use inline editing, slide-over panels, or expandable sections instead of popups for simple actions.
- Common: line 101
Light/dark toggle always a sun/moon switch: Use a dropdown, system preference detection, or integrate it into settings.
- Common: line 109
Missing favicon: Always include a branded favicon.
- Common: line 110
Stock "diverse team" photos: Use real team photos, candid shots, or a consistent illustration style instead of uncanny stock imagery.
- Very specific: line 114
Div soup: Use semantic HTML: <nav>, <main>, <article>, <aside>, <section>.
- Very specific: line 116
Hardcoded pixel widths: Use relative units (%, rem, em, max-width) for flexible layouts.
- Common: line 119
Commented-out dead code: Remove all debug artifacts before shipping.
- Very specific: line 120
Import hallucinations: Check that every import actually exists in package.json or the project dependencies.
- Very specific: line 121
Missing meta tags: Add proper <title>, description, og:image, and social sharing meta tags.
- Common: line 125
No legal links: Add privacy policy and terms of service links in the footer.
- Common: line 128
No form validation: Add client-side validation for emails, required fields, and format checks.
- Common: line 130
No cookie consent: If required by jurisdiction, add a compliant consent banner.
- Common: line 134
When upgrading a project, pull from these high-impact techniques to replace generic patterns:
- Common: line 174
Do not break existing functionality.
- Common: line 175
Before importing any new library, check the project's dependency file first.
- Common: line 176
If the project uses Tailwind, check the version (v3 vs v4) before modifying config.
- Common: line 177
If the project has no framework, use vanilla CSS.
- Common: line 178
Keep changes reviewable and focused.
“Common” is measured: kept by at least 6 in 10 of the 14 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Redesign Skill
How This Works
When applied to an existing project, follow this sequence:
- Scan — Read the codebase. Identify the framework, styling method (Tailwind, vanilla CSS, styled-components, etc.), and current design patterns.
- Diagnose — Run through the audit below. List every generic pattern, weak point, and missing state you find.
- Fix — Apply targeted upgrades working with the existing stack. Do not rewrite from scratch. Improve what's there.
Design Audit
Typography
Check for these problems and fix them:
- 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.
- All-caps subheaders everywhere. Try lowercase italics, sentence case, or small-caps instead.
- Orphaned words. Single words sitting alone on the last line. Fix with
text-wrap: balanceortext-wrap: pretty.
Color and Surfaces
- Pure
#000000background. 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
#111in 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/1080when 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.
Layout
- 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: 100vhfor full-screen sections. Replace withmin-height: 100dvhto 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.
Interactivity and States
- No hover states on buttons. Add background shift, slight scale, or translate on hover.
- No active/pressed feedback. Add a subtle
scale(0.98)ortranslateY(1px)on press to simulate a physical click. - Instant transitions with zero duration. Add smooth transitions (200-300ms) to all interactive elements.
- Missing focus ring. Ensure visible focus indicators for keyboard navigation. This is an accessibility requirement, not optional.
- No loading states. Replace generic circular spinners with skeleton loaders that match the layout shape.
- No empty states. An empty dashboard showing nothing is a missed opportunity. Design a composed "getting started" view.
- No error states. Add clear, inline error messages for forms. Do not use
window.alert(). - Dead links. Buttons that link to
#. Either link to real destinations or visually disable them. - No indication of current page in navigation. Style the active nav link differently so users know where they are.
- Scroll jumping. Anchor clicks jump instantly. Add
scroll-behavior: smooth. - Animations using
top,left,width,height. Switch totransformandopacityfor GPU-accelerated, smooth animation.
Content
- 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.
Component Patterns
- 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.
Iconography
- Lucide or Feather icons exclusively. These are the "default" AI icon choice. Use Phosphor, Heroicons, or a custom set for differentiation.
- Rocketship for "Launch", shield for "Security". Replace cliche metaphors with less obvious icons (bolt, fingerprint, spark, vault).
- Inconsistent stroke widths across icons. Audit all icons and standardize to one stroke weight.
- Missing favicon. Always include a branded favicon.
- Stock "diverse team" photos. Use real team photos, candid shots, or a consistent illustration style instead of uncanny stock imagery.
Code Quality
- Div soup. Use semantic HTML:
<nav>,<main>,<article>,<aside>,<section>. - Inline styles mixed with CSS classes. Move all styling to the project's styling system.
- Hardcoded pixel widths. Use relative units (
%,rem,em,max-width) for flexible layouts. - Missing alt text on images. Describe image content for screen readers. Never leave
alt=""oralt="image"on meaningful images. - Arbitrary z-index values like
9999. Establish a clean z-index scale in the theme/variables. - Commented-out dead code. Remove all debug artifacts before shipping.
- Import hallucinations. Check that every import actually exists in
package.jsonor the project dependencies. - Missing meta tags. Add proper
<title>,description,og:image, and social sharing meta tags.
Strategic Omissions (What AI Typically Forgets)
- No legal links. Add privacy policy and terms of service links in the footer.
- No "back" navigation. Dead ends in user flows. Every page needs a way back.
- No custom 404 page. Design a helpful, branded "page not found" experience.
- No form validation. Add client-side validation for emails, required fields, and format checks.
- No "skip to content" link. Essential for keyboard users. Add a hidden skip-link.
- No cookie consent. If required by jurisdiction, add a compliant consent banner.
Upgrade Techniques
When upgrading a project, pull from these high-impact techniques to replace generic patterns:
Typography Upgrades
- Variable font animation. Interpolate weight or width on scroll or hover for text that feels alive.
- Outlined-to-fill transitions. Text starts as a stroke outline and fills with color on scroll entry or interaction.
- Text mask reveals. Large typography acting as a window to video or animated imagery behind it.
Layout Upgrades
- Broken grid / asymmetry. Elements that deliberately ignore column structure — overlapping, bleeding off-screen, or offset with calculated randomness.
- Whitespace maximization. Aggressive use of negative space to force focus on a single element.
- Parallax card stacks. Sections that stick and physically stack over each other during scroll.
- Split-screen scroll. Two halves of the screen sliding in opposite directions.
Motion Upgrades
- Smooth scroll with inertia. Decouple scrolling from browser defaults for a heavier, cinematic feel.
- Staggered entry. Elements cascade in with slight delays, combining Y-axis translation with opacity fade. Never mount everything at once.
- Spring physics. Replace linear easing with spring-based motion for a natural, weighty feel on all interactive elements.
- Scroll-driven reveals. Content entering through expanding masks, wipes, or draw-on SVG paths tied to scroll progress.
Surface Upgrades
- True glassmorphism. Go beyond
backdrop-filter: blur. Add a 1px inner border and a subtle inner shadow to simulate edge refraction. - Spotlight borders. Card borders that illuminate dynamically under the cursor.
- Grain and noise overlays. A fixed, pointer-events-none overlay with subtle noise to break digital flatness.
- Colored, tinted shadows. Shadows that carry the hue of the background rather than using generic black.
Fix Priority
Apply changes in this order for maximum visual impact with minimum risk:
- Font swap — biggest instant improvement, lowest risk
- Color palette cleanup — remove clashing or oversaturated colors
- Hover and active states — makes the interface feel alive
- Layout and spacing — proper grid, max-width, consistent padding
- Replace generic components — swap cliche patterns for modern alternatives
- Add loading, empty, and error states — makes it feel finished
- Polish typography scale and spacing — the premium final touch
Rules
- 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.
Trending
Rising: 4 new projects took it in the last 4 weeks, 1.3× the 4 weeks before.thin data
Other versions99 projects use a version of this.
Word for word · 81
- caorushizi/mediago★ 9.3k100% same
- SuperCmdLabs/SuperCmd★ 3.2k100% same
- ChrisChen667788/wind-comic★ 706100% same
- jihe520/mindpocket★ 349100% same
- oasm-platform/open-asm★ 267100% same
- hamzafarooq/claude-code-starter★ 145100% same
- scibly-dev/scibly★ 39100% same
- kresogalic8/unwatched★ 35100% same
- jmxt3/gitscape.ai★ 33100% same
- rylsherdamz-rgb/stellar-forge★ 17100% same
71 more not listed
Edited · 13
- coco-research/coco★ 79797% same
- fathomise/MailFathom★ 2099% same
- Krzysztof318/MailFathom★ 2099% same
- ivanrvpereira/.agents★ 19100% same
- jhy0285/monofield★ 697% same
- echoleesong/claude-skills-plugin★ 499% same
- samad001z/Norn★ 3100% same
- ne11nn/cantos-plugin★ 187% same
- cljhadream/good-taste-skill★ 091% same
- kitloomlk-stack/frontend-design-quality-kit★ 091% same
3 more not listed
Wrote their own version · 5
- Hayatelin/taste-skill-zh-CN★ 8same name
- BUGLAN/skills★ 1same name
- leolionart/claude-skills★ 1same name
- Hayatelin/taste-skill-zh-TW★ 0same name
- shahrukh-hack/vibe-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use find-animation-opportunities, emil-design-eng and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
wxyhgkSkillfind-animation-opportunities
Search a codebase or UI for places that don't animate but should, and reject everything that shouldn't. Read-only; it proposes motion with exact values, it does not implement it. Use when the user asks "what could be animated here?" or wants to "make this feel more alive". For fixing existing animations, use improve-animations or review-animations instead.
Also in 6 projects that use this
VercelSkillemil-design-eng
This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.
Also in 13 projects that use this
xerocSkillimprove-animations
Survey a codebase's animation and motion code as a senior motion advisor, then produce a prioritized audit and self-contained implementation plans for other agents (or cheaper models) to execute. Read-only on source code — it plans improvements, it does not apply them. Use when the user asks to "improve the animations", "audit the motion", "make this app feel better", or wants a roadmap of animation fixes rather than a review of a single diff.
Also in 6 projects that use this
attentiondotnetSkillanimation-vocabulary
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.
Also in 6 projects that use this
arkanSkillreview-animations
Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.
Also in 7 projects that use this
In this repository54 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- algorithmic-artSkill
- brand-guidelinesSkill
- brandkitSkill
- industrial-brutalist-uiSkill
- bun-typescript-conventionsSkill
- canvas-designSkill
- claude-apiSkill
- claude-opus-4-5-migrationSkill
- coordinatorSkill
- deterministic-async-teardownSkill
- doc-coauthoringSkill
- docxSkill
- durable-authority-crash-replaySkill
- exact-coverage-repairSkill
- frontend-designSkill
- gpt-tasteSkill
- gsap-coreSkill
- gsap-frameworksSkill
- gsap-performanceSkill
- gsap-pluginsSkill
- gsap-reactSkill
- gsap-scrolltriggerSkill
- gsap-timelineSkill
- gsap-utilsSkill
- imagegen-frontend-mobileSkill
- imagegen-frontend-webSkill
- image-to-codeSkill
- internal-commsSkill
- mcp-builderSkill
- merge-when-greenSkill
- minimalist-uiSkill
- full-output-enforcementSkill
- pdfSkill
- playwright-cliSkill
- pptxSkill
- runtime-portable-process-fixturesSkill
- skill-creatorSkill
- slack-gif-creatorSkill
- high-end-visual-designSkill
- stitch-design-tasteSkill
- design-taste-frontendSkill
- design-taste-frontend-v1Skill
- template-skillSkill
- theme-factorySkill
- typed-protocol-contractsSkill
- vfSkill
- webapp-testingSkill
- web-artifacts-builderSkill
- windows-path-authority-leasesSkill
- xlsxSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

