前端开发

screenshot-to-code

onewave-ai/claude-skills

Turns a screenshot, mockup, Figma export, or photo of a UI into working front-end code - React + Tailwind CSS v4 by default, or Next.js, Vue, or plain HTML/CSS - matching layout, spacing, colors, and typography, then renders the result and compares it against the image to close visual gaps. Use whenever the user shares an image of a website, app screen, dashboard, component, or wireframe and wants it built, cloned, recreated, or "made real", or says "code this up", "build this design", or "match this screenshot".

  • 1348 次安装
  • 395 星标
  • 收录于

安装命令

npx skills add https://github.com/onewave-ai/claude-skills --skill screenshot-to-code

SKILL.md

Screenshot to Code

Recreate the UI in the image as clean, responsive, accessible code, then check the render against the image.

Workflow

  1. Pick the target stack. If the user is inside a project, match it: read package.json for React/Next/Vue and the Tailwind version, and reuse existing components, tokens, and icon libraries. Do not ask when the repo already answers it. With no project:

    • Single screen or quick prototype: one self-contained index.html (Tailwind via the browser build, see references/stack-setup.md).
    • App or multi-screen: React + TypeScript + Tailwind v4 on Vite.
    • User mentions Next.js, SSR, or routing: Next.js App Router.
  2. Write a short spec before coding. Looking at the image, note:

    • Layout regions top to bottom (nav, hero, sidebar, grid, footer) and the grid or flex structure of each
    • Design tokens: 3-6 colors as hex, font family guess and the type scale, spacing rhythm (usually multiples of 4px), corner radius, shadow style
    • Repeated components (cards, list rows, buttons) that should be one component with props
    • What the image cannot show: hover and focus states, mobile layout, real data, content below the fold

    Estimate sizes from the image resolution. If the screenshot is 2x (a Retina capture 2880px wide is a 1440px layout), halve the pixel measurements.