figma-generate-design
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
Skill by lightspeedwp
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lightspeedwp-figma-generate-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, writing, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
figma-generate-design- Description
- Use 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', 'build a landing page in Figma', 'update the Figma screen to match code', 'convert this modal/dialog/drawer/panel to Figma'. This is the preferred workflow skill whenever the user wants to build or update a full page, modal, dialog, drawer, sidebar, panel, or any composed multi-section view in Figma from code or a description. Discovers design system components, variables, and styles from Code Connect files, existing screens, and library search, then imports them and assembles views incrementally section-by-section using design system tokens instead of hardcoded values.
- License
- GPL-3.0
- Instructions
- 493 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- componentization.md · references/
- discover-product-font.md · references/
SKILL.md (first lines)
# Build / Update Screens and Views from Design System
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.
**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.
**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.
## Skill Boundaries
- 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.
- If the user wants to create **new reusable components or variants**, use [figma-use](../figma-use/SKILL.md) directly.
- If the user wants to write **Code Connect mappings**, switch to [figma-code-connect](../figma-code-connect/SKILL.md).
## Prerequisites
- Figma MCP server must be connected
- The target Figma file must have a published design system with components (or access to a team library)
- 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`.
- Source code or description of the screen/view to build/update
## Parallel Workflow with generate_figma_design (Web Apps Only)
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:
1. **In parallel:**
- Start building the screen using this skill's workflow (use_figma + design system components) against the target Figma file (`fileKey`).
- 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.
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).
3. **Once confirmed looking good:** Delete the `generate_figma_design` output — it was only used as a visual reference.
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.
**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 present, image frames will be left blank.
For non-web apps (iOS, Android, etc.) or when updating existing screens, use the standard workflow below.
## Required Workflow
**Follow these steps in order. Do not skip steps.**
> **Hard gates — forbidden shortcuts:**
>
> - **Forbidden:** `search_design_system` for component keys until 2a-i is complete and 2a-ii is attempted or logged N/A (e.g. "empty file, no existing screens").
> - **Forbidden:** Any `use_figma` call that mutates the canvas (Step 3+) until all Step 2 rows in the checklist below are filled in.
### Step 1: Understand the Deliverable
Before touching Figma, understand what you're building:
1. If building from code, read the relevant source files to understand the structure, sections, and which components are used.
2. Identify the major sections of the view (e.g., for a page: Header, Hero, Content Panels, Footer; for a modal: Title Bar, Form Sections, Action Bar; for a sidebar: Navigation, Content Area, Footer Actions).
3. For each section, list the UI components involved (buttons, inputs, cards, navigation pills, accordions, etc.).
4. **Identify the product's font family from the source. Do not default to Inter.** Find *which* typeface the product uses before writing any script. See [references/discover-product-font.md](references/discover-product-font.md) for where to look (CSS variables, component files) and how to resolve messy Figma font names.
5. **Check whether the view contains any images** (e.g., `<img>`, `<Image>`, background images, product photos, avatars, icons loaded from URLs). If it does and this is a web app, you **must** run the parallel `generate_figma_design` capture workflow — start it immediately alongside Step 2 so the capture runs while you discover components. See "Parallel Workflow with generate_figma_design" above.
### Step 2: Collect Component Keys, Variables, and Styles
You need three things from the design system: **components** (buttons, cards, etc.), **variables** (colors, spacing, radii), and **styles** (text styles, effect styles like shadows). Don't hardcode hex colors or pixel values when design system tokens exist.
#### 2a: Discover components
**2a-i — REQUIRED: Check Code Connect for needed components.** Starting from the component list you built in Step 1, check whether each component has a Code Connect file in the codebase. Code Connect files live next to the component source and are named by platform:
- **TypeScript/JS**: `*.figma.ts`, `*.figma.js`
- **React (parser-based)**: `*.figma.tsx`
- **Kotlin/Compose**: `.kt` files containing `@FigmaConnect`
- **Swift**: `.swift` files containing `FigmaConnect`
For each component you need (e.g., Button, Card, Input), search for its Code Connect file — glob or grep by component name (e.g., `**/Button.figma.tsx`, `**/Card.figma.ts`). Only read files that match components you actually need.
From each matching Code Connect file, extract the Figma component URL. Parse `fileKey` and `nodeId` from the URL (convert hyphens to colons: `123-456` → `123:456`). Then resolve component keys via `use_figma`:
**Example:** Code Connect file contains `// url=https://figma.com/design/ABC123/File?node-id=609-35535`. Parse `fileKey` = `ABC123`, `nodeId` = `609:35535`. Run `use_figma` against the **library file** (fileKey `ABC123`, not the target file) to resolve the key:
```js
const node = await figma.getNodeByIdAsync("609:35535");
const set = node?.parent?.type === "COMPONENT_SET" ? node.parent : node;
return { componentKey: set.key };
```
Batch multiple lookups in a single call. Use the returned keys with `importComponentSetByKeyAsync()` in Step 4.
Mark resolved components. If all components are resolved, skip 2a-ii and 2a-iii. If none of the needed components have Code Connect files, proceed to 2a-ii.
**2a-ii — REQUIRED if unresolved components remain: Inspect existing screens.** Check if the target file already contains screens using the same design system. A single `use_figma` call that walks an existing frame's instances gives you an exact, authoritative component map:
```js
// Read-only discovery — skip invisible content inside instances (hidden
// variants etc.) for the hundreds-of-times-faster findAllWithCriteria.
figma.skipInvisibleInstanceChildren = true;
const frame = figma.currentPage.findOne(n => n.name === "Existing Screen");
const uniqueSets = new Map();
frame.findAllWithCriteria({ types: ["INSTANCE"] }).forEach(inst => {
const mc = inst.mainComponent;
const cs = mc?.parent?.type === "COMPONENT_SET" ? mc.parent : null;
const key = cs ? cs.key : mc?.key;
const name = cs ? cs.name : mc?.name;
if (key && !uniqueSets.has(key)) {
uniqueSets.set(key, { name, key, isSet: !!cs, sampleVariant: mc.name });
}
});
return [...uniqueSets.values()];
```
Match results against your unresolved components. Mark any newly resolved. If all components are resolved, skip 2a-iii.
**2a-iii — LAST RESORT: `search_design_system`.** Only if components remain unresolved after completing both 2a-i and 2a-ii.
Before searching, call `get_libraries` to discover which libraries are available for the file. This returns two lists: libraries already added to the file and libraries available to add (community UI kits and org libraries). Each entry includes a `libraryKey` you can pass to `search_design_system` via the `includeLibraryKeys` param to scope your search to specific libraries instead of searching across everything.
```
// Step 1: Discover available libraries
get_libraries({ fileKey })
// Returns: {
// libraries_added_to_file: [...],
// libraries_available_to_add: [...],
// libraries_available_to_add_next_offset: number | nullFrom lightspeedwp/.github, GPL-3.0.
More from lightspeedwp/.github
- 0.649score
google-drive
lightspeedwp
Use connected Google Drive as the single entrypoint for Drive, Docs, Sheets, and Slides work.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
lightspeed-ai-readiness-orchestrator
lightspeedwp
route lightspeed ai readiness client projects into the correct workflow, ask clarifying questions, enforce the sequence readiness, governance discovery…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
documents
lightspeedwp
Create, edit, redline, and comment on `.docx`, Word, and Google Docs-targeted document artifacts inside the container, with a strict render-and-verify workflow.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
google-docs
lightspeedwp
Connector-first Google Docs creation and editing in local Codex plugin sessions, with direct native create and batchUpdate workflows for simple docs…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
gmail
lightspeedwp
Manage Gmail inbox triage, mailbox search, thread summaries, action extraction, reply drafting, and email forwarding through connected Gmail data.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
google-sheets
lightspeedwp
Analyze and edit connected Google Sheets with range precision.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
content-collection-planner
lightspeedwp
create tailored content collection checklists, content gap reports, client request emails and downloadable folder structures for lightspeed website…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
ai-readiness-assessor
lightspeedwp
assess website ai readiness for lightspeed client projects using checklist answers, website urls, audit exports, discovery notes or uploaded evidence.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
gh-address-comments
lightspeedwp
Address actionable GitHub pull request review feedback.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
ai-chatbot-planner
lightspeedwp
plan bounded website chatbots for lightspeed client projects, including chatbot purpose, audience, approved sources, exclusion lists, behaviour rules…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
ai-governance-documentor
lightspeedwp
create ai governance discovery summaries, lightweight ai policies, operational governance guides, governance matrices, role maps and approved prompt templates…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
lightspeed-claim-register-auditor
lightspeedwp
validate proof, statistics, outcomes and marketing claims before publication for lightspeed wordpress, woocommerce, ai-readiness, publishing, tourism and…
SkillAFreshness: A★ 20Claude Code +9
Signals
- Stars
- 20
- Forks
- 3
- Open issues
- 1,176
- Last commit (this folder)
- Oct 2, 2026 (26 days ago)
- Last release
- Aug 18, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/lightspeedwp/.github
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.825score
figma-generate-design
figmaOfficial
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
SkillAFreshness: A★ 2.1KClaude Code +9 - 0.315score
figma-generate-design
Moliboy5000
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
SkillBFreshness: BClaude Code +9 - 0.285score
figma-generate-design
Moliboy5000
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
SkillCFreshness: CClaude Code +9 - 0.282score
figma-generate-design
TechsioCZ
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
SkillCFreshness: CClaude Code +9 - 0.282score
figma-generate-design
TechsioCZ
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
SkillCFreshness: CClaude Code +9 - 0.279score
figma-generate-design
uset82
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma.
SkillCFreshness: CClaude Code +9
More from lightspeedwp
- 0.649score
ai-governance-documentor
lightspeedwp
create ai governance discovery summaries, lightweight ai policies, operational governance guides, governance matrices, role maps and approved prompt templates…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
ai-chatbot-planner
lightspeedwp
plan bounded website chatbots for lightspeed client projects, including chatbot purpose, audience, approved sources, exclusion lists, behaviour rules…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
content-collection-planner
lightspeedwp
create tailored content collection checklists, content gap reports, client request emails and downloadable folder structures for lightspeed website…
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
documents
lightspeedwp
Create, edit, redline, and comment on `.docx`, Word, and Google Docs-targeted document artifacts inside the container, with a strict render-and-verify workflow.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
ai-readiness-assessor
lightspeedwp
assess website ai readiness for lightspeed client projects using checklist answers, website urls, audit exports, discovery notes or uploaded evidence.
SkillAFreshness: A★ 20Claude Code +9 - 0.649score
gh-address-comments
lightspeedwp
Address actionable GitHub pull request review feedback.
SkillAFreshness: A★ 20Claude Code +9
Cite this page
figma-generate-design skill. Agent Mart. https://agentmart.dev/skills/lightspeedwp-figma-generate-design (last updated 2026-10-24)