Skill detail
figma-to-weaverse
Implements supplied Figma storefront designs into a specific Hydrogen/Weaverse stack.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
--- name: figma-to-weaverse description: Use when recreating a Figma design as Hydrogen + Weaverse pages in this repo — turning a Figma file, frame, or flow into reusable Weaverse sections. Triggers on a figma.com URL, "build this design", "implement this Figma", or "create the storefront from the design". The Figma counterpart of cloning-websites-to-weaverse. --- # Figma to Weaverse Turn a Figma design into maintainable Weaverse pages. This is the **Figma input adapter** — the sibling of `cloning-websites-to-weaverse`, but the source is a Figma file instead of a live URL. Both adapters converge on the same downstream skill, `generating-weaverse-project-json`. ``` Figma file / frame ─→ figma-to-weaverse ─→ generating-weaverse-project-json ─→ import / content API (Figma MCP) (tokens + manifest + preview) (project JSON) ``` The two adapters share the same downstream rules. Section matching, deep schema verification, the content manifest, the clone preview route, and the brand-guideline conflict rule are **identical** to `cloning-websites-to-weaverse` — read that skill for the full matching logic. This skill only replaces the **extraction layer** (Figma MCP instead of Firecrawl) and adds Figma-specific gotchas. ## When to Use - A figma.com URL (file, frame, or selection) is the source of a page or storefront - "Implement this design in Weaverse", "build the homepage from Figma" - Multi-frame flows that map to multiple Weaverse pages Do not use it for live-website cloning (use `cloning-websites-to-weaverse`) or tiny copy edits. ## Required Inputs - Figma file/frame/node URL (or current selection) - `.guides/brand-guideline.md` - `sections.md` - `app/weaverse/components.ts` ## Required Outputs Same three deliverables as the website cloning skill: 1. **Content manifest** — per-section table of real asset URLs (from Figma asset export), text, links, Shopify refs, media types. 2. **Clone preview route** — a single `app/routes/clone-preview.$page.tsx` rendering the full design as React + Tailwind, section-marked, brand-adjusted. **User must approve this before section decomposition.** 3. **Design spec** — section mapping, schema boundaries, interaction model, token mapping. ## Extraction with Figma MCP (MCP-first) Use the Figma MCP tools. They return **structured** design data — more precise than scraped HTML for tokens and layout, but weaker on real interaction (a static design has no runtime behavior). > Before any `use_figma` write call, load the `figma-use` skill. For reads below, no write is needed. 1. **Map the structure** — `get_metadata` on the file/frame to get the node tree. Top-level frames/sections become your section-splitting boundaries (the Figma equivalent of HTML section markers). 2. **Extract design tokens** — `get_variable_defs` for colors, typography, spacing, radius. These map directly into `project.config.theme` in the JSON generator (colors → `colorPrimary`/`colorText`/…, type scale → `bodyBaseSize`/`h1BaseSize`/…). This is the biggest advantage over web scraping — tokens are explicit, not inferred. 3. **Read layout + content per frame** — `get_design_context` on each section frame for layout structure, auto-layout direction, text content, and component usage. Auto-layout (horizontal/vertical, wrap, spacing) tells you composition (side-by-side vs stacked vs grid). 4. **Export assets** — `download_assets` (or `get_screenshot` of leaf image nodes) to get real image/icon URLs. These populate the content manifest's image columns. There is no "video src" to extract like in HTML — flag motion/video intent from frame names or prototype notes instead. 5. **Visual reference** — `get_screenshot` of each frame for the approval checkpoint and for verifying the clone preview matches. 6. **Design system reuse** — `search_design_system` / `get_libraries` when the file uses a component library, to understand reusable component intent. ### Plugin fallback If the MCP can't reach the file or can'tRead the full source on GitHub (opens external page)