Figma manage variables
Skill southleft/figma-console-mcp-skills/skills/figma-manage-variables
Create, update, rename, delete, and organize Figma variables, collections, and modes — including fast batch create/update, setting scopes, code syntax, and adding theme modes. Use for incremental variable work: triggers 'create a variable', 'batch update variables', 'add a dark mode to my collection', 'rename this variable', 'set variable scopes', 'delete a variable/collection', 'add a mode'. Works on ANY Figma plan. For a from-scratch system use figma-setup-design-tokens; for code↔Figma sync use figma-import-tokens / figma-export-tokens.From its SKILL.md
npx -y skills add southleft/figma-console-mcp-skills --skill figma-manage-variablesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.9 KB, as published. Nobody here has run it
figma-manage-variables — variable / collection / mode CRUD
Incremental, surgical edits to a Figma variable system: create one or many, update values in bulk,
rename, set scopes and code syntax, add/rename modes, and delete. All via use_figma, on any plan.
Skill boundaries
use_figmarules — load the officialfigma-useskill first; it is the full Figma Plugin API reference. Essentials these scripts rely on: plain JS with top-levelawait+return(no IIFE, nofigma.closePlugin();console.logis not returned), inputs inlined asconstat the top of each script, colors in 0–1 range, load fonts before any text op,await figma.getNodeByIdAsync(...), and atomic errors (a failed script applies nothing — read the error, fix, retry).- From-scratch bootstrap →
figma-setup-design-tokens. Code sync →figma-import-tokens/figma-export-tokens.
Workflow
- Identify targets. Most ops need IDs. Get
variableId/modeId/collectionIdfrom thefigma-export-tokensread script orget_variable_defs. Collections can also be looked up by name inside the script. - Pick the operation from references/variable-ops.md — it has a
complete, copy-paste
use_figmasnippet for each: create collection, create variable, batch create, batch update, rename, set scopes, add/rename mode, delete. - Run via
use_figma(skillNames: "figma-manage-variables"). For large value updates usescripts/batch-update-variables.js(10–50× faster than one-call-per-value). - Confirm. Every snippet returns the affected IDs/names. Read back with
get_variable_defsto verify. For deletes, confirm with the user first — removing a collection deletes all its variables and unbinds anything referencing them.
Key rules
- Colors are 0–1 range. Use
hexToRgbfor hex input. - Always set
scopeson new variables — the defaultALL_SCOPESpollutes every picker. - Set code syntax (
setVariableCodeSyntax('WEB', '--token-name')) so design↔code naming lines up. - Renames are safe — they preserve values and existing bindings. Deletes are destructive.
- Aliases: bind one variable to another with
v.setValueForMode(modeId, figma.variables.createVariableAlias(targetVar)).