Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

cc-figma-tokensCC Figma tokens 搜索

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

396

周安装

17

GitHub Stars

15

下载量

139
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:cc-figma-tokens(CC Figma tokens 搜索)
来源仓库:https://github.com/nvillapiano/component-contracts-figma
仓库路径:skills/cc-figma-tokens
安装命令:
npx skills add https://github.com/nvillapiano/component-contracts-figma --skill cc-figma-tokens
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/nvillapiano/component-contracts-figma --skill cc-figma-tokens

简介

cc-figma-tokens 用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。

  • 适合让 Agent 根据产品场景整理页面结构、生成 UI 方案或改进组件层级。
  • 使用时需结合现有品牌和设计系统,避免仅堆砌装饰元素。
  • 涉及真实页面改动时应通过截图或浏览器预览检查文本溢出和对齐表现。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

cc-figma-tokens — Component Contracts Token Skill

Build Figma variable collections from component-contracts token files. This skill creates the Primitive and Semantic variable collections that all components bind to.

Prerequisites — load these skills first:

  • figma-use — Plugin API syntax rules (mandatory before every use_figma call)
  • figma-generate-library — Design system workflow and variable creation patterns

Always pass skillNames: "cc-figma-tokens" when calling use_figma as part of this skill.


1. Configuration

Before anything else, read .component-contracts from the project root. This file contains all required configuration. Never output FIGMA_ACCESS_TOKEN in any response.

FIGMA_ACCESS_TOKEN=...       # never output this value
FIGMA_FILE_KEY=...           # use for all use_figma calls
TOKENS_DIR=...               # root directory of token files
CONTRACTS_DIR=...            # root directory of contract files

If .component-contracts is missing, tell the user to copy .component-contracts.example and fill in their values before proceeding.


2. Token File Structure

Component-contracts uses W3C DTCG token format organized in two tiers:

{TOKENS_DIR}/
  primitive/
    color.tokens.json
    motion.tokens.json
    shape.tokens.json
    space.tokens.json
    typography.tokens.json
  semantic/
    semantic.tokens.json

Tier 1 — Primitives: Raw values. Named with scale suffixes (color/blue/500, space/4). No aliases. Single mode: Value.

Tier 2 — Semantic: Aliases into Primitives. Named with roles (brand/500, surface/default, text/primary). Single mode: Value.

Read all token files before creating anything in Figma. Build a complete in-memory map of all tokens and their values/aliases before making any use_figma calls.


3. Figma Variable Architecture

Collections

Create exactly two collections in this order:

CollectionModesPurpose
PrimitivesValueRaw token values — never bound directly to components
SemanticValueAliases into Primitives — this is what components bind to

Variable naming

Use / as the group separator, matching W3C DTCG path structure:

Primitives:  color/blue/500, space/4, radius/md
Semantic:    brand/500, surface/default, text/primary, focus/default

Variable scopes

NEVER use ALL_SCOPES. Assign scopes based on the token's semantic role:

Token roleScope
Color — background/fillFRAME_FILL, SHAPE_FILL
Color — textTEXT_FILL
Color — border/strokeSTROKE_COLOR
Color — focus ringFRAME_FILL, SHAPE_FILL, STROKE_COLOR
Spacing — padding, gapGAP
Spacing — border widthSTROKE_WIDTH
Border radiusCORNER_RADIUS
Typography — font sizeFONT_SIZE
Typography — font weightFONT_WEIGHT
Typography — line heightLINE_HEIGHT
Primitives (all)[] — hidden from property panels
Note: HORIZONTAL_PADDING and VERTICAL_PADDING are NOT valid VariableScope enum values in the Figma Plugin API. Use GAP only for all spacing variables.

Code syntax

Every variable MUST have WEB code syntax set. Use the var() wrapper with the CSS custom property name:

Primitive color/blue/500  →  var(--ds-color-blue-500)
Semantic brand/500        →  var(--ds-brand-500)
Semantic surface/default  →  var(--ds-surface-default)

CSS naming convention: --ds-{path-with-dashes} where / becomes -.

ANDROID and iOS do NOT use a var() wrapper.


4. Execution Modes

Default (fast): Present the Phase 0 plan and await approval, then run Phases 1–4 sequentially without stopping. This is the default for all runs.

Debug mode: Stop after each phase and await explicit approval before proceeding. Use when diagnosing issues or validating intermediate output. Activate by including "debug mode" in your prompt.


5. Workflow

Batching requirement (critical for performance)

Create ALL variables in a single use_figma call per collection. Never create variables one at a time or category by category.

  • One use_figma call creates the Primitives collection + all variables
  • One use_figma call creates the Semantic collection + all aliases
  • Do NOT write intermediate state files between variables
  • Do NOT validate between individual variables
  • Validate ONCE after the entire collection is created

Token creation is deterministic and low-risk. The state ledger and intermediate file-writing pattern from figma-generate-library is NOT appropriate here — skip it entirely. Read all token files first, build the complete variable map in memory, then execute in one call per collection.

If a collection exceeds ~80 variables and must be split across two calls, split by category (e.g. color in one call, everything else in another) — never by individual variable.


Phase 0 — Inspect (read-only)

Before creating anything:

  1. Read all token files from TOKENS_DIR
  2. Inspect the Figma file — check for existing variable collections named Primitives or Semantic
  3. If collections exist, check whether this is a create or update operation
  4. Present a summary to the user: token counts per tier, existing vs. new collections, any conflicts
  5. Await explicit user approval before proceeding

Phase 1 — Primitives collection

  1. Read all primitive token files and build complete variable map in memory
  2. Create the Primitives collection with a single Value mode
  3. Create ALL primitive variables in a single use_figma call — color, space, motion, shape, typography
  4. Set scopes to [] on all primitives (hidden)
  5. Set WEB code syntax on all primitives
  6. Validate: get_metadata to confirm variable count matches token file count
  7. In debug mode: Await user checkpoint before proceeding

Phase 2 — Semantic collection

  1. Read semantic token file and resolve all {token.path} references to Primitive variable IDs
  2. Handle creation order — variables that alias other semantic variables (e.g. border/brand → brand/500) must be created after their targets
  3. Create the Semantic collection with a single Value mode
  4. Create ALL semantic variables in a single use_figma call using figma.variables.createVariableAlias
  5. Set scopes based on semantic role (see §3 scope table)
  6. Set WEB code syntax on all semantic variables
  7. Validate: get_metadata — confirm all aliases resolve correctly
  8. In debug mode: Await user checkpoint before proceeding

Phase 3 — Explicit mode assignment

After both collections exist, call setExplicitVariableModeForCollection on every node in the file to force the Value mode. This prevents ghost mode issues where variables appear unresolved.

// Apply to every node recursively
function applyModes(node, collection, modeId) {
  node.setExplicitVariableModeForCollection(collection, modeId);
  if ('children' in node) {
    for (const child of node.children) {
      applyModes(child, collection, modeId);
    }
  }
}

In debug mode: Await user checkpoint before proceeding

Phase 4 — Validation

Run a final validation pass:

  • get_metadata — confirm both collections exist with correct variable counts
  • get_screenshot — visually confirm variables appear correctly in Figma

Return a structured summary:

{
  "collections": {
    "Primitives": { "variableCount": N, "modeCount": 1 },
    "Semantic": { "variableCount": N, "modeCount": 1 }
  },
  "status": "complete"
}

6. Update vs. Create

If variable collections already exist:

  • Add new variables: create and alias, do not touch existing variables
  • Update values: modify the raw value of the Primitive, the Semantic alias chain updates automatically
  • Never delete existing variables without explicit user confirmation — components may be bound to them
  • Use idempotency check before every create: getLocalVariables().find(v => v.name === name && v.variableCollectionId === collId)

7. Known Constraints

  • Always use setSharedPluginData / getSharedPluginData — never setPluginData / getPluginData. The non-shared version uses a debug UUID as the plugin identifier that changes on each tool execution, making stored data permanently unretrievable and causing file bloat. Always use the component_contracts namespace: // CORRECT node.setSharedPluginData('component_contracts', 'dsb_key', value); node.getSharedPluginData('component_contracts', 'dsb_key'); // WRONG — UUID changes per execution, data becomes orphaned node.setPluginData('dsb_key', value);
  • Letter-spacing cannot be stored as a Figma variable — Figma FLOAT variables are unitless integers; em-based letter-spacing values are incompatible. Handle letter-spacing via Text Styles only, not variables.
  • HORIZONTAL_PADDING and VERTICAL_PADDING are not valid VariableScope values — the Plugin API does not expose these as enum members. Use GAP only for all spacing variables.
  • Typography variables — font size and weight can be stored as FLOAT variables. Font family must use a STRING variable.
  • Chained aliases are permitted: Semantic/brand/500 → Primitive/color/blue/500. Do not flatten the chain.
  • Creation order matters for chained semantic aliases — create the aliased variable first. E.g. create brand/500 before border/brand which aliases it.
  • Ghost mode: Figma creates an empty ghost mode automatically when a collection is created. This is expected. Always call explicit mode assignment (Phase 3) to suppress it.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.6%
按下载量换算52

Claude

30.77%
按下载量换算43

Cursor

18.8%
按下载量换算26

Gemini CLI

9.77%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills