Skip to main content

design-extract

Extract design tokens (color / typography / spacing) from imported source code, screenshots, or Figma exports into the canonical token bag token-map consumes.

Zur Installation springen

Quellinformationen

Repository
nexu-io/open-design
Letzte Quellaktivität
18. August 2026 um 07:09
Erkannte Sprache von SKILL.md
Englisch
Sterne
96.674
Forks
11.234

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
design-extract
description
Extract design tokens (color / typography / spacing) from imported source code, screenshots, or Figma exports into the canonical token bag token-map consumes.
od
{"scenario":"code-migration","mode":"extract"}
# Design extract Spec §10 / §21.3.2: tokens scattered across a repo's CSS / theme files / Tailwind config / styled-components helpers / SCSS partials need to be lifted into one bag before `token-map` can crosswalk them onto the active OD design system. This atom does the lifting; the input shape is intentionally generic so the same atom serves both code-migration and figma-migration when fed different sources. ## Inputs - `code/index.json` from `code-import` (code-migration), OR - `figma/tree.json` from `figma-extract` (figma-migration), OR - A folder of screenshot images (tune-collab quick-tune flows). ## Output ```text project-cwd/ └── code/ └── tokens.json # { colors[], typography[], spacing[], radius[], shadow[] } ``` Each token entry carries: ```jsonc { "kind": "color", "name": "primary-500", // optional source name "value": "#5b8def", // canonical value "sources": ["styles/global.css:42", "tailwind.config.js:24"], "usage": ["Header.tsx", "Footer.tsx"] } ``` `sources[]` and `usage[]` are the audit trail `token-map.unmatched.json` references when a target token can't be found. ## Convergence The atom completes when `code/tokens.json` exists. Empty token bags emit a warning event but do not abort — `token-map` handles the empty case by skipping its mapping pass. ## Anti-patterns the prompt fragment forbids - Hard-coded hex values inside JSX literals (`color: '#fff'`) are tokens for this atom's purposes; record them with `kind:'color'` and a synthetic name so they don't disappear into the noise. - Tailwind utility scans must dedupe palette references against the active theme — never list `bg-blue-500` and `bg-blue-600` as one token. ## Status Implemented by the daemon runner in `apps/daemon/src/plugins/atoms/design-extract.ts`. It scans the indexed source files, extracts CSS, Tailwind, and JavaScript token evidence, and writes `code/tokens.json`.
Auf GitHub ansehen