Home / Skills / Web & UI Design / Redesign Existing Projects
Web & UI Design

Redesign Existing Projects

LeonxlnxMITSkill language: English
License verifiedNo scriptsMedium risk
DemoReal run · claude-sonnet-5-5 · October 2026
Here is the current landing page of a small project-management app. Audit it and tell me what to fix, in priority order, and show the corrected code for the hero and the features section only. Keep our brand name and the links as they are. <body style="background:#000000;font-family:Inter,sans-serif;color:#fff"> <nav><a href="/">TaskFlow</a> <a href="/pricing">Pricing</a> <a href="/login">Log in</a></nav> <section style="height:100vh;text-align:center;background:linear-gradient(45deg,#7c3aed,#2563eb)"> <h1 style="font-size:64px;font-weight:700">Elevate Your Workflow Seamlessly</h1> <p>Unleash the power of next-gen project management.</p> <button>Get Started!</button> <button style="background:none;border:1px solid #fff">Learn More</button> </section> <section class="features" style="display:flex"> <div class="card" style="width:33%;box-shadow:0 4px 6px rgba(0,0,0,.3)"><img src="/i/rocket.svg"><h3>Fast</h3><p>Launch quickly.</p></div> <div class="card" style="width:33%;box-shadow:0 4px 6px rgba(0,0,0,.3)"><img src="/i/shield.svg"><h3>Secure</h3><p>Your data is safe.</p></div> <div class="card" style="width:33%;box-shadow:0 4px 6px rgba(0,0,0,.3)"><img src="/i/chart.svg"><h3>Insights</h3><p>99.99% uptime.</p></div> </section> <p>Testimonial: "Great tool!" - John Doe</p> </body>
Skill: redesign-existing-projects

TaskFlow landing page audit

Fixes in priority order

  1. Page foundation is missing. There's no <!doctype>, lang, <meta viewport>, <title> or meta description. Without the viewport tag the page renders as a zoomed-out desktop page on phones. There's also no <main> or <header>, and no skip link.
  2. The CTAs aren't usable.
    • Both buttons are bare <button>s with no action, so they do nothing.
    • The ghost button has no padding.
    • Neither has hover, focus or pressed styles.
    • "Get Started!" and "Learn More" are vague.
    • They should be links styled as buttons.
  3. The features row breaks on mobile and is crowded.
    • display:flex with width:33% never wraps, so cards get crushed on phones.
    • There's no gap, no padding and no max-width container.
    • The black shadow (rgba(0,0,0,.3)) is invisible on a #000 background, so the cards have no visible edges.
  4. Content problems.
    • "99.99% uptime" sits under "Insights", which is a mismatch.
    • It's also an unsourced claim. If it's true, show it as a sourced stat. If not, drop it.
    • "Launch quickly" and "Your data is safe" say nothing specific.
    • The testimonial ("Great tool!" - John Doe) reads as a placeholder and hurts trust. Use a real quote with a name, role and company.
  5. Accessibility details.
    • The images have no alt. Here they're decorative next to headings, so use alt="".
    • Headings jump from h1 to h3, so the features need an h2.
    • 100vh jumps on iOS Safari. Use min-height:100dvh.
    • Add prefers-reduced-motion handling.
  6. Visual polish.
    • Pure #000 is harsh, so use an off-black.
    • The 45° purple-to-blue gradient is a very common template look. Use one muted accent with a soft radial glow instead.
    • Use a centered headline only when it earns it. Left-aligned reads more editorial.
    • The three equal cards are the most generic feature layout, so I made the grid asymmetric.
    • The headline needs tighter tracking and text-wrap: balance.
    • Rocket and shield are cliché icons. I kept your files since I can't see the assets, but consider swapping them.
  7. Copy clichés. "Elevate", "Seamlessly", "Unleash" and "next-gen" are filler. The replacement copy below is a draft. Check it against what TaskFlow actually does.
  8. Inline styles. Move them to a stylesheet, as below.

Corrected hero and features

Brand name and links are unchanged. I assumed the CTAs point to /login and #features. Change "Get Started" to your signup URL if you have one.

<style>
  :root {
    --bg: #0c0c10;
    --surface: #14141a;
    --border: rgba(255, 255, 255, .08);
    --text: #f4f4f6;
    --muted: #a0a0ad;
    --accent: #7c6cf0;        /* single accent, saturation kept low */
    --accent-hover: #9183f5;
    --on-accent: #0c0c10;
    --max: 1200px;
  }

  .hero {
    min-height: 100dvh;
    display: grid;
    align-items: center;
    padding: 6rem 1.5rem;
    background:
      radial-gradient(60rem 30rem at 15% 0%, rgba(124, 108, 240, .22), transparent 70%),
      var(--bg);
  }
  .hero__inner { width: min(100%, var(--max)); margin-inline: auto; }
  .hero h1 {
    max-width: 14ch;
    margin: 0 0 1.5rem;
    font-size: clamp(2.5rem, 7vw, 4.5rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.035em;
    text-wrap: balance;
  }
  .hero p {
    max-width: 52ch;
    margin: 0 0 2.5rem;
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--muted);
    text-wrap: pretty;
  }
  .hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }

  .btn {
    display: inline-block;
    padding: .875rem 1.5rem;
    border-radius: .625rem;
    background: var(--accent);
    color: var(--on-accent);
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, transform .2s;
  }
  .btn:hover { background: var(--accent-hover); transform: translateY(-1px); }
  .btn:active { transform: scale(.98); }
  .link-quiet { color: var(--text); text-underline-offset: .3em; }
  .btn:focus-visible, .link-quiet:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 3px;
  }

  .features { padding: 6rem 1.5rem 7rem; background: var(--bg); }
  .features__inner { width: min(100%, var(--max)); margin-inline: auto; }
  .features h2 {
    max-width: 20ch;
    margin: 0 0 3rem;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.1;
    text-wrap: balance;
  }
  .features__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
  }
  .card {
    grid-column: span 12;
    padding: 2rem;
    border: 1px solid var(--border);
    border-radius: 1rem;
    background: var(--surface);
  }
  .card img { width: 2rem; height: 2rem; margin-bottom: 1.5rem; }
  .card h3 { margin: 0 0 .5rem; font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }
  .card p { margin: 0; max-width: 46ch; line-height: 1.6; color: var(--muted); }

  @media (min-width: 52rem) {
    .card--wide   { grid-column: span 7; }
    .card--narrow { grid-column: span 5; }
  }
  @media (prefers-reduced-motion: reduce) {
    .btn { transition: none; }
    .btn:hover, .btn:active { transform: none; }
  }
</style>

<section class="hero">
  <div class="hero__inner">
    <h1>Plan the work. Ship it on time.</h1>
    <p>TaskFlow keeps tasks, owners and deadlines in one place, so your team always knows what's next.</p>
    <div class="hero__actions">
      <a class="btn" href="/login">Get started</a>
      <a class="link-quiet" href="#features">See how it works</a>
    </div>
  </div>
</section>

<section class="features" id="features" aria-labelledby="features-title">
  <div class="features__inner">
    <h2 id="features-title">Everything your team needs to keep projects moving</h2>
    <div class="features__grid">
      <article class="card card--wide">
        <img src="/i/rocket.svg" alt="" width="32" height="32">
        <h3>Add tasks in seconds</h3>
        <p>Capture a task, assign an owner and set a due date from a single quick-entry box.</p>
      </article>
      <article class="card card--narrow">
        <img src="/i/shield.svg" alt="" width="32" height="32">
        <h3>Control who sees what</h3>
        <p>Set access per project and per person.</p>
      </article>
      <article class="card">
        <img src="/i/chart.svg" alt="" width="32" height="32">
        <h3>See where projects stand</h3>
        <p>Track progress across projects and spot slipping deadlines before they become problems.</p>
      </article>
    </div>
  </div>
</section>

Things to do outside these two sections

  • Add <!doctype html>, <html lang="en">, the viewport meta, a <title> and a meta description.
  • Set body to background: var(--bg) and margin: 0.
  • Wrap the page content in <main>.
  • Wrap the nav in <header> and add focus styles to its links.
  • Load your font with a <link>. I'd try Geist or Outfit in place of Inter, but that's your call as a brand decision.
  • Replace the testimonial with a real quote, styled as a <figure> with a <blockquote> and <figcaption>.
  • Add a footer with privacy and terms links.
  • The feature copy is a draft. Rewrite any line that doesn't match what the product does. If you want to keep the uptime claim, show it as its own sourced stat.

Test run: a pasted generic landing page (pure black, purple gradient, three equal cards, filler copy). The model invented draft feature copy and said so; it also assumed where the CTAs link. Check both before using. Nothing was applied to a real project.

What it does

Works on a project that already exists. The agent scans the codebase to find the framework and styling method, runs a design audit and fixes what it finds with the stack you already have: no migration and no rewrite from scratch. The audit covers typography (default fonts, weak headlines, line length), color and surfaces (pure black, oversaturated accents, the purple AI gradient, generic shadows), layout (three equal cards, 100vh, no max width, misaligned buttons), interactive states (hover, focus, loading, empty and error), content (placeholder names, fake round numbers, filler copy), components, icons, code quality and common omissions such as legal links and a 404 page. Fixes follow a set order, from the font swap to the final polish, and it keeps changes small and reviewable.

Output

A prioritized list of problems and the corrected code for the parts you point at.

Good for

Teams with a working but generic-looking site who want a safe, incremental upgrade rather than a redesign from zero.

Notes & risks

Medium risk: instructions only, no scripts, but it edits your project's source files (markup and CSS) in place and may add dependencies after checking package.json. Use version control and review the diff. Test-run once on a pasted page: the model invented draft feature copy (flagged as a draft) and assumed where the buttons link, so check both. Nothing was applied to a real project. By Leonxlnx, MIT.

SKILL.md original2 files in this package