Agent skill · Frontend

figma-export-tokens

Export Figma variables to design token files in DTCG, CSS custom properties, Tailwind v4/v3, SCSS, TypeScript, JSON, Style Dictionary, or Tokens Studio. Use when the user wants to pull design tokens OUT of Figma into code — triggers: 'export tokens', 'export Figma variables', 'generate CSS variables from Figma', 'turn my Figma variables into a tokens.json / Tailwind config / SCSS', 'sync design tokens to code'. Works on ANY Figma plan (reads via the Plugin API, not the Enterprise-only Variables REST API). For the reverse direction (code → Figma) use figma-import-tokens.

southleftgithub.com/southleftGitHub ↗
claude-codeships scriptsMIT
Install
npx skills add southleft/figma-console-mcp-skills --skill figma-export-tokens --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 5 KB
Bundled scripts: yes
Path: skills/figma-export-tokens/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 67
Language: JavaScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# figma-export-tokens — Figma variables → design tokens Read every local variable in a Figma file and emit design-token files. The canonical output is **DTCG** (W3C Design Tokens Community Group JSON); CSS, Tailwind, SCSS, TS, and JSON derive from it. **Why this beats a raw REST export:** Figma's Variables REST API is **Enterprise-only** (`403` on Starter/Pro/Org). This skill reads through the Plugin API via `use_figma`, so it works on **every plan** and resolves aliases + multi-mode values that `get_variable_defs` (default mode only) drops. ## Skill boundaries - **`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). - **Reverse direction** (code → Figma variables) → use the `figma-import-tokens` skill. ## Workflow 1. **Confirm scope & format.** Ask (or infe

What's inside
Steps it walks through
  1. Skill boundaries
  2. Workflow
  3. Notes
Ships with 3 files
  • references/token-formats.md
  • scripts/convert-tokens.mjs
  • scripts/read-variables.js
Commands it runs
node scripts/convert-tokens.mjs variables.json --format dtcg --out tokens/
More from figma-console-mcp-skills
All skills →
About this skill
What does the figma-export-tokens skill do?

Export Figma variables to design token files in DTCG, CSS custom properties, Tailwind v4/v3, SCSS, TypeScript, JSON, Style Dictionary, or Tokens Studio. Use when the user wants to pull design tokens OUT of Figma into code — triggers: 'export tokens', 'export Figma variables', 'generate CSS variables from Figma', 'turn my Figma variables into a tokens.json / Tailwind config / SCSS', 'sync design tokens to code'. Works on ANY Figma plan (reads via the Plugin API, not the Enterprise-only Variables REST API). For the reverse direction (code → Figma) use figma-import-tokens.

How do I install it?

Run `npx skills add southleft/figma-console-mcp-skills --skill figma-export-tokens --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From southleft/figma-console-mcp-skills, a repository with 67 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going