Bitwarden Designer
Bitwarden Dev Ops Engineer
Bitwarden Product Analyst
Bitwarden Tech Lead
Bitwarden Testing Tools
Claude Config Validator
Claude Retrospective
59 chapters · 270 min
Bitwarden Design Tools
Chapter 27 of 59
Read and inspect Figma designs via the Dev Mode MCP server — selects the right tool, parses Figma URLs into fileKey and nodeId, and turns design context into useful input for…
4 minutes · 976 words · 10 sections
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.
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.
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 Figma MCP server exposes many tools. Pick the smallest one that answers the question.
| Job to be done | Tool | Notes |
|---|---|---|
| Read a frame’s design context (code + screenshot + metadata) | get_design_context | Most common entry point. Accepts a framework parameter; defaults to React + Tailwind. |
| Get just the structural outline | get_metadata | Sparse XML of layer IDs, names, types, positions, sizes. Cheap. |
| Get just the rendered image | get_screenshot | Visual reference without the code or token noise. |
| Extract design tokens used in selection | get_variable_defs | Variables and styles — colors, spacing, typography. |
| Discover available libraries on the file | get_libraries | Shows which subscribed/available design libraries are linked. |
| Find a component in the design system | search_design_system | Text query against components, variables, styles. |
| Inspect a FigJam board | get_figjam | Same role as get_metadata but for FigJam content. |
| Identify the authenticated Figma user | whoami | Useful when permission / seat type matters. |
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.)
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.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.get_screenshot for human reference, get_metadata for machine reasoning. Don’t
load both unless both are needed.figma-to-angular in the clients repo. This skill stops at extracted
design context.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.Before fetching, surface what you’re about to ask for and why:
“I’ll pull
get_metadatafor that frame first to see the layer structure, thenget_variable_defsfor 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.
When reporting what’s in a Figma file, structure the response as:
references/setup.md — installing and authenticating the Figma Dev Mode MCP server
(desktop vs. remote), seat-type requirements, and troubleshooting unavailable tools.developers.figma.com/docs/figma-mcp-server/tools-and-prompts/ (opens in a new tab) —
the source of truth for tool parameters, return shapes, and desktop-vs-remote availability.Install this repository
npx skills add bitwarden/ai-plugins/plugin marketplace add bitwarden/ai-pluginsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Read and inspect Figma designs via the Dev Mode MCP server — selects the right tool, parses Figma URLs into fileKey and nodeId, and turns design context into useful input for critique, copy review, handoff prep, and Design System work.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
Skill,mcp__figma__get_design_context,mcp__figma__get_metadata,mcp__figma__get_screenshot,mcp__figma__get_variable_defs,mcp__figma__get_libraries,mcp__figma__search_design_system,mcp__figma__get_figjam,mcp__figma__whoami,mcp__figma__get_code_connect_map,mcp__figma__get_code_connect_suggestions,mcp__figma__get_context_for_code_connectplugins/bitwarden-design-tools/skills/using-figma/SKILL.mdmain, last pushed 8 August 2026.SKILL.md, not by matching a directory convention. 13 distinct layouts observed: plugins/bitwarden-atlassian-tools/skills/*/SKILL.md, plugins/bitwarden-code-review/skills/*/SKILL.md, plugins/bitwarden-delivery-tools/skills/*/SKILL.md, plugins/bitwarden-design-tools/skills/*/SKILL.md, plugins/bitwarden-designer/skills/*/SKILL.md, plugins/bitwarden-devops-engineer/skills/*/SKILL.md, plugins/bitwarden-product-analyst/skills/*/SKILL.md, plugins/bitwarden-security-engineer/skills/*/SKILL.md, plugins/bitwarden-shepherd/skills/*/SKILL.md, plugins/bitwarden-tech-lead/skills/*/SKILL.md, plugins/bitwarden-testing-tools/skills/*/SKILL.md, plugins/claude-config-validator/skills/*/SKILL.md, plugins/claude-retrospective/skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Bitwarden, declaring 16 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./bitwarden/ai-plugins.md, and each chapter at its own .md URL.1 file · 3 KB
Everything this skill ships beside its prose. All of it is set here, as a subchapter of chapter 27.
Documentation the agent loads on demand, rather than up front.