southleft/skills-for-figma

export-tokens-figma

Export Figma variables to design token files in DTCG, CSS custom properties, Tailwind v4/v3, SCSS, TypeScript, JSON, Style Dictionary, or Tokens Studio.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/southleft/skills-for-figma --skill export-tokens-figma

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

export-tokens-figma — 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 import-tokens-figma skill.

Workflow

  1. Confirm scope & format. Ask (or infer) the target format (dtcg is the safe default), whether

to split by mode/collection, and the output path. Get the file key from the active Figma file or a URL the user provides.

  1. Read the variables. Run `scripts/read-variables.js` via use_figma

(skillNames: "export-tokens-figma"). It returns the normalized collections/modes/variables tree with hex colors, resolved alias references, scopes, and code syntax.

  1. Save the read output to a file, e.g. variables.json.
  2. Convert — deterministically. Run the bundled converter (Node 18+, zero dependencies). **Do not

hand-write the conversion** — this script is the source of truth and produces identical output every run:

bash
   node scripts/convert-tokens.mjs variables.json --format dtcg --out tokens/
   # --format: dtcg (default) | css-vars | tailwind-v4 | tailwind-v3 | scss | ts-module
   #           | json-flat | json-nested | style-dictionary-v3 | tokens-studio
   #           (aliases: css, tailwind, ts)
   # --out <dir>  write file(s) — tokens-studio writes several; omit to print to stdout
   # --prefix <p>            prefix CSS/SCSS var names
   # --modes Light,Dark      include only these modes (default: all)
   # --collection <substr>   include only collections whose name contains <substr>

This matches the Console figma_export_tokens formatters. It handles exactly what freehand conversion gets wrong: per-type units (opacity/line-height unitless, spacing/radius px); multi-mode output (CSS & Tailwind v4 emit :root + .dark/[data-theme]; TS/JSON emit {mode: value}; SCSS suffixes modes; DTCG keeps them in $extensions); aliases → `var()`/`{ref}`; font-weight names → numbers; DTCG round-trip metadata; and it warns on slug collisions and non-numeric weights. (style-dictionary-v3 and tailwind-v3 use the primary mode, matching the Console — those formats have no native multi-mode encoding.)

  1. Report. Surface the written path(s) and any warnings the converter printed (collisions /

weight issues are real findings about the Figma file, worth flagging to the user).

Notes

documents the formats it emits; it is reference, not a thing to re-implement by hand.

  • Where it runs: read-variables.js runs anywhere via use_figma. convert-tokens.mjs is Node,

so it needs a terminal-capable agent (Claude Code, the Code tab in Claude Desktop, Cursor, Codex, Gemini CLI). In plain Desktop/web chat (no shell), run the converter on your own machine against the saved variables.json, or accept a best-effort inline conversion for DTCG only.

  • Large systems: if the read is huge, scope it to specific collection names before saving.
  • Aliases across collections become var(--…) / {ref} — export all collections together so

those references resolve.

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills
southleft
社区

analyze-component-set-figma

Analyze a Figma COMPONENTSET as a state machine for code generation — extract variant axes (state/size/etc.), map state variants to CSS pseudo-classes (hover→:hover, focus→:focus-visible, disabled→:disabled, error→[aria-invalid]), and compute per-variant visual diffs (only what changes per state). Use when generating an interactive component from a Figma variant set — triggers: 'analyze this component set', 'turn these variants into CSS states', 'generate a button/input/checkbox from Figma varia

安装量
1
GitHub Stars
14
最近更新
6月1日
southleft
社区

annotations-figma

Read and write designer annotations on Figma nodes — node-level design specs that pin properties (fills, width, fontSize, etc.) and carry plain or markdown notes. Use when the user wants to document or inspect interaction specs, animation timings, easing, accessibility requirements, or implementation notes attached directly to a node. Triggers: 'add an annotation', 'annotate this node/component', 'read the annotations on…', 'what specs are pinned to this element', 'list annotation categories', '

安装量
1
GitHub Stars
14
最近更新
6月1日
southleft
社区

audit-accessibility-figma

Deep accessibility scorecard for a single Figma component or component set — state coverage (default/hover/focus/disabled/error/active/loading), focus-indicator quality and contrast, non-color state differentiation, target size, annotation completeness, and color-blind simulation (protanopia/deuteranopia/tritanopia), all rolled into per-category 0–100 scores and prioritized recommendations. Use when the user wants to vet ONE component before shipping it: triggers 'audit this component', 'accessi

安装量
1
GitHub Stars
14
最近更新
6月1日
southleft
社区

check-design-parity-figma

Compare a Figma node's actual specs against a code spec (the values your component renders) and get a 0–100 parity score, a list of discrepancies, and fix suggestions. Use to detect design-to-code DRIFT: triggers 'check design parity', 'does my code match the Figma', 'compare this component to the design', 'is my implementation faithful', 'find differences between design and code', 'verify the build matches Figma', 'design QA against code', 'parity score'. Reads the node's visual / typography /

安装量
1
GitHub Stars
14
最近更新
6月1日