UI/UX Design System Advisor
Galaxy-Dawn/claude-scholar
Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.
Build a Figma design from code or a description — the reverse of figma-codegen.
$ npx skills add awdr74100/figwright --skill figma-build -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install awdr74100/figwright figma-build --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/awdr74100/figwright.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/figma-build .claude/skills/figma-build && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "figma-build" agent skill from https://github.com/awdr74100/figwright/tree/main/skills/figma-build into .claude/skills/figma-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-build", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/awdr74100/figwright/tree/main/skills/figma-buildType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add awdr74100/figwright --skill figma-build -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install awdr74100/figwright figma-build --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awdr74100/figwright.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/figma-build .agents/skills/figma-build && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "figma-build" agent skill from https://github.com/awdr74100/figwright/tree/main/skills/figma-build into .agents/skills/figma-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-build", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awdr74100/figwright --skill figma-build -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install awdr74100/figwright figma-build --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awdr74100/figwright.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/figma-build .cursor/skills/figma-build && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "figma-build" agent skill from https://github.com/awdr74100/figwright/tree/main/skills/figma-build into .cursor/skills/figma-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-build", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/awdr74100/figwright.git --path skills/figma-build--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add awdr74100/figwright --skill figma-build -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install awdr74100/figwright figma-build --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awdr74100/figwright.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/figma-build .gemini/skills/figma-build && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "figma-build" agent skill from https://github.com/awdr74100/figwright/tree/main/skills/figma-build into .gemini/skills/figma-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-build", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install awdr74100/figwright figma-buildInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add awdr74100/figwright --skill figma-build -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/awdr74100/figwright.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/figma-build .github/skills/figma-build && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "figma-build" agent skill from https://github.com/awdr74100/figwright/tree/main/skills/figma-build into .github/skills/figma-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-build", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awdr74100/figwright --skill figma-build -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install awdr74100/figwright figma-build --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awdr74100/figwright.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/figma-build .opencode/skills/figma-build && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "figma-build" agent skill from https://github.com/awdr74100/figwright/tree/main/skills/figma-build into .opencode/skills/figma-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-build", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
figma-buildBuild a Figma design from code or a description — the reverse of figma-codegen.
Figma Build is an agent skill from awdr74100/figwright. Build a Figma design from code or a description — the reverse of figma-codegen. Reuses the connected file's existing design system (components, variables, styles) instead of drawing primitives with hardcoded values. Triggers whenever the user wants something created or updated IN Figma from code or a spec — e.g. 'build this in Figma', 'create a Figma design for this', 'push this component/screen to Figma', 'turn this React/Vue into a Figma design', 'recreate this UI in Figma', 'make a Figma version of …', 'design…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/assemble-screens.md`, `references/author-design-system.md` and `references/motion.md`).
It sits in Frontend & Design, covering Project scaffolding, Design systems and Landing pages. It works with Figma, React, Vue.js and Model Context Protocol. The repository describes itself as: Free, two-way Figma MCP server. Turn designs into framework-aware code, and push code back to the canvas. Works with Claude Code, Cursor, Codex, and any MCP client. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c00638b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Figma Build loads about 2k tokens when it runs, and up to ~9.9k if it reads all its reference files. Until then it costs about 192 tokens; SKILL.md has 943 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from awdr74100/figwright at commit c00638b, republished under its MIT licence (© awdr74100). 943 words, ~1,954 tokens.
.claude/skills/figma-build/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Turn code or a description into a Figma design that looks like it belongs in the file: reuse the
components, variables, and styles that already exist, and only build what's genuinely missing. This
is the mirror image of figma-codegen — same "reuse beats regenerate / reference tokens not
literals" philosophy, pointed at the canvas instead of the codebase. This file is the router; deep
detail lives in references/ — load a reference when its step is in play.
You operate on the connected Figma file (the plugin's current session). There is no fetch-by-URL;
the user must have the target file open. Confirm a plugin is connected (ping) before building.
figma-codegen.Every tool result says so when it applies, so you do not have to check up front: with two or more
files connected and none claimed, results carry a MORE THAN ONE FIGMA FILE IS OPEN block naming
them. It matters because calls otherwise follow whichever file the user last touched, which changes
when they switch tabs — so a task can read one file and write to another and report success.
When you see it, claim the file before doing anything else: list_files names every connected file,
use_file({ fileName }) claims one for this session (use_file({ sessionId }) when two open files
share a name — Figma allows that, and x (Copy) is how it happens). Every later call then reaches
that file whatever is in front, including while its tab sits in the background. If the user has not
said which file, ask — do not guess from the names.
The write-side mirror of codegen's grounding, and the most important habit: an off-looking build almost always comes from invented values or assumed conventions. So understand this user's actual environment first, then build into it — never apply a generic template. There's no single "right" stack; there's their stack. Look at both ends before creating anything:
get_variable_defs → the file's variables (colour / spacing / radius / typography) with
names + values + hex. These are the tokens you bind to.scan_components / get_local_components → existing components to instance rather
than rebuild. Match the source UI pattern (a card, a list row, a nav, a button) to a component.get_styles → shared paint / text / effect styles to apply.Then build, tracing every value to a source in priority order: reuse an existing
component / variable / style; else take the exact value from the source's own code —
provider-first, resolving whatever styling system it uses to real px / hex (CSS literally;
Tailwind / Chakra / UnoCSS / … via their config or scale), never eyeballed; only invent from a
consistent scale when neither exists. Full detail + the value-resolution method in
references/write-rules.md.
Every build obeys the same cross-cutting rules — ground values (design system → source code → scale),
reference tokens (colour via bind_variable_to_paint, scalars via bind_variable_to_node, shared
looks via apply_style_to_node), auto-layout for related children (absolute only for top-level
placement), HUG/FILL/FIXED sizing via set_layout_props (so the layout computes sizes — don't
hardcode width/height), and real fonts (a new TEXT node defaults to Inter). →
references/write-rules.md.
create_instance matching components, bind tokens, build incrementally, screenshot-verify each
step. → references/assemble-screens.md.references/author-design-system.md.When the source carries animation — CSS @keyframes / transition, Framer Motion, GSAP, a Vue/Svelte
transition — author it as Figma Motion (beta) on the frame you built rather than dropping it:
apply_animation_style (presets from get_motion_styles) or apply_manual_keyframe_track per
property, set_timeline_duration for length. A staggered row is one atomic batch of
apply_animation_style ops with increasing config.timelineOffset — not N calls. Motion is
Figma-Design-only and keyframes attach to a top-level frame's layers, so build the frame first.
→ references/motion.md.
get_screenshot the built node, fix discrepancies, and re-screenshot — the same render-and-diff
discipline codegen uses, in reverse. Check it against the source intent and against objective
design health (this catches problems even when you built from a vague description with no source to
compare): nothing clipped or overflowing, edges aligned, spacing consistent (one scale), a clear type
hierarchy. An empty: true export means the node rendered nothing (hidden / off-canvas).
bind_variable_to_paint, scalars via
bind_variable_to_node, shared looks via apply_style_to_node — never hardcode hex/px when a
token exists (get_variable_defs tells you what does).© awdr74100, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/figma-build of awdr74100/figwright.
Open the folder on GitHubat commit c00638b
Figma Build next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Figma Build this skillawdr74100/figwright | 1k | — | ~2k | Automated safety check: Pass | MIT | |
| UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar | 5.7k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Design StyleCastor6/tactus | 376 | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| UithingBayBreezy/ui-thing | 729 | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Refero Designreferodesign/refero_skill | 299 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Wonder BlocksKhan/wonder-blocks | 163 | — | ~3.2k | Automated safety check: Pass | MIT |
Galaxy-Dawn/claude-scholar
Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.
Castor6/tactus
A skill your agent uses whenever the user asks to build, create, design, develop, improve, or style any frontend interface or visual element.
BayBreezy/ui-thing
Manages UI Thing components, prose, blocks, themes, shortcuts, docs, and MCP-driven workflows in Nuxt projects and in the UI Thing source repo.
referodesign/refero_skill
Primary/default skill for UI design, product design, web design, landing pages, dashboards, product screens, redesigns, visual polish, frontend/CSS styling, design systems, components, responsive…
Khan/wonder-blocks
Implements user interfaces using the Wonder Blocks (WB) design system — Khan Academy's React component library.
pacifio/ui
Atlas — a design language and UI guide system for agent interfaces.
awdr74100/figwright
Upgrade @figma/plugin-typings and absorb what the new version exposes.
awdr74100/figwright
Upgrade @modelcontextprotocol/server (the MCP TypeScript SDK v2) and prove the wire contract survived.
awdr74100/figwright
Generate framework-aware code from a Figma design. An agent skill from awdr74100/figwright.
Works with
Categories
Build a Figma design from code or a description — the reverse of figma-codegen. Figma Build is an agent skill from awdr74100/figwright. Build a Figma design from code or a description — the reverse of figma-codegen.
Figma Build fits situations like: ever the user wants something created; updated IN Figma from code.
Run `npx skills add awdr74100/figwright --skill figma-build -a claude-code`. Or copy the skill folder (skills/figma-build in awdr74100/figwright) into .claude/skills/figma-build in your project. Claude Code loads it when a task matches its description.
Run `npx skills add awdr74100/figwright --skill figma-build -a codex`. Or copy the skill folder (skills/figma-build in awdr74100/figwright) into .agents/skills/figma-build in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add awdr74100/figwright --skill figma-build -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figma-build, .gemini/skills/figma-build, .github/skills/figma-build and .opencode/skills/figma-build in your project.
SKILL.md names no scripts, command-line tools or credentials: Figma Build is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Figma Build is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Figma Build: UI/UX Design System Advisor (Galaxy-Dawn/claude-scholar, 5.7k stars), Design Style (Castor6/tactus, 376 stars), Uithing (BayBreezy/ui-thing, 729 stars) and Refero Design (referodesign/refero_skill, 299 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
awdr74100 (a GitHub user) maintains it in awdr74100/figwright, which has 1,003 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 10, 2026.
Source: awdr74100/figwright on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.