ホーム / Skills / Web・UIデザイン / 既存プロジェクトのリデザイン Redesign Existing Projects
Web・UIデザイン

既存プロジェクトのリデザイン Redesign Existing Projects

LeonxlnxMITSkill の言語: 英語
ライセンス確認済みスクリプトなし中リスク
デモ実行記録 · claude-sonnet-5-5 · 2026年10月
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.

できること

すでに存在するプロジェクト向けです。エージェントはコードベースを調べてフレームワークとスタイルの方法を把握し、デザイン監査を行い、今あるスタックのまま見つけた問題を直します。移行も、ゼロからの作り直しもしません。監査の対象は、書体(既定フォント、弱い見出し、行幅)、色と面(純黒、彩度の高すぎるアクセント、AI によくある紫のグラデーション、ありきたりな影)、レイアウト(同じ幅のカード3枚、100vh、最大幅なし、ずれたボタン)、操作の状態(ホバー、フォーカス、読み込み、空、エラー)、コンテンツ(仮の名前、きれいすぎる偽の数字、空疎なコピー)、コンポーネント、アイコン、コード品質、法的リンクや 404 ページのような抜けがちな項目です。修正は書体の入れ替えから最後の仕上げまで決まった順序で進め、変更は小さくレビューしやすく保ちます。

出力

優先度順の問題リストと、指定した部分の修正後コード。

こんな場面に

動いてはいるが「ありきたり」に見えるサイトを、ゼロからの作り直しではなく安全に少しずつ引き上げたいチーム。

補足とリスク

中リスク:指示のみのファイルでスクリプトはありませんが、プロジェクトのソースファイル(マークアップと CSS)を直接書き換え、package.json を確認したうえで依存関係を追加することがあります。バージョン管理を使い、差分を確認してください。貼り付けたページで一度試用し、モデルは機能説明の下書きコピーを作り(下書きと明記)、ボタンのリンク先も仮定したため、両方を確認してください。実際のプロジェクトには何も適用していません。作者 Leonxlnx、MIT。

SKILL.md 原文パッケージ内 2 ファイル