본문으로 건너뛰기
cccskills
무료GitHub에 공개

build-design

Turn a Figma file or design image into a working interface using the project's existing components and design tokens, its shared visual settings. Compare the implementation with the design and report differences, missing states, and parts awaiting backend connections.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Builds UI from a Figma file or a design image so it matches the design, using your project's existing tokens and components.

연동 도구Figma

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Implement an interface from a Figma design
  • Build a screen from a supplied design image
  • Reuse existing components and shared visual settings
  • Compare the implementation at specified screen widths

포함된 파일(3)

  • SKILL.md5.9 KB
  • agents/openai.yaml107 B
  • figma.md2.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Build design

This skill turns a design into code that matches it. It reads the design at its source, builds with what the project already has, then compares the result against the design before calling it done.

The design decides. Values come from the design file, never from your taste or a pattern you liked elsewhere. A change the design does not show is a deviation, and a deviation is the user's call.

It owns no domain rules. Where the design breaks one, build it as designed and report the conflict with its owner. Contrast is a requirement in better-accessibility and a measurement in better-colors. Focus and semantics are better-accessibility, type is better-typography and spacing and structure are better-layout. Palette is better-colors, copy is better-writing and surfaces, icons and motion are better-ui. Reviewing finished work is interface-review, exploring alternatives is variant and stress testing a component is break.

1. Read the design at its source

A Figma link means the Figma MCP. Search the available and deferred tools for figma before saying it is unavailable, since the server often sits under a name you did not expect. A server that lists only an authenticate tool is connected but signed out, so ask the user to authenticate. With no Figma tool at all, ask the user to connect one, and do not build from memory or guesswork meanwhile. figma.md holds which tools to call and what each returns.

A screenshot or exported image has no values to read. Sizes are ratios to the capture, so state the scale you assumed and treat every measurement as an estimate. Ask for the Figma link when one exists, since it replaces the whole estimate.

Scope the run to the frames named. Frames that show the same thing at different widths are one piece at several breakpoints, not separate pieces.

This step is done when you hold a screenshot of every frame in scope and its values for spacing, size, radius, color, type and the components used. From a Figma file they are exact. From an image they are estimates at the scale you stated.

2. Map the design onto the project

Read the project's tokens and component library before writing anything. Then map every design value to what exists:

In the designIn code
A bound variable or styleThe token with the same name or the same value
A raw value that equals a tokenThat token
A raw value with no tokenThe nearest existing token, listed in the report as rounded
A component instanceThe project's component of that name, with the variant the design shows
A component instance with no project equivalentPlain markup in place, listed as a deviation, and ask whether a component should exist
A one-off group of layersPlain markup in place, not a new component

Never add a token, a component variant or an arbitrary value to hit a number. Stop and ask which way to go when rounding would visibly change the design. That means more than 2px on spacing or size, or a color landing on a different step.

Check what data the design needs and wire it to what exists. Where the backend for part of it does not exist yet, build that part as UI fed by props and name it in the report as unwired.

3. Build only what the design shows

Implement the frames, the breakpoints the frames define and the states the file draws, such as hover, empty or error. A state the file does not draw is not yours to design. Leave it to the existing component's default and list it as missing.

Leave everything around the piece as it was. No neighbouring copy edits, no icon swaps, no "while I was here" cleanups. A diff wider than the design is the most common way this goes wrong.

4. Compare against the design

Render the build at each frame's width beside the design screenshot and walk it element by element. Compare the properties Read the design at its source collected. "Gap is 12px, design is 16px" is a finding. "Feels a bit tight" is not.

With a browser at hand, screenshot each width and compare. Without one, hand over the local URL with the widths to check and say the comparison is unverified. Do not report a match you did not look at.

Fix every mismatch you caused, then compare again. This step is done when every remaining difference is a rounding or a question.

5. Report and stop

ElementDesignBuiltStatus
Card padding20pxp-5Matches
Title size15pxtext-sm, 14pxRounded to token
BadgeFilled pillText labelDeviates, asked: no badge component exists

Then list, one line each, and omit a list with nothing in it:

  • Unwired. What renders from props until the backend exists.
  • Missing states. What the design does not draw.
  • Domain conflicts. Where the design breaks a rule, with the owning skill.

Close by saying where the build is running and at which widths you compared.

Before you finish

You noticeFix
"Figma isn't connected" written before any tool searchSearch the tools for figma first
Values in code that appear in no Figma response, only in the screenshotRead them from the design context
An arbitrary utility such as w-[343px] or a raw hex in the diffMap it to a token, or ask if rounding shows
A new file under the components directory for a frame that is not a componentInline it as plain markup
A loading or error branch the design never drewRemove it, keep the default and list it as missing
Files in the diff that no frame touchesRevert them
A contrast or focus change the design does not showRestore the design and report the conflict with its owner
A comparison claimed with no screenshot of the buildRender each frame width, or say it is unverified
Hard-coded sample data with no mention in the reportList it under Unwired

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Review and fix interface accessibility against WCAG 2.2, a web accessibility standard. Check keyboard navigation, focus, screen reader labels, forms, motion, and zoom, then report failures with their criteria and implement fixes using the project's existing styling system.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Check flows using only the keyboard
  • Fix control names and screen reader announcements
  • Improve form labels and error feedback
jakubkrehel/skills8.2천2026년 10월 13일 업데이트

Build and review interface color systems with palettes, format conversions, and semantic tokens that name colors by purpose. Measure foreground and background contrast, and identify inconsistent themes, misused color roles, and colors outside the supported range.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Build palettes around interface roles
  • Organize color tokens by purpose
  • Measure text and background contrast
jakubkrehel/skills8.2천2026년 10월 13일 업데이트

Review an interface across accessibility, layout, writing, typography, color, and visual polish. It coordinates specialist skills, combines evidence from code and rendered screens, and produces one report with findings ranked by their impact on users.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing a screen or complete user flow
  • Checking loading, error, and narrow-screen states
  • Prioritizing interface fixes by user impact
jakubkrehel/skills8.2천2026년 10월 13일 업데이트

Review and improve interface grouping, alignment, spacing, and responsive structure. Check whether content and actions remain accessible when screens resize, text grows in translation, zoom increases, or the layout switches to right-to-left reading.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking clipping and overlap on narrow screens or at higher zoom
  • Preparing layouts for longer translated text
  • Reviewing right-to-left layouts
jakubkrehel/skills8.2천2026년 10월 13일 업데이트

Set and review how interface text renders, including font loading, size hierarchy, line spacing, wrapping, truncation, and punctuation. Apply fixes within the existing styling system and check how realistic content behaves across different widths.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Organize heading and body text sizes
  • Fix wrapping and truncated text
  • Keep changing numbers aligned
jakubkrehel/skills8.2천2026년 10월 13일 업데이트

better-ui

무료

Refine interface surfaces, icons, and motion with specific values for corners, shadows, alignment, and transitions. Preserve the project's existing design conventions while identifying visual inconsistencies, touch interaction problems, and missing alternatives for reduced motion.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Refining corners and shadows on nested cards
  • Unifying icon appearance across interaction states
  • Adjusting button feedback and entrance animations
jakubkrehel/skills8.2천2026년 10월 13일 업데이트

jakubkrehel의 스킬 모두 보기

이 스킬의 문제 신고