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.

설치로 이동

소스 정보

저장소
nexu-io/open-design
최근 소스 활동
2026년 8월 18일 07:09
감지된 SKILL.md 언어
영어
스타
97,471
포크
11,317

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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`.
GitHub에서 보기