Agent skill · design visual · nexu-io

figma-extract

Pull a Figma file's node tree, design tokens, and embedded assets into the project cwd as a structured snapshot.

Why this skill is useful

Adds a structured JSON extract of Figma design tokens and assets that the AI wouldn't reliably generate on its own.

What it needs

Requires figma installed locally. Requires figma account access. About 1k tokens when loaded. Last updated 2026-08-07. 84,236 stars on the source repository.

What this skill does

Figma extract Spec §10 / §21.3.1: the figma-migration scenario starts with a Figma file URL + an OAuth token. This atom turns that pair into the authoritative on-disk record subsequent stages (token-map, generate, critique) operate on. Inputs Source Required Notes --- --- --- Figma file URL or node-id yes Provide via the figma-oauth GenUI surface or od plugin apply --input fileUrl=… Figma OAuth token yes Routed through oauth-prompt with oauth.route='connector' and connectorId='figma'; the daemon never stores the token in SQLite Output The atom writes a deterministic, JSON-shaped extract under the project cwd: figma/tree.json is the canonical pivot for every downstream atom. figma/tokens.json is the input to token-map. assets/ is the input to generate's media stage. Convergence The atom completes when figma/tree.json exists and is non-empty. The until evaluator reads figma.tree.nodes >= 1; if the figma file is empty or the OAuth token expired, the atom emits a clear error event and the run aborts (the user fixes auth or picks a different file). Anti-patterns the prompt fragment forbids Synthesising a tree from screenshots when the OAuth path failed — always re-prompt the user; never make up node ids. Dropping unsupported node types silently; record them in meta.json.unsupportedNodes[] so the human can audit gaps. Treating component instances as duplicates; record componentRef links so token-map can de-duplicate at the right boundary. Status Implemented by the daemon runner in apps/daemon/src/plugins/atoms/figma-extract.ts. It fetches and walks the Figma REST tree, records unsupported nodes, lifts tokens, and rasterizes supported assets.

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills nexu-io/figma-extract

View the source on GitHub

Browse the @skills marketplace