From figma-cli
Controls Figma Desktop from the terminal to build and edit designs, manage design tokens, run accessibility audits, and extract design systems.
How this skill is triggered — by the user, by Claude, or both
Slash command
/figma-cli:figma-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
figma-cli controls **Figma Desktop** directly (no API key). It runs in any
figma-cli controls Figma Desktop directly (no API key). It runs in any
terminal. Open Figma Desktop, then figma-cli connect once per session.
If the figma-cli command is not found, the tool isn't installed yet — see
Installation at the bottom. Never show raw terminal commands to the user;
run them silently and give friendly feedback.
figma-cli connect — Yolo (default): patches Figma Desktop once, fully automatic.figma-cli connect --browser — Browser: drives Figma in a Chromium browser via
a local connection; never modifies the Figma app. Use when patching the desktop
app is undesirable (compliance / locked-down machine / no "App Management" permission).figma-cli connect --safe — Safe: official plugin (Plugins → Development → FigCli).render / render-batch — they have smart positioning.
NEVER use eval to create visual nodes (no positioning, bypasses guards).render-batch '[...]' or shadcn add <c> --count N.figma-cli verify "<id>" --measure (returns a
screenshot + real w/h so you catch size bugs by numbers, not by eye).var:name, never raw hex when a system is loaded:
<Frame bg="var:primary"><Text color="var:on-primary">Go</Text></Frame>render-batch ... --collection figma.figma-cli import tailwind.config.js | globals.css | tokens.json.figma-cli extract → DESIGN.md.flex="row|col" gap={16} p={24} px py pt pr pb pl justify="center|between" items="center"w={320} h={200} w="fill" w="hug" w="60%" (percent resolves vs parent)bg="#fff" stroke="#000" strokeWidth={2} rounded={12} shadow="..." opacity={0.8}<Text size={14} weight="semibold" color="#000" lineHeight={20} truncate maxLines={2} w="fill"><Icon name="lucide:home" size={20} color="var:primary" /><Frame w={1} bg="var:border" />) auto-fills the cross axis.For text to wrap, the parent AND every <Text> need w="fill", and the parent
needs flex="col" or flex="row".
Don't read the structure markdown by hand. Use:
figma-cli spec <Component> → authoritative variant axes + sample size (compact).
Build EXACTLY to those axes (e.g. Variant × Size = a Component Set, not one node).figma-cli spec <Component> --check <nodeId> → enforces it (exit 1 on mismatch:
wrong structure, missing axes, wrong height). Treat non-zero as "not done".figma-cli connect # connect to Figma Desktop (yolo)
figma-cli render '<Frame>...</Frame>' # one frame
figma-cli render-batch '[ "<Frame>", ... ]' --direction row
figma-cli shadcn add button --count 3 # N distinct shadcn primitives
figma-cli node to-component "<id>" # promote to a component
figma-cli verify "<id>" --measure # screenshot + dimensions
figma-cli a11y audit # contrast / touch / text checks
figma-cli tokens preset shadcn # 244 primitives + semantic (light/dark)
figma-cli var visualize # show colors on canvas
figma-cli motion preset <id> fade-up # animate (Figma Motion, beta)
figma-cli blocks create dashboard-01 # pre-built dashboard layout
figma-cli is a Node CLI (Node ≥ 18) that talks to Figma Desktop locally. If the
figma-cli binary is missing, get the project from
https://github.com/silships/figma-cli and run npm install in it, then invoke it
as node src/index.js <command> (or link it as figma-cli). Full command
reference and JSX docs live in that repo's README.md and REFERENCE.md.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub silships/figma-cli --plugin figma-cli