using-figma

작성자: bitwarden

Dev Mode MCP 서버를 통해 Figma 디자인을 읽고 검사합니다 — 적절한 도구를 선택하고, Figma URL을 fileKey와 nodeId로 파싱하며, 디자인 컨텍스트를…

npx skills add https://github.com/bitwarden/ai-plugins --skill using-figma

Using Figma via the Dev Mode MCP Server

This skill grounds the designer in the Figma Dev Mode MCP server — Figma's official MCP that exposes design context, variables, screenshots, metadata, and design-system search to Claude. Apply it whenever a task needs to read a Figma design — extract structure, tokens, screenshots, or strings. Composing skills like design-review, content-style-guide, preparing-design-handoff, and evolving-design-system-components call into here whenever a Figma file is referenced.

The Figma MCP server also exposes write tools (creating files, uploading assets, generating diagrams, mapping Code Connect, mutating Figma objects). Those are intentionally out of scope for this skill — its allowed-tools is read-only. If a task genuinely needs a Figma mutation, invoke the underlying MCP tool directly with explicit user consent rather than extending this skill's surface.

Prerequisite: the MCP server must be installed

The Figma Dev Mode MCP server is not bundled with this plugin. It is Figma's own product and the user installs and authenticates it themselves — either the desktop server (which requires a Dev or Full seat on a paid Figma plan) or the remote server. If the Figma MCP tools are not available in the session, stop and tell the user to install and authenticate the Figma MCP server before continuing.

Some MCP tools are remote-only and unavailable on the desktop server; check Figma's docs when a tool isn't where you expect it. Detailed setup notes live in references/setup.md.

Anatomy of a Figma URL

Every interaction starts from a Figma URL. The two pieces that matter are the fileKey and the nodeId.

https://www.figma.com/design/<fileKey>/<fileName>?node-id=<nodeIdWithDashes>&...

Conversion: the URL's node-id uses - as the separator (123-456), but the MCP server expects : (123:456). Convert before passing it into a tool.

If the user pastes a URL without a node-id, the URL points at the whole file. Ask which frame they mean before extracting anything — operating on the whole file is rarely what's wanted and returns far too much context.

The read tools, by job to be done

The Figma MCP server exposes many tools. Pick the smallest one that answers the question.

Job to be doneToolNotes
Read a frame's design context (code + screenshot + metadata)get_design_contextMost common entry point. Accepts a framework parameter; defaults to React + Tailwind.
Get just the structural outlineget_metadataSparse XML of layer IDs, names, types, positions, sizes. Cheap.
Get just the rendered imageget_screenshotVisual reference without the code or token noise.
Extract design tokens used in selectionget_variable_defsVariables and styles — colors, spacing, typography.
Discover available libraries on the fileget_librariesShows which subscribed/available design libraries are linked.
Find a component in the design systemsearch_design_systemText query against components, variables, styles.
Inspect a FigJam boardget_figjamSame role as get_metadata but for FigJam content.
Identify the authenticated Figma userwhoamiUseful when permission / seat type matters.

Code Connect tools (read-only)

These map Figma components to their code counterparts. Mostly relevant inside evolving-design-system-components; rarely needed for critique or copy review.

  • get_code_connect_map — returns existing mappings, source files, and snippets for selected instances.
  • get_code_connect_suggestions — suggested mappings for selected components.
  • get_context_for_code_connect — property definitions and variant options for a component.

(The two write Code Connect tools — add_code_connect_map and send_code_connect_mappings — are out of scope for this skill. Invoke them directly with explicit user consent if needed.)

Decision rules

  • Don't reach for get_design_context by reflex. It returns code and screenshots even when the question is "what color is this background" — get_variable_defs answers that in a fraction of the context.
  • Start with get_metadata for orientation. When the goal is "tell me what's in this frame", the metadata XML is cheaper than full context and usually enough to pick the next move.
  • Use get_screenshot for human reference, get_metadata for machine reasoning. Don't load both unless both are needed.
  • Don't generate code from this skill. Production code generation belongs in repo-specific output skills like figma-to-angular in the clients repo. This skill stops at extracted design context.

Composing with other skills

  • design-review. When critiquing a design, start with get_screenshot + get_metadata to orient. Pull get_variable_defs if tokens are part of the critique (off-system colors, inconsistent spacing). Only escalate to get_design_context when the code-shape itself is the question.
  • content-style-guide. Use get_design_context or get_metadata to surface every user-visible string in a frame, then walk each string through the style guide. Do not rewrite Figma copy from inside this skill — return findings with proposed alternatives and let the designer apply.
  • preparing-design-handoff. Use get_metadata to verify the file has the expected Ready-for-Dev sections with names aligned to engineering stories. Use get_variable_defs to confirm tokens are library-bound rather than raw hex.
  • evolving-design-system-components. Use search_design_system and get_libraries before proposing a new pattern — most "we need this new thing" cases turn out to be "this thing exists in the library and we didn't know." Use the Code Connect read tools when the question crosses into how a Figma component maps to its code counterpart.

Asking the user before extracting

Before fetching, surface what you're about to ask for and why:

"I'll pull get_metadata for that frame first to see the layer structure, then get_variable_defs for the tokens it uses — that should answer the spacing question without loading the full design context. OK?"

This is faster than apologizing for an over-broad call later and helps the designer learn which MCP tool answers their kind of question.

Output format for Figma extractions

When reporting what's in a Figma file, structure the response as:

  1. Frame and stage — file name, frame name, stage if known (30/60/90).
  2. Structure — layer outline at the level relevant to the question (don't paste raw XML).
  3. Tokens and library bindings — what's bound to the design system vs. what's a raw value.
  4. User-visible strings (when copy is part of the task) — flagged with content-style-guide findings.
  5. Open questions — anything ambiguous in the file that the designer should clarify before the work moves forward.

Additional resources

  • references/setup.md — installing and authenticating the Figma Dev Mode MCP server (desktop vs. remote), seat-type requirements, and troubleshooting unavailable tools.
  • Figma's canonical per-tool reference: developers.figma.com/docs/figma-mcp-server/tools-and-prompts/ — the source of truth for tool parameters, return shapes, and desktop-vs-remote availability.

bitwarden의 다른 스킬

figma-to-angular
bitwarden
이 스킬은 Figma 디자인 스펙을 Bitwarden Clients 모노레포 내에서 Storybook 스토리와 함께 완전히 구현된 Angular 컴포넌트로 변환합니다. 출력물은 모든 코드베이스 규칙을 따르면서 시각적으로 디자인과 일치해야 합니다.
force-multiplier
bitwarden
하나의 의도를 여러 대상에 동시에 적용합니다 — Bitwarden 생태계 전반의 저장소 플릿, 또는 모노레포 내 많은 프로젝트 — N개의 일관된 작업으로, …
analyzing-git-sessions
bitwarden
특정 기간이나 커밋 범위 내의 Git 커밋과 변경 사항을 분석하여 코드 리뷰, 회고, 작업 로그 또는 세션을 위한 구조화된 요약을 제공합니다.
coordinating-cross-team-breakdown
bitwarden
크로스 팀 리뷰 및 Bitwarden 기술 분석에 대한 승인을 조정합니다. 영향을 받는 팀을 식별하고, 파트 3 승인 테이블을 작성하며, 후속 조치를 진행할 때 사용하세요.
assessing-jira-issue-relevance
bitwarden
사용자가 개별 Jira 이슈 키를 제공하고 그것이 여전히 관련이 있는지, 여전히 적용 가능한지, 여전히 보류 중인지, 여전히 버그인지, 수정되었는지, 또는 …인지 물을 때 사용합니다.
assessing-test-coverage
bitwarden
특정 변경(PR, Jira 키, Tech Breakdown 문서, Testmo CSV, 변경된 경로 또는 명명된 항목)에 대해 이미 존재하는 테스트 커버리지를 파악할 때 사용합니다.
retrospecting
bitwarden
Claude Code 세션에 대한 포괄적인 분석을 수행하며, git 히스토리, 대화 로그, 코드 변경 사항을 검토하고 사용자 피드백을 수집하여 생성합니다…
reviewing-incremental-changes
bitwarden
이미 코멘트가 달린 PR을 재검토하거나 초기 리뷰 후 개발자의 변경 사항에 응답할 때 이 스킬을 사용하세요. PR 스레드가 존재하거나...