More screenshots

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    Figma Tokens Architect

    1

    A design system in Figma from whatever you have: a raw mockup, a live build, old files or a half-finished system. Primitives, roles, components and your screens connected to them, checked in every mode

    $15

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    Figma Tokens Architect

    Figma Tokens Architect

    Example session with this skill installed

    This Figma file has four screens of our studio booking app, drawn without any variables or styles. Build our design system in this file from these screens: variables for colours, spacing, radius and type with a light and a dark mode, text styles, the base components (button, input, badge, card), and connect the existing screens to it.

    • Read your context and instructions
    • Compiled the figma tokens architect

    Claude Haiku, with and without the skill, the same request, two runs per arm; one run per arm shown.

    With Figma Tokens ArchitectWithout a skill
    The collectionOne, as asked: 81 primitives in a hidden primitives/ group, 193 roles and component tokens on top of themOne, as asked: 110 variables, each holding its own value
    A button's colourbutton/primary/bg → color/interactive/primary/default → primitives/color/blue/600button-primary-bg = #2563eb
    The brand blueOne primitiveTyped into 5 tokens, in both modes
    The screensColours 142 of 144 (the photo and avatar placeholders left raw, with the reason), sizes 408 of 408, text 75 of 75, shadows 5 of 5; 19 controls swapped for instancesColours 144 of 144, sizes 386 of 408, text 75 of 75, shadows 0 of 5; 19 controls swapped for instances
    Text under AA11 in the mockup, 1 after: a disabled button, exempt. Dark: the same one12 in light, left as drawn and listed; 1 in dark
    Codevar(--orvel-button-primary-bg) on every variableNo code syntax
    Checkstoken-audit.mjs: no problems. dsgraph: 0 errors, 0 warningsdsgraph passes too: DTCG leaves names free. The skill's audit flags 67 of the 110 names, component names in the layer that holds the values, and all 110 values in the pickers

    Both arms did what the screens needed: every colour bound, buttons, badges and inputs swapped for instances. The difference is under the screens. The two runs without the skill share 49 of their 110 names (page-bg and screen-bg, button-tonal and button-soft, chip-selected and chip-active), and button-md-padding-y is 8 px in one of them and 14 px in the other. The two runs with it share 236 of 274; the rest are renames each agent wrote into its plan, such as a tonal button named tertiary in one run and tonal in the other. In their dark modes, the runs without the skill picked a grey per component: the white surfaces became four greys, two of them closer than 0.01 in OKLab. The runs with it generated the dark steps and moved the text roles until they passed on the dark surfaces.

    Small model, one fictional product, two runs per arm, measured by the skill's author. The mockup, the runs and the measurements are in the package's evidence.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    Most design systems start from something that already exists: screens drawn with hard-coded colours, a product that's live, old files, a system someone began and left. Each of them already holds a system, the values the product really uses. This skill collects those values, turns them into Primitives and Semantic roles, builds them in Figma with light and dark modes, text styles and base components, connects the existing screens to them, and checks the result.

    From any starting point. A raw Figma mockup, a running build or its code, old mockups with colour and text styles, a half-finished system. Three collectors record every value by where it sits (page, surface, button, text, border) and every text and icon pair as it renders.

    A plan before anything changes. Near-duplicates merge with a record: eyedropper drift such as #2563EB, #2463EB and #2662EA becomes one value. Primitives are named by family and lightness, roles come from where each value sits, and the dark mode comes from the build's own theme or is generated and moved until every text role passes on the dark surfaces. Every merge and every guess goes to the team.

    Built and connected in Figma. Variables with modes, minimum scopes and code syntax for web, iOS and Android; text and effect styles bound to them; Button, Input, Badge and Card bound to the roles; the screens bound, and their drawn buttons, badges and inputs swapped for instances. When the team wants one collection and component names, it gets them and keeps the layers: button/primary/bg points at color/interactive/primary/default, and the primitives sit hidden in the same collection.

    Three layers, one direction. Primitives hold raw values and stay out of pickers. Semantic names roles, states and layers, and carries the modes. Components bind Semantic through contracts, so a brand colour changes in one place.

    Checked twice. token-audit.mjs checks the Figma side: raw values in roles, component names among roles, two words for one state, "On" text on its fill and text on the default surfaces against WCAG AA in every mode, primitives in pickers. dsgraph checks DTCG validity and the layer rules. figma-check.js reports how much of the screens use the system and the contrast of every text layer in every mode.

    Token files too. With DTCG files the skill skips the collecting: the audit, the role API, the build and CSS custom properties with themes.

    • Instances replace drawn buttons, badges and inputs. Chips, toggles, checkboxes and cards stay frames bound to the variables; making components of them is the team's next step.
    • A generated dark mode passes contrast by construction and is still a proposal: look at it on the real screens.
    • Contrast is checked on what renders and on the role names. A pair that appears only in a state nobody drew (hover, pressed) needs that state drawn first.
    • Photos, avatars and illustrations stay raw, each listed with the reason.
    • em letter spacing and custom cubic-bezier curves need conversion; the audit lists them.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 6 days ago

    Accounts
    Figma MCP
    Software
    Node.jsfetchesnpx@dsgraph/cli

    Permissions

    Terminal / Shell
    Read Files
    Write Files

    Allowed Hosts

    api.figma.com

    File Scopes

    inventory*.json
    plan.json
    tokens/
    figma/

    The Node scripts read the files you give them and write only the files above; they make no network requests. `npx` fetches `@dsgraph/cli` from npm the first time and runs it locally. The Figma scripts run in your file through `use_figma`: binding and the instance swap count everything in a dry run first, and the swap replaces each drawn control with an instance, so save a version in Figma's history before it

    Listed6 days ago

    What's inside

    Frequently Asked Questions

    The skill builds exactly that and keeps the layers inside it: the primitives sit in a hidden `primitives/` group with no scopes, the roles carry the modes, and `button/primary/bg` points at a role, so a brand colour still changes once.

    DTCG files go straight to the audit and the build. A build without token files is collected from its CSS (`css-inventory.mjs`) or from the running pages in a browser (`dom-inventory.js`), with its dark theme if it has one.

    It exports CSS when you ask and keeps the WEB code syntax in Figma equal to the CSS names. Changing component code is outside its scope.

    New in Branding & Design