Help us improve
Share bugs, ideas, or general feedback.
Pushes tokens from DTCG/Tailwind/config into Figma variables. Safe re-imports update instead of duplicating. Works on any Figma plan.
npx claudepluginhub southleft/figma-console-mcp-skills --plugin figma-console-mcp-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/figma-console-mcp-skills:figma-import-tokensThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create and update Figma variables from a token source (DTCG `tokens.json`, a Tailwind/SCSS export, or
Syncs design tokens between code and Figma using Variables API or Tokens Studio plugin. Use when establishing Figma-to-code workflows, exporting Figma tokens, or setting up design-development handoff.
Bootstraps a complete Figma design-token system in one atomic step: creates a variable collection, modes, and all variables with per-mode values. Use when starting a token system from scratch.
Syncs design tokens between code and Figma variables with drift reporting, mandatory approval before writes, safe delta apply, and persisted reports.
Share bugs, ideas, or general feedback.
Create and update Figma variables from a token source (DTCG tokens.json, a Tailwind/SCSS export, or
a plain token object). Aliases and multi-mode values are supported. Re-running is safe: variables are
matched by saved Figma id → key → exact name, so an update edits in place rather than duplicating.
use_figma rules — load the official figma-use skill first; it is the full Figma Plugin API reference. Essentials these scripts rely on: plain JS with top-level await + return (no IIFE, no figma.closePlugin(); console.log is not returned), inputs inlined as const at 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).figma-export-tokens.figma-export-tokens produced), run the bundled parser instead of flattening by hand:
node scripts/parse-tokens.mjs tokens.tokens.json --default-mode Light --collection Brand
# --strip-prefix "ds-" drops a leading name prefix on import (e.g. ds-color/x → color/x)
It prints the exact COLLECTION_NAME / MODES / TOKENS constants to paste into the apply script
— handling $type→Figma type, {ref} aliases, multi-mode ($extensions…modes), dimension unit
stripping, and variableId round-trip. For non-DTCG sources (a Tailwind/SCSS export), export to
DTCG first or hand-build the TOKENS array:
{ name: "Color/Brand/Primary", type: "COLOR"|"FLOAT"|"STRING"|"BOOLEAN", values: { <mode>: literal | { reference: "{Color.Brand.500}" } }, figmaVariableId? }.scripts/apply-tokens.js and run it via use_figma
(skillNames: "figma-import-tokens"). It runs two passes — literals first, then aliases — and
returns { created, updated, errors, variableIds }.errors. Run a read-back (the
figma-export-tokens read script or get_variable_defs) to confirm values landed.createVariableAlias. The script
handles this; don't collapse it into one pass.{r,g,b,a} 0–1 automatically.ALL_SCOPES, which pollutes every picker. After import,
consider setting variable.scopes (see figma-manage-variables) to the right surfaces.figma-export-tokens is the happy path —
the stashed variableId makes matching exact.