Define component variants and states systematically
Figma Variant Matrix Skill

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.
--- name: figma-variant-matrix description: "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." --- # 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
Overview
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.
Manual install (npx, ZIP)
npx skills add mohitagw15856/pm-claude-skills --skill figma-variant-matrix -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/mohitagw15856/pm-claude-skills/tar.gz/f6ca79348c55 \
| tar -xz -C ~/.claude/skills --strip-components=2 pm-claude-skills-f6ca79348c55/skills/figma-variant-matrixNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/a265e4f8ae3010b4f939/figma-variant-matrix.zip" -OutFile "$env:TEMP\figma-variant-matrix.zip"; Expand-Archive "$env:TEMP\figma-variant-matrix.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md3.4 KB
Read the files here
mohitagw15856/
Show the full text86 lines
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
| Property | Values | Notes |
|---|---|---|
| Type | Primary, Secondary, Tertiary, Destructive | |
| Size | Large, Medium, Small | |
| State | Default, Hover, Active, Disabled, Loading | |
| Icon | None, 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 name | Purpose | Required? | Notes |
|---|---|---|---|
| container | Background and bounds | Yes | |
| label | Text | Conditional | Hide when icon-only |
| icon-leading | Leading icon slot | No |
5. Token Mapping
| Property | Token | Fallback |
|---|---|---|
| Background default | color.brand.primary | #hex |
| Border radius | radius.medium | 8px |
6. Build Order
- Default state, most common variant
- Convert to component, add properties
- Size variants
- State variants
- Type variants
- 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
Anti-Patterns
- Do not create a variant matrix with properties that overlap or conflict — each property must be independently variable
- Do not use opacity for disabled states — disabled states must use layer-level properties, not opacity
- Do not enumerate every mathematical combination if many are invalid — document only valid, buildable combinations
- Do not define variants without considering responsive behaviour — specify which properties change across screen sizes
- Do not produce a matrix without Figma implementation guidance — variant naming conventions must follow Figma's property system
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]?"
| 1 | |
| 2 | name figma-variant-matrix |
| 3 | description "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." |
| 4 | |
| 5 | |
| 6 | # Figma Variant Matrix Skill |
| 7 | |
| 8 | 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. |
| 9 | |
| 10 | ## Required Inputs |
| 11 | |
| 12 | **Component name** (Button, Card, Input, Badge, Navigation item, etc.) |
| 13 | **Component purpose** (what does it do, where is it used?) |
| 14 | **Platform** (iOS / Android / Web / Multi-platform) |
| 15 | **Design system context** (standalone / part of existing system) |
| 16 | |
| 17 | ## Output Structure |
| 18 | |
| 19 | ### 1. Component Overview |
| 20 | Name, category (Interactive/Display/Layout/Form/Navigation/Feedback), used in contexts. |
| 21 | |
| 22 | ### 2. Variant Properties |
| 23 | |
| 24 | | Property | Values | Notes | |
| 25 | |---|---|---| |
| 26 | | Type | Primary, Secondary, Tertiary, Destructive | | |
| 27 | | Size | Large, Medium, Small | | |
| 28 | | State | Default, Hover, Active, Disabled, Loading | | |
| 29 | | Icon | None, Leading, Trailing, Only | | |
| 30 | |
| 31 | Total combinations: [N]. Flag if over 50 — consider splitting into multiple components. |
| 32 | |
| 33 | ### 3. State Definitions |
| 34 | |
| 35 | For each state, list only what changes from Default: |
| 36 | Default: [Full visual spec] |
| 37 | Hover (web): [Delta from default] |
| 38 | Active/Pressed: [Delta] |
| 39 | Disabled: [Delta — use layer-level properties, not opacity on whole component] |
| 40 | Loading: [What replaces label, interactive during loading?] |
| 41 | Error (forms): [Border colour, helper text, icon changes] |
| 42 | |
| 43 | ### 4. Anatomy Breakdown |
| 44 | |
| 45 | | Layer name | Purpose | Required? | Notes | |
| 46 | |---|---|---|---| |
| 47 | | container | Background and bounds | Yes | | |
| 48 | | label | Text | Conditional | Hide when icon-only | |
| 49 | | icon-leading | Leading icon slot | No | | |
| 50 | |
| 51 | ### 5. Token Mapping |
| 52 | |
| 53 | | Property | Token | Fallback | |
| 54 | |---|---|---| |
| 55 | | Background default | color.brand.primary | #hex | |
| 56 | | Border radius | radius.medium | 8px | |
| 57 | |
| 58 | ### 6. Build Order |
| 59 | Default state, most common variant |
| 60 | Convert to component, add properties |
| 61 | Size variants |
| 62 | State variants |
| 63 | Type variants |
| 64 | Icon slot variants last |
| 65 | |
| 66 | ## Quality Checks |
| 67 | [ ] All interactive states defined |
| 68 | [ ] Total variant count calculated, flagged if over 50 |
| 69 | [ ] Every layer named semantically |
| 70 | [ ] Token mapping covers all visual properties |
| 71 | [ ] Disabled state uses layer-level properties not opacity |
| 72 | |
| 73 | ## Anti-Patterns |
| 74 | |
| 75 | [ ] Do not create a variant matrix with properties that overlap or conflict — each property must be independently variable |
| 76 | [ ] Do not use opacity for disabled states — disabled states must use layer-level properties, not opacity |
| 77 | [ ] Do not enumerate every mathematical combination if many are invalid — document only valid, buildable combinations |
| 78 | [ ] Do not define variants without considering responsive behaviour — specify which properties change across screen sizes |
| 79 | [ ] Do not produce a matrix without Figma implementation guidance — variant naming conventions must follow Figma's property system |
| 80 | |
| 81 | ## Example Trigger Phrases |
| 82 | "Define the variants for a [component] in Figma" |
| 83 | "What states does my [component] need?" |
| 84 | "Help me plan the variant matrix for [component]" |
| 85 | "Set up the Figma properties for a [button/card/input]" |
| 86 | "What are all the combinations I need for my [component]?" |
Details
- Updated
- Sep 23, 2026
- License
- MIT
- Stars on the repo
- ★ 1,395
- Checked
- Source
- mohitagw15856/pm-claude-skills ↗
- Creator
- mohitagw15856 · 193 listings
Made with figma-variant-matrix


Similar skills
See all →
SkillDesign, redesign, shape, critique, audit, polish, clarifyImpeccable
SkillApple's approach to interface design and fluidApple design
SkillBuild an animation from scratchBuilding Animations
SkillRenders a component you choose in every stateBreak
SkillReviews your work across multiple categories like UIChange review
SkillCraft-first interface design for dashboards, admin panelsThe ProblemMore from mohitagw15856
SkillDesign a 360-degree feedback survey or write a structured360-Degree Feedback Template Skill
SkillDesign statistically rigorous A/B tests for product featuresA/B Test Planner Skill
SkillGenerate a WCAG 2.2 accessibility audit checklistAccessibility Audit Skill
SkillBuild a structured account plan for any key customerAccount Plan Skill
SkillOptimize an article for Answer Engine Optimization so AIAEO Optimizer Skill
SkillConduct a structured ethical review of an AI or ML featureAI Ethics Review Skill