Hermes Wiki

Figma Use Cases — Design System Workflows

One-sentence summary: Beyond drawing diagrams (Tools/Figma), Figma is a collaboration surface between design and engineering — the senior/staff-level leverage is in consuming and contributing to a design system, not just producing visuals.

Existing Tools/Figma note covers Figma as a diagramming/animation tool for explanatory content. This note is a different angle: working inside an existing Figma design system the way a staff/senior engineer would on a product team — reading it, briefing off it, and auditing it.


1. Leveraging an Existing Figma Design System

A mature Figma design system is a library of reusable components, styles (color/type/effect), and variables (design tokens: spacing, color modes, breakpoints) published from a central "library" file and consumed in product files.

What to actually do with one:

  • Dev Mode inspection: click any instance of a component → read the exact spacing, auto-layout rules, and which variant/property is active, plus generated CSS/Tailwind/React/iOS/Android code snippets. This is the fastest way to get accurate implementation values without asking a designer.
  • Trace token → component → screen: a well-run system exposes variables (e.g. color/surface/primary, space/md) that components reference instead of hardcoded values. Understanding this chain tells you what changes are "free" (swap a token, everything updates) vs. what requires a real design change.
  • Component states as a spec: components with defined variants (default/hover/focus/disabled/error/loading) are a checklist — if a state exists in the library but isn't implemented, that's a gap; if your engineering ticket needs a state that doesn't exist in the library, that's a design debt flag, not something to invent ad hoc in code.
  • Library versioning: Figma tracks library publish history — when a component updates, consuming files show an "update available" badge. Treat this the way you'd treat a shared package bump: check the changelog/diff before accepting, since it can silently change spacing/copy across every screen using that component.

Where this transfers beyond one job: any product org above a certain size has some component library (Figma, Storybook-backed, or otherwise) — the skill of reading a design system as source-of-truth, not screenshots, is portable.


2. Creating Component Briefs

A component brief is the artifact that bridges "a designer made something in Figma" and "an engineer builds it correctly" — most useful when a component is new (not yet in the library) or being significantly changed.

A solid brief pulled from Figma includes:

  • Anatomy: named parts of the component (e.g. icon slot, label, trailing action) with the Figma layer names so engineering and design refer to the same terms.
  • Variants & props: every variant combination the component supports (size × state × emphasis), sourced directly from the Figma component's variant properties — don't hand-transcribe, screenshot Dev Mode's variant table.
  • Responsive/Auto Layout behavior: how the component resizes — hug vs. fill, min/max constraints, what happens at narrow widths. Figma's Auto Layout settings map close to 1:1 with CSS Flexbox, so this section can read almost like a spec.
  • Interaction & motion: linked prototype flow (Figma prototyping tab) showing transitions between states, plus timing/easing if Smart Animate was used to mock it.
  • Accessibility requirements: see §3 — folded into the brief, not a separate afterthought.
  • Edge cases called out explicitly: empty state, overflow/truncation, RTL if relevant, long content — these are usually not fully modeled in the Figma file, so the brief is where you flag "designer needs to confirm behavior for X" rather than guessing in code.

Practical tip: link the brief directly to the Figma node (right-click → Copy link to selection) so it stays pinned to the exact frame/version rather than a static export that goes stale.


3. Accessibility (A11y) Audits in Figma

Auditing a design before it's built is far cheaper than auditing shipped code. What's checkable directly in Figma:

  • Color contrast: plugins (Stark, Contrast, A11y — Color Contrast Checker) read actual fill/text colors off the canvas and flag WCAG AA/AAA failures per text layer, including on top of gradients/images.
  • Type scale & minimum sizes: check body text isn't below ~11-12px effective size, and that the type scale has enough contrast in weight/size between hierarchy levels, not just color.
  • Touch/click target size: flag interactive elements below the ~44×44px (iOS) / 48×48px (Android/WCAG) minimum — visible directly from frame dimensions in the Figma layer panel.
  • Focus order & keyboard navigation: Figma prototyping supports marking a tab order on a frame; an audit checks this matches visual/logical reading order, since designers often build in Z-order that doesn't match intended tab order.
  • Semantic/annotation layer: some teams (or plugins like "A11y Annotation Kit") let you overlay ARIA role, heading level, and alt-text annotations directly on frames — this becomes the accessibility brief engineers implement against, instead of accessibility being reverse-engineered post-build.
  • Reduced motion: if Smart Animate/prototyping is used for real production motion specs, note which transitions need a prefers-reduced-motion fallback — this doesn't get caught by any Figma plugin, has to be a manual audit pass.

Output of an audit: not just a pass/fail — a punch-list mapped to specific frames/layers (with links), each tagged to a WCAG success criterion, handed back to design before dev work starts. This is the highest-leverage moment to fix a11y issues because it's a design-time edit, not a code refactor later.


4. Other High-Leverage Use Cases

  • Design token audits: cross-reference Figma variables against the codebase's actual token file (e.g. a Tailwind config or CSS custom properties) to catch drift — tokens renamed/added in Figma but never synced to code, or vice versa.
  • FigJam for cross-functional workshops: separate from the design file — used for architecture/flow whiteboarding with design+eng+product in the room, distinct from Excalidraw/Eraser which are solo/dev-facing.
  • Figma REST API / webhooks for automation: pull component/variable data programmatically (e.g. to auto-generate a token-sync CI check, or notify a Slack channel when a library publishes) — this is where the "applies AI/automation to create business value" framing applies directly: a scripted design-token drift checker is a concrete, demoable artifact.
  • Branching for design system contributions: larger Figma orgs support branch/merge on library files, mirroring a git PR workflow — useful mental model to draw on when explaining or reviewing a proposed component change.

Hermes Wiki