Pm-claude-skills figma-variant-matrix

Define component variants and states systematically for Figma. Use when asked to plan component variants, define states for a component, set up a Figma variant matrix, or work out what properties a component needs before building it. Produces a complete variant matrix with all properties, values, and combinations needed.

install
source · Clone the upstream repo
git clone https://github.com/mohitagw15856/pm-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mohitagw15856/pm-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/pm-figma/skills/figma-variant-matrix" ~/.claude/skills/mohitagw15856-pm-claude-skills-figma-variant-matrix && rm -rf "$T"
manifest: plugins/pm-figma/skills/figma-variant-matrix/SKILL.md
source content

Figma Variant Matrix Skill

Defines all variants, properties, and states a component needs before building it in Figma — preventing missing variants discovered after the component is already used across 40 screens.

Required Inputs

  • Component name (Button, Card, Input, Badge, Navigation item, etc.)
  • Component purpose (what does it do, where is it used?)
  • Platform (iOS / Android / Web / Multi-platform)
  • Design system context (standalone / part of existing system)

Output Structure

1. Component Overview

Name, category (Interactive/Display/Layout/Form/Navigation/Feedback), used in contexts.

2. Variant Properties

PropertyValuesNotes
TypePrimary, Secondary, Tertiary, Destructive
SizeLarge, Medium, Small
StateDefault, Hover, Active, Disabled, Loading
IconNone, Leading, Trailing, Only

Total combinations: [N]. Flag if over 50 — consider splitting into multiple components.

3. State Definitions

For each state, list only what changes from Default:

  • Default: [Full visual spec]
  • Hover (web): [Delta from default]
  • Active/Pressed: [Delta]
  • Disabled: [Delta — use layer-level properties, not opacity on whole component]
  • Loading: [What replaces label, interactive during loading?]
  • Error (forms): [Border colour, helper text, icon changes]

4. Anatomy Breakdown

Layer namePurposeRequired?Notes
containerBackground and boundsYes
labelTextConditionalHide when icon-only
icon-leadingLeading icon slotNo

5. Token Mapping

PropertyTokenFallback
Background defaultcolor.brand.primary#hex
Border radiusradius.medium8px

6. Build Order

  1. Default state, most common variant
  2. Convert to component, add properties
  3. Size variants
  4. State variants
  5. Type variants
  6. Icon slot variants last

Quality Checks

  • All interactive states defined
  • Total variant count calculated, flagged if over 50
  • Every layer named semantically
  • Token mapping covers all visual properties
  • Disabled state uses layer-level properties not opacity

Example Trigger Phrases

  • "Define the variants for a [component] in Figma"
  • "What states does my [component] need?"
  • "Help me plan the variant matrix for [component]"
  • "Set up the Figma properties for a [button/card/input]"
  • "What are all the combinations I need for my [component]?"