$npx -y skills add figma/mcp-server-guide --skill figma-generate-designUse this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma. Triggers: 'write to Figma', 'create in Figma from code', 'push page to Figma', 'take this app/page and build it in Figma', 'create a screen', 'buil
| 1 | # Build / Update Screens and Views from Design System |
| 2 | |
| 3 | Use this skill to create or update **screens, views, and multi-section UI containers** in Figma by **reusing the published design system** — components, variables, and styles — rather than drawing primitives with hardcoded values. This includes full pages, modals, dialogs, drawers, sidebars, panels, and any composed view with multiple sections. The key insight: the Figma file likely has a published design system with components, color/spacing variables, and text/effect styles that correspond to the codebase's UI components and tokens. Find and use those instead of drawing boxes with hex colors. |
| 4 | |
| 5 | **MANDATORY**: You MUST also load [figma-use](../figma-use/SKILL.md) before any `use_figma` call. That skill contains critical rules (color ranges, font loading, etc.) that apply to every script you write. |
| 6 | |
| 7 | **Always include `figma-generate-design` in the comma-separated `skillNames` parameter when calling `use_figma` as part of this skill. If this skill was loaded via an MCP resource, you MUST prefix the name with `resource:` (e.g. `resource:figma-generate-design`).** This is a logging parameter — it does not affect execution. |
| 8 | |
| 9 | ## Skill Boundaries |
| 10 | |
| 11 | - Use this skill when the deliverable is a **composed Figma view** (new or updated) — full-page screens, modals, dialogs, drawers, sidebars, panels, or any multi-section container — built from design system component instances. |
| 12 | - If the user wants to create **new reusable components or variants**, use [figma-use](../figma-use/SKILL.md) directly. |
| 13 | - If the user wants to write **Code Connect mappings**, switch to [figma-code-connect](../figma-code-connect/SKILL.md). |
| 14 | |
| 15 | ## Prerequisites |
| 16 | |
| 17 | - Figma MCP server must be connected |
| 18 | - The target Figma file must have a published design system with components (or access to a team library) |
| 19 | - User must provide a target Figma file (URL or `fileKey`). If they don't have one yet, invoke `/figma-create-new-file` (or call `create_new_file`) first and reuse the returned file_key. Both `use_figma` and `generate_figma_design` require an existing `fileKey`. |
| 20 | - Source code or description of the screen/view to build/update |
| 21 | |
| 22 | ## Parallel Workflow with generate_figma_design (Web Apps Only) |
| 23 | |
| 24 | When building a screen from a **web app** that can be rendered in a browser, the best results come from running both approaches in parallel: |
| 25 | |
| 26 | 1. **In parallel:** |
| 27 | - Start building the screen using this skill's workflow (use_figma + design system components) against the target Figma file (`fileKey`). |
| 28 | - Run `generate_figma_design` against the **same `fileKey`** to capture a pixel-perfect screenshot of the running web app into that file. `generate_figma_design` always requires `fileKey` — if the user does not yet have a Figma file, first invoke `/figma-create-new-file` (or call the `create_new_file` MCP tool) to get one, and reuse that file_key for both this skill and the capture. |
| 29 | 2. **Once both complete:** Update the use_figma output to match the pixel-perfect layout from the `generate_figma_design` capture. The capture provides the exact spacing, sizing, and visual treatment to aim for, while your use_figma output has proper component instances linked to the design system. If the capture contains images, transfer them to your use_figma output by copying `imageHash` values from the capture's image fills (see Step 5 for details). |
| 30 | 3. **Once confirmed looking good:** Delete the `generate_figma_design` output — it was only used as a visual reference. |
| 31 | |
| 32 | This combines the best of both: `generate_figma_design` gives pixel-perfect layout accuracy, while use_figma gives proper design system component instances that stay linked and updatable. |
| 33 | |
| 34 | **This parallel workflow is MANDATORY when the source contains images.** The `use_figma` Plugin API cannot fetch external image URLs — it can only set image fills by copying `imageHash` values from nodes already in the file. `generate_figma_design` rasterizes all visible images into Figma, providing the hashes you need. If you skip the capture when images are presen |