figma-extract
Pull a Figma file's node tree, design tokens, and embedded assets into the project cwd as a structured snapshot.
- License 许可
- Apache-2.0
- 最近更新
- 2026-10-01
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- od
- { "mode": "extract", "scenario": "figma-migration" }
- name
- figma-extract
- description
- Pull a Figma file's node tree, design tokens, and embedded assets into the project cwd as a structured snapshot.
02 资源文件 1
- 参考文档open-design.json905 B
03 SKILL.md 正文
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:
project-cwd/
├── figma/
│ ├── tree.json # canonical node tree (id / type / parent / children / box / fills / text)
│ ├── tokens.json # color + typography + spacing tokens lifted off the file
│ ├── assets/ # rasterised exports of every leaf node that the file marks for export
│ │ └── <node-id>.<png|svg|webp>
│ └── meta.json # { fileUrl, version, lastModified, exportedAt, atomDigest }
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
componentReflinks sotoken-mapcan 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.
04 同仓库更多 Skills
Beta Skill
Instruction-only fixture skill.
Alpha Skill
First fixture skill with a runnable demo.
Deck One
A small deck template fixture.
youtube-clipper
YouTube clip generation and editing with automated workflows — pull source video, slice highlights, add captions, and export.
writing-guidelines
Review docs/prose for Writing Guidelines compliance. Use when asked to "review my docs", "check writing style", "audit prose", "review docs voice and tone", or "check this page against the writing handbook".
wpds
WordPress Design System. Apply WordPress's official design tokens, typography, and component patterns to themes and sites.